Report.Error イベント (アクセス)

エラー イベントは、レポートにフォーカスがあるときに Microsoft Access で実行時エラーが生成されたときに発生します。

構文

エラー (DataErr応答)

: Report オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
DataErr 必須 Integer エラー発生時に Err オブジェクトから返されるエラー コード。 DataErr 引数と Error 関数を使用して、対応するエラー メッセージに数値をマップします。
Response 必須 整数型 (Integer) エラー メッセージを表示するかどうかを設定します。 引数 Response には、次の組み込み定数のいずれかを使用します。
  • acDataErrContinue エラーを無視し、既定の Microsoft Access エラー メッセージを表示せずに処理を続行します。 既定のエラー メッセージの代わりにカスタム エラー メッセージを使用できます。
  • acDataErrDisplay (既定) 既定の Access エラー メッセージを表示します。

戻り値

なし

解説

これには、Access データベース エンジンのエラーが含まれますが、Visual Basic の実行時エラーや ADO からのエラーは含まれません。

このイベントが発生したときにマクロまたはイベント プロシージャを実行するには、 OnError プロパティをマクロの名前または [Event Procedure] に設定します。

エラー イベントの発生時にイベント プロシージャまたはマクロを実行することで、Access のエラー メッセージを傍受し、アプリケーションにとってより具体的な意味を伝えるカスタム メッセージを表示することができます。

次の使用例では、既定のエラー メッセージをカスタム エラー メッセージに置き換える方法を示します。 重複するキーが見つかったことを示すエラー メッセージ (エラー コード 3022) が Access によって返されると、このイベント プロシージャは、アプリケーション固有の詳細情報をユーザーに提供するメッセージを表示します。

次の使用例の実行結果を確認するには、各レコードで一意な社員コードをキーとするテーブルに基づくフォームに、次のイベント プロシージャを追加します。

Private Sub Form_Error(DataErr As Integer, Response As Integer) 
    Const conDuplicateKey = 3022 
    Dim strMsg As String 
 
    If DataErr = conDuplicateKey Then 
        Response = acDataErrContinue 
        strMsg = "Each employee record must have a unique " _ 
            & "employee ID number. Please recheck your data." 
        MsgBox strMsg 
    End If 
End Sub

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。