使用 AccessError 方法可以返回與 Microsoft Access 錯誤或 DAO 錯誤相關(guān)的說明性字符串。Variant 型。
expression.AccessError(ErrorNumber)
expression 必需。返回“應(yīng)用于”列表中的一個對象的表達(dá)式。
ErrorNumber 必需 Variant 型。希望返回說明性字符串的錯誤編號。
可以使用 AccessError 方法在 Microsoft Access 或 DAO 錯誤尚未發(fā)生時,返回與這些錯誤相關(guān)的說明性字符串。但該方法不能用于 ADO 錯誤。
使用 Visual Basic 的 Raise 方法可以引發(fā) Visual Basic 錯誤。引發(fā)錯誤后,通過讀取 Err 對象的 Description 屬性即可確定其相關(guān)說明性字符串。
不能使用 Raise 方法引發(fā) Microsoft Access 或 DAO 錯誤,但可以使用 AccessError 方法返回與這些錯誤相關(guān)的說明性字符串(無需實(shí)際生成這些錯誤)。
可以使用 AccessError 方法返回窗體 Error 事件中的說明性字符串。
如果已經(jīng)發(fā)生 Microsoft Access 錯誤,那么可以通過使用 AccessError 方法或 Visual Basic Err 對象的 Description 屬性返回說明性字符串。
下面的函數(shù)將對所有有效的錯誤編號返回一個錯誤字符串:
注釋 若要在 VBA IDE 中運(yùn)行該代碼,必須將錯誤捕獲選項設(shè)為“遇到未處理的錯誤時中斷”??梢栽?VBA“工具”菜單上“選項”對話框的“通用”選項卡中設(shè)置該選項。
Function ErrorString(ByVal lngError As Long) As String
Const conAppError = "Application-defined or " & _
"object-defined error"
On Error Resume Next
Err.Raise lngError
If Err.Description = conAppError Then
ErrorString = AccessError(lngError)
ElseIf Err.Description = vbNullString Then
MsgBox "No error string associated with this number."
Else
ErrorString = Err.Description
End If
End Function