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でこの処理を終わります。
以下のようになります。

これで、エラーが発生してもエラーは表示しますがプログラムは終わることなく続けることができます。
このエラー処理は、入れるようにした方がよいですね。
●「VBA」の関連ページです。
|
おすすめ教材
- 「アクセス(Access)のシステムを無料のSQL Server 2019 Expressへ移行してみよう」教材
あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2019 Expressバージョンです。)
- 「Accessや自社運用のSQL Server Expressをクラウドへ移行してみよう
(Microsoft Azure版)」教材
「SQL Server」を「クラウド」で使用したい!!
どこからでも「SQL Server」を使いたい
「SQL Server」のコストを安くしたい
「SQL Server」の管理が大変だ
すぐに「SQL Server」を使いたい
などとお考えの方は是非お読みください。
- 1週間でアクセス(Access)のシステム開発ができる~
「在庫管理システムをアクセスで作ってみよう」教材
「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?
- 『Excel/Accessで「QRコード」を活用しよう』教材
「Excel」や「Access」で「QRコード」を活用したい!
「QRコード」の「一括作成」や「宛名印刷」をおこないたい。
「納品書」や「出荷伝票」を「QRコード」で作成したい。
「QRコード」を「CSVファイル」で読みこみたい。
などとお考えの方は是非お読みください。
- 「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、 アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?
[マイクロソフトアクセス(Access)活用法(ホームへ)]
10:451505