PRB: ADO: Compile Error: User-Defined Type Not Defined (184609)



The information in this article applies to:

  • Microsoft Visual Basic Enterprise Edition for Windows 5.0
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
  • ActiveX Data Objects (ADO) 2.0
  • ActiveX Data Objects (ADO) 2.1 SP2
  • ActiveX Data Objects (ADO) 2.5
  • ActiveX Data Objects (ADO) 2.6
  • ActiveX Data Objects (ADO) 2.7

This article was previously published under Q184609

SYMPTOMS

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.

CAUSE

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.

    -or-
  • Microsoft ActiveX Data Objects (Multi-dimensional) (ADOMD) type library.

RESOLUTION

Remove the incorrect type library reference from your project, and add a reference to the correct type library.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Create a new project and add a command button (Command1) to a form.
  2. Add a reference to the Microsoft ActiveX Data Objects Recordset Library.
  3. Add the following code to the form:
       Private Sub Command1_Click()
       Dim cn As ADODB.Connection
       End Sub
    					
  4. Run the project and click the command button. The error appears.
  5. Remove the reference, and add a reference to the Microsoft ActiveX Data Objects Library.
  6. Click the command button. The error does not appear.
NOTE:
  • 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.

Modification Type:MajorLast Reviewed:8/23/2001
Keywords:kbDSupport kbprb KB184609