Access で "OnError/エラー時" マクロ アクションを使用すると、マクロでエラーが発生したときの動作を指定できます。
注: "OnError/エラー時" マクロ アクションは、Access Web アプリでは利用できません。
設定
"OnError/エラー時" マクロ アクションには次の引数があります。
アクションの引数 |
説明 |
||||||||
---|---|---|---|---|---|---|---|---|---|
Go to/移動先 |
エラー発生時に行われる一般的な動作を指定します。 ドロップダウン矢印をクリックし、次の設定のいずれかをクリックします。
|
||||||||
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 という名前のサブマクロに移動し、メッセージ ボックスにエラーの情報を表示します。