编译器错误:未定义用户定义的types

我在这一行上得到编译时错误“用户定义types未定义”:

Dim cn As ADODB.Connection 

什么可能是错的?

码:

 Sub test() Dim cn As ADODB.Connection 'Not the best way to get the name, just convenient for notes strFile = Workbooks(1).FullName strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" Set cn = CreateObject("ADODB.Connection") 'For this to work, you must create a DSN and use the name in place of 'DSNName 'strSQL = "INSERT INTO [ODBC;DSN=DSNName;].NameOfMySQLTable " & "Select AnyField As NameOfMySQLField FROM [Sheet1$];" strSQL = "SELECT F1 FROM [Sheet1$];" cn.Execute strSQL End Sub 

我忘了添加一个对“Microsoft ActiveX Data Objects 2.5 Library”的引用:

工具>参考>选中“Microsoft ActiveX Data Objects 2.5 Library”前面的checkbox

你可以使用后期绑定:

 Dim cn As Object 

会使问题消失。 当执行Set cn = CreateObject("ADODB.Connection")语句时,VBA将自动生成引用。

我试图添加Microsoft ActiveX数据对象2.5和2.8库,但它没有工作。 但是,当我试图创build像下面这样的新对象的工作。

 Set cn = CreateObject("ADODB.Connection")