【问题标题】:Can the "ODBC call failed" error message be trapped and presented as a friendlier error message?是否可以捕获“ODBC 调用失败”错误消息并将其显示为更友好的错误消息?
【发布时间】:2014-10-21 21:08:56
【问题描述】:

我有一个 MS Access 数据库,其中有一个通过 ODBC 指向 SQL Server 实例的链接表。如果我尝试插入违反外键约束的行,我会收到一条相当丑陋的错误消息:“ODBC--call failed”,其中包含更多技术细节。

我可以截取这个错误信息并向用户提供更友好的解释吗?

【问题讨论】:

    标签: ms-access error-handling


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2010-10-14
      • 1970-01-01
      • 1970-01-01
      • 2019-11-01
      • 2011-06-05
      • 2013-07-07
      • 2012-10-08
      • 2012-11-26
      • 2015-02-02
      相关资源
      最近更新 更多