Aqui está uma função rápida do VBA que deve fazer o que você quiser. Coloque-o em um novo módulo de código no banco de dados, ajuste-o conforme necessário e, em seguida, execute-o.
Obviamente, não posso garantir que isso seja totalmente seguro sem testá-lo em seu banco de dados, então faça um backup realmente bom antes de testar isso! E eu não fiz nenhum esforço para generalizar a função, apenas adapte-a aos requisitos fornecidos.
Observe que estou usando isso em um banco de dados de teste que tem apenas Table1
com os campos ID
e data
, ID
sendo o PK e data
sendo o campo de memorando que desejamos modificar. Você terá que fazer ajustes no código abaixo para considerar sua tabela local e nomes de campos (eu comentei estas linhas para você).
Function SearchReplace()
Dim db As DAO.Database, rs As DAO.Recordset, sSQL As String, sData As String
'Get the record set we wish to modify
Set db = CurrentDb
sSQL = "SELECT * FROM Table1" '[replace table name]
Set rs = db.OpenRecordset(sSQL)
'iterate through each record
While Not rs.EOF
'check for the matching sub string in the field "data"
sData = rs![Data] '[replace target field]
If InStr(1, sData, "~~") Then
'modify the data string, replacing "~~" with a line break
sData = Replace(sData, "~~", vbCrLf)
'escape any ' characters to avoid errors and/or injection
sData = Replace(sData, "'", "''")
'update the table with the modified string'
sSQL = "UPDATE Table1" & _ '[replace table name]
" SET data='" & sData & "'" & _ '[replace target field]
" WHERE [ID] = " & rs![ID] '[replace PK field]
db.Execute sSQL
End If
rs.MoveNext
Wend
'destroy record set to be tidy
rs.Close
Set rs = Nothing
End Function