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