我有以下内容并获得error in INSERT INTO statement
。我已经完成debug.print
并粘贴回SSMS,它工作正常,所以我真的很难过。语法看起来很好,但我知道有时从直接SQL到VBA SQL可能会很棘手。我感觉这是EXISTS
部分,我把它拿出来做了相应的编辑,但仍然得到了错误消息。任何建议?
sqlstr = "INSERT INTO [database.[dbo].[table]" & _
"(" & _
"User_name" & _
",Client_Id" & _
",Client_Name" & _
",UserAccess" & _
",UserId" & _
")" & _
"SELECT " & _
"User_name = '" & UserName & "'" & _
",Client_Id = " & Me.ClientList.ItemData(ClientID) & "" & _
",Client_Name = '" & Me.ClientList.Column(1, ClientID) & "'" & _
",UserAccess = 0" & _
",UserId = " & UserId & "" & _
" WHERE NOT EXISTS (SELECT 1 FROM [database].[dbo].[table] where UserID = " & UserId & " and Client_Id = " & Me.ClientList.ItemData(ClientID) & ")"
答案 0 :(得分:0)
访问SQL!= T-SQL。
您需要将此SQL字符串作为传递查询运行,然后与在SSMS中运行它相同。
或者将其翻译成Access SQL。
最多必须将表名更改为Access中链接表的名称(当然不是[database].[dbo].[table]
)
如果您需要有关选项2的更多帮助,请发布格式化结果Debug.Print sqlstr