VBAでのエラー処理


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
vol037

これならわかるマイクロソフトアクセス活用法
            -->VBAでのエラー処理
              
発行者:高内 章治 2007年10月18日
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
┏ 今日の内容 ━━━━━━━━━━━━━━━━━━━━━━━━┓

┃【01 - ご挨拶    】
┃【02 - トピックス  】VBAでのエラー処理

┃【03 - 編集後記    】

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

─────────────────────────────────
【01 - ご挨拶    】          
─────────────────────────────────

こんにちは、高内(こうない)です。

今回は、

「VBAでのエラー処理」

についてお話したいと思います。




─────────────────────────────────

【02 - トピックス】: 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でこの処理を終わります。

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

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

ウィザードを使っていろいろな処理を作る場合は、VBAの中では自動でこのエラー処理が作られます。

参考にしてください。



─────────────────────────────────
【03 - 編集後記    】       
─────────────────────────────────

先日、省エネや環境関係の展示会に行ってきました。

大手、中小、大学も含め多くの会社が展示していました。
見学している人も多くてびっくりしました。
「不都合な真実」の上映会もやっていました。

環境に関する意識が高いのですね


◆私がアクセスをマスターできたのは!!
http://www.sk-access.com/kyozai/zaiko1.html  

テーブル作成からVBAまでマスターできます。 
「在庫管理システムをアクセスで作ってみよう」教材です。
http://www.sk-access.com/kyozai/zaiko2.html  


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
●ご意見・ご感想・ご質問
 
『メルマガでもっとお役にたてる情報を配信したいと思いますので、日ごろから疑問に思っていることを教えてください。
宛先はこちらへです』

  •  kohnai★vega.ocn.ne.jp
      (高内:こうない:)
    (メールするときは、★を@に変えてください)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


◎「これならわかるマイクロソフトアクセス活用法」 のバックナンバー・配信停止はこちら

archive.mag2.com/0000222659/index.html

◎以下のホームページからでもバックナンバーを見ることができます。

http://www.sk-access.com/mailmaga/index.html

登録・解除につきましてはご自身でお願いいたします。

※このメールマガジンの転送はOKですが、掲載された記事の内容を許可無く転載することをを禁止させて頂きます。
必ず事前にご相談ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


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

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

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

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


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



[↑一番上へ]
[マイクロソフトアクセス活用法(メールマガジン)(ホームへ)]
12:410603

アクセス全体

VBA

SQL Server