When you compile your ADO project, you receive the following error:
Compile error: User-defined type not defined
This can occur on either a Connection or Command object.
You may have referenced one of the following libraries instead of the Microsoft ActiveX Data Objects (ADODB) type library:
Microsoft ActiveX Data Objects Recordset (ADOR) type library.
Microsoft ActiveX Data Objects (Multi-dimensional) (ADOMD) type library.
Remove the incorrect type library reference from your project, and add a reference to the correct type library.
This behavior is by design.
Steps to Reproduce Behavior
Create a new project and add a command button (Command1) to a form.
Add a reference to the Microsoft ActiveX Data Objects Recordset Library.
Add the following code to the form:
Private Sub Command1_Click()
Dim cn As ADODB.Connection
Run the project and click the command button. The error appears.
Remove the reference, and add a reference to the Microsoft ActiveX Data Objects Library.
Click the command button. The error does not appear.
Microsoft Access users will have to use ADODB.Connection to avoid confusion with the DAO Connection object.
If the Intellitype feature is turned on, you should notice that it does not show Connection as a valid object with the ADOR type library, but does with the ADODB type library. This is a good indication that you do not have the correct type library referenced.
This error can also occur when referencing objects in other type libraries that aren't referenced.