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

-----------------------------------

説明しやすいように番号をつけます。
  1. Private Sub 入庫画面_Click()
  2. .On Error GoTo Err_LABEL

  3. Dim stDocName As String

  4. . '-- フォームを開く
  5. stDocName = "F_入庫画面"
  6. DoCmd.OpenForm stDocName, , , stLinkCriteria

  7. Exit_LABEL:
  8. Exit Sub

  9. .Err_LABEL:
  10. MsgBox (Err.Number & "," & Err.Description)
  11. Resume Exit_LABEL
  12. 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でこの処理を終わります。

以下のようになります。





これで、エラーが発生してもエラーは表示しますがプログラムは終わることなく続けることができます。

このエラー処理は、入れるようにした方がよいですね。




1週間でアクセス(Access)のシステム開発ができる〜
「在庫管理システムをアクセスで作ってみよう」教材

「アクセスのプログラム/システムを短期間で開発したい方」、
「アクセスのフォーム/VBAを完全にマスターしたい方」のための
アクセス(Access)を使って1週間でシステム開発する究極の方法とは?

「アクセス(Access)のシステムを無料のSQL Server 2016 Expressへ
移行してみよう」教材

あなたの会社のアクセス(Access)のデータベースやシステムに不安を感じていませんか?
アクセスのデータ量が多くなり処理スピードが遅くなった。
アクセスのデータを共有したい。
セキュリティに不安がある。などと、感じている方は!!
(SQL Server 2016 Expressバージョンです。)


「アクセス(Access)プログラムの仕様書の作り方」教材
マイクロソフトアクセスを使用して、プログラムの作成/システム開発をおこないたい方の為に、
アクセス(Access)のプログラム開発に成功するために絶対に必要な「仕様書」とは?





[↑一番上へ]
[マイクロソフトアクセス活用法(ホームへ)]
09:332408

アクセスの構成