1
Мне нужна ваша помощь. Я хотел изменить один символ другим, но во всей базе данных, и у меня есть несколько таблиц и полей. Поэтому я строю функцию в VB, но ничего не меняю и у меня нет ошибки. Я думаю, что мое условие ложно, но я не вижу, как это исправить:/изменение символа во всех текстовых полях
Public Sub updateField()
Dim db As DAO.Database, td As DAO.TableDef, field As DAO.field
Dim rs As DAO.Recordset, sSQL As String, sData As String
Set db = CurrentDb
Change = "\"""
replaced = """"
'each table in db
For Each tbd In db.TableDefs
'each field in table
For Each fld In tbd.Fields
'check if String Data have my character
If InStr(1, fld.Name, Change) Then
sSQL = "UPDATE " & tbd.Name & " SET " & fld.Name & " = replace([" & fld.Name & "], " & Change & ", " & replaced & ")"
db.Execute sSQL
End If
Next
Next
End Sub
EDIT: я, наконец, найти то, что случилось. если некоторые люди заинтересованы:
Set db = CurrentDb
Change = "\"""
replaced = """"
'each table in db
For Each tbd In db.TableDefs
'each field in table
For Each fld In tbd.Fields
If Left(tbd.Name, 4) <> "MSys" And Left(tbd.Name, 4) <> "~TMP" Then
If fld.Type = dbText Or fld.Type = dbMemo Then
sSQL = "UPDATE " & tbd.Name & " SET " & fld.Name & " = replace([" & fld.Name & "],'" & Chr(92) + Chr(34) & "','" & Chr(34) & "')"
db.Execute sSQL
'Debug.Print (sSQL)
End If
End If
Next
Next
Thx за вашу помощь, ребята;)
Ick, старые объекты DAO. Я чувствую себя грязным, просто читая это. –
, так что вы хотите изменить имя полей в базе данных? или значения данных, хранящиеся в этих полях? Кажется, что ваша логика пытается заменить имена полей, а не значения. – xQbert
Да, я пытаюсь изменить значения в поле ^^, но я не знаю, как это сделать:/Thx – user2822320