您可以使用 ClearMacroError 巨集指令清除儲存在 MacroError 物件中的錯誤相關資訊。
附註: 在 Access Web 應用程式中無法使用 ClearMacroError 巨集指令。
設定
ClearMacroError 巨集指令沒有任何引數。
備註
-
巨集發生錯誤時,錯誤的相關資訊會儲存在 MacroError 物件中。 如果您尚未用 OnError 巨集指令隱藏錯誤訊息,則巨集會停用,並將錯誤資訊顯示在標準錯誤訊息中。 不過,如果您已使用 OnError 巨集指令隱藏錯誤訊息,則可能會想要在條件或自訂錯誤訊息中,使用儲存在 MacroError 物件中的資訊。
錯誤經過處理後,MacroError 物件中的資訊已過期, 因此建議您使用 ClearMacroError 巨集指令來清除該物件。 這樣會將 MacroError 物件中的錯誤號碼重設為 0,並將儲存在該物件中的錯誤描述、巨集名稱、條件及引數等其他錯誤相關訊息全部清除。 如此一來,您就可以稍後再檢查 MacroError 物件,看是否有發生其他錯誤。
-
任何巨集結束時都會自動清除 MacroError 物件, 因此在巨集結束時不需要使用 ClearMacroError 巨集指令。
-
MacroError 物件一次只會包含一項錯誤的相關資訊。 如果巨集發生了多項錯誤, MacroError 物件中只會包含最後一項錯誤的相關資訊。
-
若要在 VBA 模組中執行 ClearMacroError 巨集指令,請使用 DoCmd 物件的 ClearMacroError 方法。
範例
下列巨集會使用帶有 下一筆 引數的 OnError 巨集指令來隱藏錯誤訊息,然後使用 OpenForm 巨集指令開啟表單。 在此範例中,會刻意使用 GoToRecord 巨集指令跳至前一筆記錄以產生錯誤。 條件 [MacroError].[Number]<>0 會測試 MacroError 物件。 如果發生錯誤,則錯誤號碼就不是零,並執行 MsgBox 巨集指令。 訊息方塊會顯示導致錯誤的巨集指令名稱 (在本例中,是 GoToRecord 巨集指令),並顯示錯誤號碼。 最後,執行 ClearMacroError 巨集指令以清除 MacroError 物件。
條件 |
動作 |
引數 |
OnError |
跳至: 下一筆 |
|
OpenForm |
表單名稱: CategoryForm 檢視: 表單 視窗模式: 一般 |
|
GoToRecord |
物件類型: 表單 物件名稱: CategoryForm 記錄: 前一筆 |
|
[MacroError].[Number]<>0 |
MsgBox |
訊息: ="錯誤號碼" & [MacroError].[Number] & " 發生於 " & [MacroError].[ActionName] & " 巨集指令。" 嗶嗶聲: 是 類型: 資訊 |
ClearMacroError |