SQL文のチェックに便利なのが、イミディエイト ウィンドウです。上手く活用すると、SQL文の間違いを見つけやすくなります。
今回はイミディエイト ウィンドウを使った、SQL文のチェック方法をいくつか紹介します。
【1】Access で VBEを起動し、標準モジュールの test6 を表示します。
*VBEは「Altキー」+「F11キー」で起動できます。
【2】以下の図の位置で、ブレークポイントを設定して、dispData2()を実行します。
【3】プログラムを実行中に、変数 mySql にマウスを当てると、ポップアップで値が表示されますが、見難いですよね。
【4】そんな時は、イミディエイト ウィンドウを使うと便利です。
?mySql
イミディエイト ウィンドウでは、『プログラムの実行中』に変数の値を表示することもできるのです。特にSQL文が長くなってきた時に役立ちます。
【5】もっと簡単にするには、プログラムの中に書いてしまう方法があります。
Debug.Print mySql
【6】この方法だとレコードが表示される前に、必ずSQL文が表示されます。
【7】今度はわざと WHERE の前の半角スペースを無くしてみましょう。
【8】もちろんSQL文が間違っているので、エラーメッセージが表示されます。「終了」ボタンをクリックします。
【9】イミディエイト ウィンドウに表示されたSQL文を見ると、WHERE の前の半角スペースが無いことが確認できます。
今回はわざと間違いましたが、このようにイミディエイト ウィンドウでSQL文を確認することで、バグを見つけやすくなります。
【10】確認したら、SQL文を元に戻してください。
【11】SQL文の出力が不要な場合は、半角の「'」シングルクォーテーションを付けてコメントにしてください。
'Debug.Print mySql
【ワンポイント】
SQL文の表示は、実際にSQL文を実行する部分の前に書くことがコツです。後に書くとエラーが発生してプログラムが中断するため、SQL文を確認することができません。
したがってエラーが発生する前に、出力しておく必要があるのです。
当然ですがSQL文の知識がないと、間違いに気付くことができません。SQLについては Access SQL初心者入門講座 をご覧ください。