【发布时间】:2018-09-06 08:57:47
【问题描述】:
我有以下 VBA 代码,可用于 Teradata 的 select 语句。
Sub Item_Review()
Dim strsql As String
strsql = Worksheets("SQL").Range("b3")
With ActiveWorkbook.Connections("Item_Review").ODBCConnection
.BackgroundQuery = True
Debug.Print strsql
CommandText = SplitMeUp(strsql)
End With
ActiveWorkbook.Connections("Item_Review").Refresh
End Sub
但是,我尝试将 strsql 从 select 语句更改为 insert into 语句。当我运行 VBA 时,什么也没有发生。我点击了按钮,但没有收到任何更新通知,也没有收到错误通知。当我在 Teradata 中查看表时,我可以看到它尚未更新。有什么想法吗?
Sub Item_Add()
Dim strsql As String
strsql = "insert into Table_1 (Item_id, NOTE, date, Work_STATUS) values ('Item_1','Testing ','2014-01-01','Worked');"
With ActiveWorkbook.Connections("Item_Add").ODBCConnection
.BackgroundQuery = True
Debug.Print strsql
CommandText = SplitMeUp(strsql)
End With
ActiveWorkbook.Connections("Item_Add").Refresh
End Sub
【问题讨论】:
-
你在strsql中尝试过双引号而不是单引号吗?
-
如果我尝试双引号,我会在 VBA 编辑器中收到错误。
-
用两个单引号代替——同样的错误怎么样?
-
@Daniel Marcus 我尝试了两个单引号,但什么也没有。
-
@Portland RunnerThere 没有子具有
On Error Resume Next和ActiveConnection.Errors()也不返回任何东西