作成者

作成者
エスケーコンピューター・ワールド有限会社
〒871-0029
大分県中津市下宮永2丁目505-9
TEL :0979-22-0058
URL :http://www.sk-access.com
E-mail:[email protected]
作成者:高内 章治
作成日:2016/04/20
1. はじめに
アクセスでは、いろいろな処理を行うときには VBA を使ってプログラムを書きます。
しかし、プログラムがすぐに動くことは殆どありません。
入力ミスやプログラムミスが多く発生します。
どの行に問題があるのかを把握するのは、かなり大変です。
そのとき、実際にプログラムを1行1行順番に動かしてどの箇所に問題があるのか把握する必要があります。
そのやり方を説明します。
このやり方をマスターするだけで、VBA の作成が数倍も効率的になります。
VBA で挫折する人はエラーの修正(デバッグ)のところでつまずきます。
是非、マスターしてください。
「Access2016」で説明します。
冊子の教材の中でも「デバッグのやり方」を説明していますが、ここでは抜粋しています。
2. デバッグのやり方
VBA で「デバッグ」
(プログラムの修正)する場合は、VBA のプログラム上に「ブレークポイント」を設定します。
「ブレークポイント」とは、VBA のプログラムがストップする場所(行)のことです。
この「ブレークポイント」を設定すると「フォーム」を開いて「ボタン」などのコントール(クリックなどの処理)を動かすと、
この「ブレークポイント」で止まります。
そして、それ以降の VBA の行を1行ずつ実行することによりプログラムが正しく動いているのかを確認することができます。
●やり方を説明します。
①Visual Basic Editor で VBA のプログラムを表示します。
「データベースツール」タブの左にある「マクロ」グループの「Visual Basic」をクリックします。
もちろん、フォームの「ボタン」などの「コントロール」の「プロパティ」の「イベント」の処理(クリック時など)か
ら Visual Basic Editor を直接、表示させてもよいです。
②以下のようになります。
②
③これは、フォームが何も開かれていない場合です。
左のプロジェクトからデバッグしたいフォームを開き
ます。ダブルクリックします。
③
2
④以下のようになります。フォームが開きました。
⑤
④
⑤「表示」
「イミディエイトウィンドウ」をクリックしま
す。
「イミディエイトウィンドウ」では、プログラムが動
いている途中の状態のデータを見ることができます。
⑥
⑥画面の下に「イミディエイトウィンドウ」が表示され
ます。
⑤「メニューバー」の横の空白の場所で右クリックして「デバッグ」のツールバーを表示させます。
⑤
「デバッグ」は VBA を 1 行ずつ動かしたり止めたり
することができます。
⑤
⑥デバッグのツールバーを拡大しました。
⑥
⑦
⑧
⑨
⑩
⑪
よく使用するコマンドを説明します。コマンドの上にカーソルを持っていっても内容が表示されます。
⑦VBA を実行します。
ブレークポイントがないと最後まで実行します。
⑧中断
VBA を途中で中断する場合に使用します。
⑨リセット
VBA をストップします。
⑩ブレークポイントの設定や、解除することができます。
ブレークポイントの設定や、解除したい行にカーソルを持っていってボタンをクリックします。
行の左の欄クリックしても可能です。
⑪ステップイン
ブレークポイントを設定したあと、このボタンを押すとブレークポイント以降の VBA を1行ずつ実行してゆきます。
3
では、実際にやってみましょう。
⑫エラーが発生した VBA のコードの最初にブレークポイントを設定します。
チェックする項目の横をクリックしても「ブレークポイント」を設定することができます。茶色に行の色が変わります。
フォームに戻って、ボタンなどをクリックするとプログラムが動きこのブレークポイントで止まります。
⑬
⑬「デバッグ」の「ステップイン」をクリックしてプ
ログラムを1行ずつ動かします。
項目にマウスを持ってくると内容が表示されます。
例えば「Code」の上にマウスを持ってくると中に
格納されているデータを見ることができます。
⑫
⑭「イミディエイトウィンドウ」でも内容をチェック
することができます。
例えば、
「?Code」で Enter すると Code の中に格納
されているデータを見ることができます。
⑭
⑮実際にフォームを開いてブレークポイントを設定した処理を実行します。
「ボタン」などのクリックなどの処理です。
以下の場合は、入庫画面での「製品コード」を入力したときの重複のチェックです。
黄色の行で処理が止まっています。
エラーが発生するとそこで VBA の処理がおわります。
その場所(行)にエラーがあります。エラーを修正します。
VBA のコマンドを入力すると画面上にコマンドの内容が表示されます。
エラーの詳細や使用例を調べたい場合は、ヘルプを出して調べます。
⑯
⑯プログラムを止める場合は、
「■」
をクリックします。
⑰ブレークポイントを消す場合は、行の横の「●」を
クリックしてもできます。
このようにして VBA のプログラムのデバッグ(エラ
ーの修正)を行います。
⑮
⑰
4
⑱前の画面を拡大した例です。
⑲コードの上にマウスを持っていくと、
「ME!製品コード」の値がわかります。
もちろん、Code の上にマウスを持っていくと「Code」に何が格納されたのかわかります。
⑳画面の下のイミディエイトウィンドウでもわかります。
画面上で、項目の前に「?」をつけて「?CODE」と入力して ENTER キーを押します。
すると以下のように格納された値が表示されます。
⑱
⑲
⑳
プログラムの修正で気をつけることは
・可能であれば、VBA のコードは雛形をコピーして修正した方が、間違いが少ないです。
・
「ブレークポイント」と「ステップイン」でどの部分が間違っていたのか把握します。
・格納されている項目にエラーはないか?
画面上にマウスを当てるのとイミディエイトウィンドウを使用して把握します。
ADO などでの SQL 文などのチェックは便利です。
このやり方をマスターすれば、VBA は、ばっちりです。
頑張ってください。
以上
5