Access 2010 编译错误 User-defined type not defined

Kri*_*inn 3 ms-access vba

我将 2003 年的数据库转换为 2010 年,2003 年创建的 VBA 脚本在 2010 年不起作用。我收到消息,提示存在 Complie 错误 - 未定义用户定义的类型。我没有使用 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
Run Code Online (Sandbox Code Playgroud)

Fio*_*ala 5

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

Microsoft ActiveX Data Objects x.x Library
Run Code Online (Sandbox Code Playgroud)

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