3

我将 2003 年的数据库转换为 2010 年,而 2003 年创建的 VBA 脚本在 2010 年不起作用。我收到消息说存在编译错误 - 未定义用户定义类型。我没有使用 VBA 脚本编写的经验,也没有创建脚本,但了解它在数据库中完成的操作。它突出显示的具体项目是 DIM adoConn As New ADODB.Connection。

我将脚本包括在内,任何帮助都将是有益的,因为执行的操作对我们的工作流程来说是一笔巨大的财富。

Private Sub Error_code_exit(Cancel As Integer)

    On Error GoTo Error_code_exit

    Dim strSQLErrorCode As String
    Dim adoConn As New ADODB.Connection
    Dim adoRSErrorCode As New ADODB.Recordset

    Set adoConn = CurrentProject.Connection

    strSQLErrorCode = "SELECT [Error Matrix1].[Error Code], [Error Matrix1].CTC FROM [Error Matrix1];"

    adoRSErrorCode.Open strSQLErrorCode, adoConn, adOpenKeyset, adLockOptimistic

    If Not adoRSErrorCode.EOF Then

        Do

            If adoRSErrorCode.Fields("Error Code") = Me.Error_Code.Value Then
                If IsNull(adoRSErrorCode.Fields("CTC")) Then
                    Me.chkAgree = True
                    Exit Do
                End If
            End If

            adoRSErrorCode.MoveNext

        Loop Until adoRSErrorCode.EOF

    End If

    adoRSErrorCode.Close
    adoConn.Close

Exit_code_exit:
    Exit Sub

Error_code_exit:

    MsgBox Err.Description
    Resume Exit_code_exit


End Sub
4

1 回答 1

5

您需要设置对 ADODB 库的引用。这是 :

Microsoft ActiveX Data Objects x.x Library

在代码窗口中,选择 Tools->References 并向下滚动到您需要的引用,然后勾选它。如果您使用 DAO 记录集并且它们未明确定义为,您的代码可能会遇到另一个问题DAO.Recordset

于 2012-08-09T18:41:42.540 回答