"OnError/エラー時" マクロ アクション

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Access で "OnError/エラー時" マクロ アクションを使用すると、マクロでエラーが発生したときの動作を指定できます。

注

"OnError/エラー時" マクロ アクションは、Access Web アプリでは利用できません。

設定

"OnError/エラー時" マクロ アクションには次の引数があります。

アクションの引数 説明
Go to/移動先 エラー発生時に行われる一般的な動作を指定します。 ドロップダウン矢印をクリックし、次の設定のいずれかをクリックします。

次へ: Access はエラーの詳細を MacroError オブジェクトに記録しますが、マクロは停止しません。 マクロは次のアクションを続行します。

マクロ名: Access では、現在のマクロが停止し、[ マクロ名 ] 引数で指定されたマクロが実行されます。

失敗: 現在のマクロが停止し、エラー メッセージが表示されます。
Macro Name/マクロ名 "Go to/移動先" 引数が "マクロ名" に設定されている場合は、エラー処理に使用されるサブマクロの名前を入力します。 入力する名前は、現在のマクロのサブマクロ名と同じにする必要があります (異なるマクロ オブジェクトの名前を入力することはできません)。 次の例では、ErrorHandler サブマクロが "OnError/エラー時" マクロ アクションと同じマクロ オブジェクトに含まれています。
"Go to/移動先" 引数が "次へ" または "失敗" に設定されている場合は、この引数を指定しないでください。

解説

  • 通常、"OnError/エラー時" マクロ アクションはマクロの先頭に配置されますが、先頭以降に配置することも可能です。 このアクションにより設定されるルールは、アクションが実行されるたびに適用されます。
  • "Go to/移動先" 引数を "失敗" に設定すると、Access はマクロ内に "OnError/エラー時" アクションがない場合と同じように動作します。 つまり、エラーが発生すると、Access はマクロの実行を停止し、標準的なエラー メッセージを表示します。 "失敗" 設定の主な用途は、マクロでそれ以前に設定されているエラー処理を解除することです。

使用例

次のマクロは、"OnError/エラー時" マクロ アクションの使用例を示しています。 この例では、"OnError/エラー時" アクションにより、エラーが発生したら ErrorHandler というカスタム エラー処理サブマクロを実行するように設定されています。 それ以降のアクションでエラーが発生すると、Access は ErrorHandler サブマクロに移動します。 ErrorHandler サブマクロにより、MacroError オブジェクトを参照してエラーに関する情報を表示するメッセージ ボックスが表示されます。

サブマクロ名 操作 引数
OnError/エラー時 "Go to/移動先":[Macro Name/マクロ名]
"Macro Name/マクロ名":ErrorHandler
[アクション 2]
...
[アクション n]
ErrorHandler MessageBox/メッセージ ボックス メッセージ: ="エラー # " & [MacroError].[Number] & " (" & [MacroError].[ActionName] & " アクション)"
警告音: はい
種類:なし
"Title/タイトル":[Error occurred/エラーが発生しました]

前の例を含む Access マクロ デザイナーのスクリーンショットを次に示します。 この場合、SetLocalVar アクションに指定した式により、エラーがトリガーされます (数値をゼロで除算しようとしているため)。 Access は ErrorHandler という名前のサブマクロに移動し、メッセージ ボックスにエラーの情報を表示します。