Error 事件

此頁沒有內容條目
內容

expandtri全部顯示

Error 事件在窗體報表擁有焦點,同時在 Microsoft Access 中產生了一個運行時錯誤時發(fā)生。

Private Sub object_Error(DataErr As Integer, Response As Integer)

Object    窗體或報表的名稱。

DataErr    發(fā)生錯誤時由 Err 對象返回的錯誤代碼??梢栽?Error 函數(shù)中使用 DataErr 參數(shù),將該編號映射到相映的錯誤消息。

Response    該設置確定是否顯示錯誤消息。Response 參數(shù)可以是以下固有常量之一。

常量說明

acDataErrContinue 忽略錯誤并繼續(xù),不顯示默認的 Microsoft Access 錯誤消息。您可以提供自定義錯誤消息來替代默認的錯誤消息。

acDataErrDisplay(默認值)顯示默認的 Microsoft Access 錯誤消息。

說明

這包括 Microsoft Jet 數(shù)據(jù)庫引擎錯誤,但不包括 Visual Basic 中的運行時錯誤或來自 ADO 的錯誤。

如果要在此事件發(fā)生時執(zhí)行一個事件過程,請將 OnError 屬性設置為宏的名稱或 [事件過程]。

在 Error 事件發(fā)生時,通過執(zhí)行事件過程或宏,可以截取 Microsoft Access 錯誤消息而顯示自定義消息,這樣可以根據(jù)應用程序傳遞更為具體的信息。

示例

下面的示例指出了如何用自定義錯誤消息替代默認的錯誤消息。當 Microsoft Access 返回錯誤消息,指出它已找到重復鍵(錯誤代碼 3022)時,此事件過程會顯示一條消息,向用戶提供更具體的特定于應用程序的信息。

若要試用該示例,請將下面的事件過程添加到基于表(該表將唯一的雇員 ID 編號作為每條記錄的鍵)的窗體中。

Private Sub Form_Error(DataErr As Integer, Response As Integer)

    Const conDuplicateKey = 3022

    Dim strMsg As String

    If DataErr = conDuplicateKey Then

        Response = acDataErrContinue

        strMsg = "Each employee record must have a unique " _

            & "employee ID number. Please recheck your data."

        MsgBox strMsg

    End If

End Sub