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

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

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

設定

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

アクションの引数

説明

Go to/移動先

エラー発生時に行われる一般的な動作を指定します。ドロップダウン矢印をクリックし、次の設定のいずれかをクリックします。

設定

説明

次へ

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

マクロ名

現在のマクロを停止し、"Macro Name/マクロ名" 引数で指定されているマクロを実行します。

失敗

現在のマクロを停止し、エラー メッセージを表示します。

Macro Name/マクロ名

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

"Go to/移動先" 引数が "次へ" または "失敗" に設定されている場合は、この引数を指定しないでください。

注: Access 2010 でマクロ デザイン ウィンドウが変更されました。Access 2007 を使用している場合、エラー処理に使用するマクロの名前は、現在のマクロの "Macro Name/マクロ名" 列の名前と同じである必要があります。

解説

  • 通常、"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 マクロ デザイナー (Access Version 2010 以降) のスクリーンショットを示します。この場合、SetLocalVar アクションに指定した式により、エラーがトリガーされます (数値をゼロで除算しようとしているため)。Access は ErrorHandler という名前のサブマクロに移動し、メッセージ ボックスにエラーの情報を表示します。

"OnError/エラー時" マクロ アクションを表示している Access マクロ デザイン領域。

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×