2017-02-15 139 views
0

我有以下內容並獲得error in INSERT INTO statement。我已經做了debug.print並粘貼回SSMS,它工作得很好,所以我真的很難過。語法對我來說看起來很好,但我知道有時從直接的SQL到VBA SQL可能會很棘手。我有一種感覺,那就是EXISTS部分,然後我拿出來做了適當的編輯,但仍然收到錯誤消息。任何建議?INSERT INTO語句錯誤

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

訪問SQL!= T-SQL。

您或者需要運行此SQL字符串作爲傳遞查詢,那麼它與在SSMS中運行它相同。

或將其轉換爲Access SQL。

在很大部分必須更改表名到鏈接表在Access的名字(這當然不是[database].[dbo].[table]

如果您需要選擇2更多的幫助,請張貼的格式化結果Debug.Print sqlstr