こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

VBAのSQLで引用符が閉じていませんのエラーが

VBAでSQLのInsert文で'' の後で引用符が閉じていません。
と言うエラーが発生するのですが、そのエラーがでるSQL文を
そのまま Microsoft SQL Server Managemnet Studio で実行すると
エラーは出ずに正常に実行されます。
Insert文で''で書込む文字は1文字以上の文字列なので、引用符が
隣接しているわけではありませんので、何故エラーになるかわかりません。

どなたかご存知の方ご教授願います。

投稿日時 - 2013-10-15 16:00:47

QNo.8306741

困ってます

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

-広告-
-広告-

回答(2)

ANo.2

>VBAでSQLのInsert文で'' の後で引用符が閉じていません。
>と言うエラーが発生するのですが、そのエラーがでるSQL文を
>そのまま Microsoft SQL Server Managemnet Studio で実行すると
>エラーは出ずに正常に実行されます。

VBAで「"」を含む文字列を書く場合は、「"」は「""」にしないといけません。

そのまま Microsoft SQL Server Managemnet Studio で実行するとエラーが出ない、と言う事は、VBAで書く時に「"」を「""」に書き換えるのを忘れている、と言う事です。

例えば

DELETE * FROM 入力テーブル WHERE 要削除="Y"

と言うクエリをVBAで実行するには、「"」を「""」に書き換えて

DoCmd.RunSQL "DELETE * FROM 入力テーブル WHERE 要削除=""Y"""

と書かないといけません。

これを忘れて

DoCmd.RunSQL "DELETE * FROM 入力テーブル WHERE 要削除="Y""

と書くと「"の後で引用符が閉じていません。」のVBAエラーが出ます。

投稿日時 - 2013-10-16 13:17:34

ANo.1

記述が間違っているから、エラーになっています。

どこが間違っているのかは、情報が無いので、指摘できません。
情報を出しましょう。

投稿日時 - 2013-10-15 22:39:57

-広告-
-広告-
-広告-
-広告-