即効テクニック

エラー処理・入力チェック

エラー番号を取得する

(Access 2000/2002)
実行時エラーが発生した場合、そのエラーの内容によってその後の処理を分岐する、ないしはエラー番号を知らせるといった時は、ErrオブジェクトのNumberプロパティを使います。サンプルプロシージャでは、0除算を行うため、エラーが発生します。
Sub Sample()
    Dim i As Integer
    
    On Error GoTo Err_Msg
    
    i = 1 / 0

    Exit Sub

Err_Msg:
    MsgBox "エラーが発生しました エラー番号=" & Err.Number
End Sub
メッセージボックスには、「エラーが発生しました エラー番号=11」と表示されます。知
エラー番号とその内容を一部紹介します。詳しくは、ヘルプの「On Errorステートメント」の関連項目「トラップできるエラー」を参照してください。

番号 メッセージ

3   Return に対応する GoSub がありません。
5   プロシージャの呼び出し、または引数が不正です。
6   オーバーフローしました。
7   メモリが足りません。
9   インデックスが有効範囲にありません。
10  この配列は固定されているか、または一時的にロックされています。
11  0で除算しました。
13  型が一致しません。
14  文字列領域が不足しています。
16  式が複雑すぎます。
17  要求された操作は実行できません。
18  ユーザーによる割り込みが発生しました。
20  エラーが発生していないときにResumeを実行することはできません。