This documentation is archived and is not being maintained.

Using ActiveX Data Objects in Microsoft Access 2002 and later [Access 2003 VBA Language Reference]

Office 2003

Microsoft Access 2002 provides three object models to use in the creation, maintaining and managing of your Access 2002 databases and their related data by using Visual Basic.

Microsoft ActiveX Data Objects (ADO)

ADO contains the objects needed to create, maintain, and delete records in a given datasource.

Microsoft ADO Ext. for DDL and Security (ADOX)

ADOX provides the Data Definition Language(DDL) objects needed to create a new database and its contained objects in addition to the objects needed to manage security.

Microsoft Jet and Replication Objects 2.5 Library (JRO)

Since ADO objects were designed to work with many databases in addition to Microsoft Jet databases, functionality specific to Jet was broken out into the JRO library.

The following table lists the functionality provided by each compared to DAO.

Functionality DAO ADO1 ADOX2 JRO (MDB's Only)
Create Recordsets X X
Edit Startup properties X X**
Support ANSI92 SQL*** X X
Create Tables X X
Create New Database X X*
Edit Existing Table properties X X
Create table relationships X X*
Create New Users/Groups X X
Edit security settings X X*
Support for new Jet 4.0 Decimal datatype X
Support for Compression attribute for column data X
Edit stored, basic SQL queries or views X X*
Create permanent queries that are accessible only through code. X*
Create queries accessible through database container/UI and code. X
Compact/Encode database X X4
Refresh Cache X X
Make Database Replicable X X3
Make Database Replicas X X3
Synchronize Replicas X X3
Edit Database properties X
Create custom database properties X
Edit table column properties X

* Only available when working with Microsoft Access databases (.mdb). Future versions of the SQL Provider may provide this functionality in Microsoft Access projects (.adp).

** Only available when working with Access projects.

*** Though Jet does support some ANSI 92 SQL it is not yet fully ANSI92 compliant.

1 Uses Connection object to reference to database

2 Uses Catalog object to reference database

3 Uses Replica object to reference database

4 Uses JetEngine object to reference database

Note  Unlike DAO, ADO and ADOX objects can perform the marked actions in databases other then Jet as long as the provider for those databases supports that action.