2012-08-09 108 views
1

我将2003数据库转换为2010,并且2003年创建的VBA脚本在2010年无法使用。我收到消息:Complie错误 - 未定义用户定义类型。我没有使用VBA脚本的经验,我没有创建脚本,但了解它正在数据库中完成的操作。它突出显示的特定项目是DIM adoConn As New ADODB.Connection。访问2010编译错误用户定义类型未定义

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

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 
+0

可能出现['User Defined Type Not Defined'错误]的重复(http://stackoverflow.com/questions/24261557/) user-defined-type-not-defined-error) – 2016-12-29 08:37:38

+0

[编译器错误:用户定义类型未定义]的可能重复(https://stackoverflow.com/questions/5349580/compiler-error-user-defined-types-没有定义的) – niton 2017-10-31 10:10:30

回答

4

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

Microsoft ActiveX Data Objects x.x Library 

在代码窗口中,选择工具 - >参考,然后向下滚动到您需要的参考,然后选中它。如果您使用DAO记录集并且它们没有明确定义为DAO.Recordset