Я использую следующий код для добавления строки данных в таблицу SQL. Этот код отлично работает, когда я пытаюсь добавить данные в таблицу без точки в ее имени. В этом случае имя таблицы "Table2.0". У меня нет прав на изменение имени таблицы et c. Я использовал квадратные скобки, но все равно получаю
недопустимое имя объекта
в строке .Update
. Идея состоит в том, чтобы обновить значения, если данные field1 («1234») существуют, или добавить новую строку. Что мне здесь не хватает?
Public Sub ExportinfotoSQL
Dim cn As Object
Dim Rs As Object
Dim N As Long
Dim CheckStrQuery As String
Set cn = CreateObject("ADODB.Connection")
cn.Open "Provider=sqloledb;" & _
"Data Source=Server1;" & _
"Initial Catalog=DB1;" & _
"User ID=PowerUser;Password=1234"
CheckStrQuery = "dbo.[Table2.0] where Field1 = '1234'"
Set Rs = CreateObject("ADODB.Recordset")
With Rs
.Open CheckStrQuery, cn, 1, 3
If Rs.RecordCount = 1 Then
.Fields("Field2").Value = "Null"
.Fields("Field3").Value = "Null"
.Update
.Close
Else
.AddNew
.Fields("Field1").Value = "Null"
.Fields("Field2").Value = "Null"
.Fields("Field3").Value = "Null"
.Update
.Close
End If
End With
cn.Close
Set Rs = Nothing
Set cn = Nothing
End Sub