OnError 巨集指令

套用到
Microsoft 365 Access Access 2024 Access 2021 Access 2019 Access 2016

使用 Access 中的 OnError 巨集指令來指定當巨集中發生錯誤時應採取的動作。

注意

OnError 巨集指令無法在 Access Web 應用程式中使用。

設定

OnError 巨集指令具有下列引數。

巨集指令引數 描述
前往 指定發生錯誤時應該發生的一般行為。 按一下下拉式箭頭,然後按一下以下其中一個設定:

接下來: 存取會將錯誤細節記錄在 巨集 錯誤物件中,但不會停止巨集。 巨集會繼續執行下一個巨集指令。

巨集名稱: Access 會停止目前的巨集,並執行巨 集名稱 參數中命名的巨集。

失敗: 存取會停止目前的巨集並顯示錯誤訊息。
巨集名稱 如果 [移至] 引數設定為 [巨集名稱],請輸入要用於錯誤處理的子巨集名稱。 您輸入的名稱必須與目前巨集中的子巨集名稱相符;您無法輸入不同巨集物件的名稱。 在下列範例中,ErrorHandler 子巨集包含在與 OnError 巨集指令相同的巨集物件中。
如果 [移至] 引數設為 [下一個] 或 [失敗],則此引數必須保留空白。

註解

  • OnError 巨集指令通常會放在巨集的開頭,但您也可以將其放在巨集中的稍後。 巨集指令所建立的規則將在巨集指令執行時生效。
  • 如果您將 [移至] 引數設為 [失敗],Access 的行為會與巨集中沒有任何 OnError 巨集指令時的行為相同。 也就是說,如果發生錯誤,Access 會停止巨集並顯示標準錯誤訊息。 [失敗] 設定的主要用途是用來關閉您先前在巨集中建立的任何錯誤處理。

範例

下列巨集示範使用 OnError 巨集指令。 在此範例中,OnError 指令會指定 Access 在發生錯誤時,執行名為 ErrorHandler 的自訂錯誤處理子巨集。 如果有任何後續指令發生錯誤,Access 便會跳至 ErrorHandler 子巨集。 ErrorHandler 子巨集會顯示一個會參照 MacroError 物件以顯示錯誤相關訊息的訊息方塊。

子巨集名稱 [動作] 引數
OnError 移至巨集名稱
巨集名稱:ErrorHandler
[巨集指令 2]
...
[巨集指令 n]
ErrorHandler MessageBox 訊息: ="錯誤號碼" & [MacroError].[Number] & " 發生於 " & [MacroError].[ActionName] & " 巨集指令。"
BeepYes
TypeNone
標題發生錯誤

以下是具有前述範例的 Access 巨集設計工具的螢幕擷取畫面。 在這個情況中,SetLocalVar 指令中的運算式會因為嘗試將數字除以零而觸發錯誤。 Access 會向下移至名為 ErrorHandler 的子巨集,並在訊息方塊中顯示錯誤訊息。

顯示 OnError 巨集指令的 Access 巨集設計界面。