デバッグ & エラー処理

このページの学習用には、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プロパティを参照すると、エラーの内容を調べることができます。

《サンプル》

次の例では、数値を入力する場所で文字列など入力すると、型違いとしてエラーになります。