我有一个MS Access数据库,其链接表指向ODBC上的SQL Server实例。如果我尝试插入违反外键约束的行,我会收到一条相当丑陋的错误消息:" ODBC - 调用失败"进一步的技术细节。
我可以拦截此错误消息并向用户提供更友好的解释吗?
答案 0 :(得分:1)
您可以将错误处理放在表单级别,如下所示:
Private Sub Form_Error(DataErr As Integer, Response As Integer)
Const conDuplicateKey = 3146
Dim strErrMsg As String
Select Case DataErr
Case conDuplicateKey:
strErrMsg = "Record already exists in the database!"
' TODO: add other error codes
Case Else
Response = acDataErrDisplay
End Select
If strErrMsg <> vbNullString Then
MsgBox strErrMsg, vbCritical, Me.Caption
ActiveControl.Undo
Response = acDataErrContinue
End If
End Sub