次の方法で共有


Report.Error イベント (Access)

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

構文

エラー (DataErr応答)

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

パラメーター

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

戻り値

なし

解説

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

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

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

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

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

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 のサポートおよびフィードバックを参照してください。