2017-02-15 23 views
0

私は以下を持っており、error in INSERT INTO statementを取得しています。 debug.printを実行してSSMSに貼り付けてしまったので、うまく動作して本当に困惑しています。構文は私にとってはうまく見えますが、時にはストレートSQLからVBA SQLに移行するのが難しい場合があります。私はそれがEXISTSセクションであると感じていました。私はそれを取り出し、適切な編集を行いましたが、まだエラーメッセージを受け取りました。どんなsuggetions?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

Access SQL!= T-SQL。

このSQL文字列をパススルークエリとして実行する必要があります。それはSSMSで実行するのと同じです。

またはAccess SQLに変換します。あなたはオプション2とのより多くの助けが必要な場合は(確かに[database].[dbo].[table]されていません)

は、のフォーマットされた結果を投稿してくださいあなたはAccessでリンクテーブルの名前にテーブル名を変更する必要があります非常に多くて

Debug.Print sqlstr

関連する問題