编译器错误:未定义用户定义的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")