您可以在 Access 中使用 OnError 宏指令來指定當宏發生錯誤時應發生的情況。
附註: 在 Access Web App 中無法使用 OnError 宏指令。
設定
OnError 宏指令具有下列自變數。
巨集指令引數 |
描述 |
||||||||
前往 |
指定發生錯誤時應發生的一般行為。 按下拉式箭號,然後按下列其中一個設定:
|
||||||||
宏名稱 |
如果 Go to 自變數設定為 宏名稱,請輸入要用於錯誤處理的子宏名稱。 您輸入的名稱必須符合目前宏中的子宏名稱;您無法輸入其他宏物件的名稱。 在下面的範例中,ErrorHandler 子宏與 OnError 宏指令包含在同一個宏物件中。 如果 [ 移至 ] 自變數設為 [ 下一步 ] 或 [ 失敗],則此自變數必須留白。 |
註解
-
OnError 宏指令通常位於宏的開頭,但您也可以稍後在宏中放置宏指令。 動作所建立的規則會在執行動作時生效。
-
如果您將 [移至] 自變數設為 [失敗],Access 的行為方式與宏中沒有 OnError 宏指令時的行為相同。 也就是說,如果發生錯誤,Access 會停止宏並顯示標準錯誤訊息。 [ 失敗 ] 設定的主要用途是關閉您先前在宏中建立的任何錯誤處理。
範例
下列宏示範使用 OnError 宏指令。 在此範例中,OnError 指令會指定 Access 在發生錯誤時,執行名為 ErrorHandler 的自訂錯誤處理子巨集。 如果有任何後續指令發生錯誤,Access 便會跳至 ErrorHandler 子巨集。 ErrorHandler 子巨集會顯示一個會參照 MacroError 物件以顯示錯誤相關訊息的訊息方塊。
Submacro 名稱 |
動作 |
引數 |
OnError |
移至: 宏名稱 宏名稱:ErrorHandler |
|
[動作 2] |
||
... |
||
[動作 n] |
||
ErrorHandler |
[訊息箱] |
訊息: ="錯誤號碼" & [MacroError].[Number] & " 發生於 " & [MacroError].[ActionName] & " 巨集指令。" Beep:Yes Type:None 標題: 發生錯誤 |
以下是具有前述範例的 Access 巨集設計工具 (Access 2010 版及較新版本) 的螢幕擷取畫面。 在這個情況中,SetLocalVar 指令中的運算式會因為嘗試將數字除以零而觸發錯誤。 Access 會向下移至名為 ErrorHandler 的子巨集,並在訊息方塊中顯示錯誤訊息。