VBAでのエラー処理
■VBAでのエラー処理です。
フォームでのいろいろな処理をVBAのコードを使って、書いていく時、間違っていると、エラーが発生します。
「Microsoft Visual Basic」のタイトルでメッセージボックスが表示されます。
実行時エラー xxxx と内容が表示されて下に「継続」「終了」「デバッグ」「ヘルプ」のボタンが
表示されます。
以下のような画面です。

プログラムを使用しているユーザーの人はびっくりしますね。
どれをクリックしてよいかわかりません。
「終了」ボタンをクリックすると処理が終わります。
「デバッグ」ボタンをクリックすると大変ですね。
エラーのあったVBAのコードの個所へカーソルが移動します。
ユーザーの人はどうしたらよいかわかりませんね。
プログラムを組む人はかならず、エラー処理を入れておいた方がよいです。
全部の処理についてです。
全部の処理とは、
ボタンの「クリック時」、データの「更新前処理」「更新後処理」などの処理の全部についてです。
エラー処理のコード理は、全部共通でよいです。
例をあげて説明します。
ボタンのクリック時にいれている処理です。
---------------------------------------
Private Sub 入庫画面_Click()
On Error GoTo Err_LABEL
Dim stDocName As String
'-- フォームを開く
stDocName = "F_入庫画面"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_LABEL:
Exit Sub
Err_LABEL:
MsgBox (Err.Number & "," & Err.Description)
Resume Exit_LABEL
End Sub
-----------------------------------
説明しやすいように番号をつけます。
- Private Sub 入庫画面_Click()
- .On Error GoTo Err_LABEL
- Dim stDocName As String
- . '-- フォームを開く
- stDocName = "F_入庫画面"
- DoCmd.OpenForm stDocName, , , stLinkCriteria
- Exit_LABEL:
- Exit Sub
- .Err_LABEL:
- MsgBox (Err.Number & "," & Err.Description)
- Resume Exit_LABEL
- End Sub
---------------------------------
■処理の説明です。
入庫画面をクリックしたときの処理です。
簡単な処理です。
F_入庫画面というフォームを開いています。
どのようになるのか説明します。
エラーが発生しないと3から6までの処理をおこなって
「12」に行っておわります。
エラーが発生すると
「2」の処理がおこなわれます。
エラーが出たらErr_LABELへ行けということです。
Err_LABELの名前は何でもよいです。
「9」のErr_LABELへ行きます。
「10」でエラー番号とエラーの内容を表示します。
「11」に行って次にExit_LABELへ行きます。
Exit_LABELの名前は何でもよいです。
「7」のExit_LABELへ行きます。
「8」のExit Subでこの処理を終わります。
以下のようになります。

これで、エラーが発生してもエラーは表示しますがプログラムは終わることなく続けることができます。
このエラー処理は、入れるようにした方がよいですね。
●「Access(アクセス)のVBA」の関連ページです。
|
[マイクロソフトアクセス(Access)活用法(ホームへ)]
09:582302