デバッグ & エラー処理
このページの学習用には、Access2002 と、「顧客管理1.mdb」(ダウンロードページにあります)を使っております。
ブレークポイントを使う
ブレークポイントを使うと、プログラムの実行を中断することができます。中断した箇所から1行ずつコードを実行したり、変数の値を確認することができます。
ブレークポイントは、プログラムの実行が自動的に中断されるように、コード内の特定の行に設定します。プログラムの実行は、ブレークポイントが設定された行に到達すると、自動的に中断モードに切り替わります。
ブレークポイントを設定するには、ブレークポイントを設定する行にカーソルを移動し、「デバッグ」→「ブレークポイントの設定/解除」をクリックします。(行の余白インジケーターバーをクリックしても設定できる)
※変数の宣言文、ラベル、コメント行 には、ブレークポイントを設定できません。
ローカルウィンドウを使う
ローカルウィンドウは、プロシージャ内で使われている変数の値を表示するウィンドウです。VBEの「表示」メニューから「ローカルウィンドウ」を選択します。
ブレークポイントを設定してプロシージャを事項すると、プロシージャ内で使われているすべての変数の値をローカルウィンドウでは確認できます。
On Error Goto を使ったエラー処理
Access2002VBAには、実行時にエラーが発生したときに実行を中断させないで処理を続行するための、対処のステートメントが用意されています。その中で、On Error Gotoステートメントは、エラー発生時にコード上の目印に移動するステートメントです。この目印を ラベルといいます。
《書式》
On Error Goto ラベル
《サンプル》
On Error GoTo ステートメントと、Exitステートメントを組みあわせると、エラー発生時のみ実行する処理を記述することができます。次の例は、マクロをVBAに変換するときに追加されるエラー処理です。
On Error Resume Nextステートメントを使ったエラー処理
On Error Resume Nextステートメントは、実行時エラーが発生した場合、エラーが発生した処理を無視して次の処理を実行し、処理を継続します。実行時エラーが処理に影響しない場合などに使います。
エラーにはすべて番号があります。ErrオブジェクトのNumberプロパティを参照すると、エラーの番号を調べることができます。
Descriptionプロパティを参照すると、エラーの内容を調べることができます。
《サンプル》
次の例では、数値を入力する場所で文字列など入力すると、型違いとしてエラーになります。