Question

Q: Compile error - user defined type not defined, on Dim dbs as Database

I have a database which has started showing a compile error on the standard Microsoft switchboard - user defined type not defined, on line Dim dbs as Database. All other databases still run OK. Help with this would be appreciated thanks.  Ian

Answer

A:

Make sure the Data Access Objects library (DAO) is checked in the Tools - References list in the VBA Editor's menu/ribbon.  (The specific name of the library can be different in different versions of Access)

 

Also look at the ActiveX Data Objects library (ADO) in the list and if you do not have a good reason for using it, uncheck it so it doesn't weigh your app down with unused stuff.  If you do have a good reason for using both libraries, then you should declare objects that exist in both libraries with their library name:

   Dim rs As DAO.recordset

or

   Dim rs As ADODB.Recordset

depending on which one you are using in in a procedure.

 

The Database object only exists in the DAO library, so it is not absolutely necessary to qualify it in declarations, but it's a good idea if for no other reason than as a reminder of which library it is in.

Did this solve your problem?

Sorry this didn't help.

18 people were helped by this reply

Answer

A:

Try....

Dim dbs as DAO.Database

 

Also, you'll want to check your References...

http://www.access-diva.com/d5.html

...as there might be one that is marked *MISSING*.

Gina Whipp
Microsoft MVP (Access 2010-2015)
http://www.access-diva.com/tips.html

Did this solve your problem?

Sorry this didn't help.

13 people were helped by this reply



 
Question Info

Views: 25,648 Last updated: June 14, 2018 Applies to: