About using an Access file with multiple versions of Access

Microsoft Office Access 2003

If you develop an application for use inAccess 2000 or later, compiling the application in Access 2000 before distributing it has two advantages:

Better performance in Access 2000. When you open a Microsoft Access 2000 file for the first time in Access 2002 or later and save changes to any module— including a module containing the code behind a form or report— Access increments the version of the Visual Basic project. This prevents Access 2000 from loading the compiled version of the Visual Basic project. As a result, the application might run more slowly in Access 2000. To ensure optimal performance of an Access 2000 file that you will use in Access 2000 or later, compile and save the application in Access 2000.

Preventing errors caused by differences between versions. The object libraries that ship with Access 2002 or later contain some new objects, methods, properties, and events that aren't available in Access 2000. Using one of these new objects, methods, properties, or events in Access 2000 will result in a compile error. If you want to use an Access file in Access 2000 or later, compile and save the application in Access 2000 to ensure that the objects, methods, properties, and events in your code are available in both versions.

ShowOpening a previous-version Access database without converting it

When you open a Microsoft Access version 2.0 database, an Access 95 database, or an Access 97 database in Access 2002 or later, the Convert/Open Database dialog box asks you to choose between converting and opening (enabling) the Access database. When an Access 2002 or later user enables the database, Access maintains the original format so that users of previous versions of Access can continue to use the database. For example, if a shared database is created in Access version 2.0, it can be used with Access version 2.0 and enabled in Access 2002 or later.

When you use an enabled Access database in Access 2002 or later, you can view database objects and add, delete, or modify records in Access 2002 or later, but you can't modify the design of objects. To modify the design of existing objects or to add new objects, you must open the file in the previous version of Access.

Size of an enabled Access database Your Microsoft Access database may increase in size when you enable it. If you have already enabled a database in a previous version of Access, and if you enable it again in Access 2002 or later, the size of the Visual Basic project will increase even more. In rare cases, you may have enabled a Access version 2.0 database in Access 95, enabled it again in Access 97, and enabled it again in Access 2000 or later; in this case, the Visual Basic project must store information in the format of each version.

Enabling an Access database employing security measures    If your Microsoft Access database employs these security measures, you can make sure that it retains its security level by recreating the workgroup information file in Access 2002 or later. If you cannot recreate the workgroup information file, you can use the Workgroup Administrator to join the security-enabled database's previous-version workgroup information file. However, it is recommended that you convert the workgroup information file to Access 2000 file format before you join it. In Access 2002 or later, you can use a workgroup information file that was created in a previous version; however you can't use a workgroup information file created in Access 2002 or later in Access 97 or earlier.

As long as you use the database with its original workgroup information, it retains all its security measures except permissions for the modules. In Access 2000 or later, you can't use user-level security to protect modules. However, you can help protect Visual Basic for Applications (VBA) code with a password.

Code compatibility    Microsoft Access 2000 or later does not support the DAO 2.5/3.x compatibility library. If you attempt to enable an Access database in which the code contains older versions of DAO objects, methods, and properties that depend on the DAO 2.5/3.x compatibility library, you receive a message that there were compilation errors during the enabling of the database. Before you enable the Access database, update the code so that it does not depend on the DAO 2.5/3.x compatibility library.

New style of toolbars and menu bars    Microsoft Access 97 or later supports a new style of toolbars and menu bars. When you enable an Access 95 database in Access 2002 or later, custom toolbars are converted to the new style but the conversion isn't saved. Custom menu bars are interpreted as the new style menu bar, but the menu bar macros are not converted and continue to be supported.

ShowUsing Access tables with several versions of a front-end database

You can upgrade parts of an Access database to Access 2002 or later so that it can take advantage of many new features, and still use the original unchanged database for users of previous versions of Microsoft Access. Users of all versions can share the same data.

You can use this strategy whether your Access database is in one file, or is a front-end/back-end application. To use an Access database that is one file in several versions of Microsoft Access, convert it to a front-end/back-end application. The data in the back end remains in the oldest version of Microsoft Access, and you use a front end that has been converted to Access 2002 or later. To use a front-end/back-end application with several versions of Microsoft Access, you convert the front end of the application.

ShowWhen should I convert or enable a previous-version Access file?

Whether you should convert or enable a Microsoft Access file depends on which versions of Access users have upgraded to.

ShowWhen to convert from Access 97 or earlier to Access 2000 or Access 2002 - 2003 file format

In most cases, you'll want to convert a previous-version Microsoft Access database to Access 2000 file format if all users have upgraded to Access 2000 or later, and you'll want to convert to Access 2002 - 2003 file format if all users have upgraded to Access 2002 or later. In Access 2002 or later, you can modify data and make design changes to an Access 2000 file. Although you can also enable an Access 97 or earlier database in Access 2002 or later without converting it, you can change the design of objects only in the previous version.

Once you've converted an Access database to Microsoft Access 2000 or Access 2002 - 2003 file format, you can't open it in the previous version of Access. You can convert an Access 2000 database back to Access 97. However, you can't convert an Access 2000 database back to Access version 2.0 or 95.

If your Access database is a multiuser (shared) database, and all users can't upgrade to Microsoft Access 2000 or later at the same time, you can split the database so that it is a front-end/back-end application. You can then have different versions of the front end connected to the back end, which remains unaltered. Users of Access 2000 or later can use a converted version of the front end, where they can take advantage of new features.

ShowWhen to convert an Access 2000 file to Access 2002 - 2003 file format

If you want to save the Access file as an MDE or ADE in Access 2002 or later, you must convert the file to Access 2002 - 2003 file format. Otherwise, you don't necessarily need to convert a Microsoft Access 2000 file to the Access 2002 - 2003 file format. If you're converting Access databases from Access 97 or earlier, it's recommended that you convert to Access 2000 file format first. Users of Access 2000 can open these Access files, and new Access 2002 or later features are available when you use an Access 2000 file in Access 2002 or later. Once you've converted an Access file to Access 2002 - 2003 file format, you can't open the file in Access 2000. However, you can convert an Access 2002 - 2003 file back to Access 2000.

Convert to Access 2002 - 2003 file format only if all users have upgraded to Access 2002 or later, and you have been successfully using the file in Access 2000 file format. If all users have upgraded to Access 2002 or later, you can develop an application in the Access 2002 - 2003 file format without having to make sure that any object, method, property or function you use is also available in Access 2000.

The Access 2002 - 2003 file format offers the following advantages:

  • Provision for unknown properties and objects that might exist in future versions of Access
  • Ability to save an Access file as an MDE or ADE while in Access 2002 or later
  • Improved storage format

ShowWhen to open a previous-version Access database in Access 2002 or later without converting it

You may want to enable a Microsoft Access database in a multiuser environment where all users can't upgrade from Access 97 or earlier to Access 2002 or later at the same time. In this situation, a database must be used simultaneously with different versions of Microsoft Access, and users who have upgraded to Access 2002 or later can enable a database in a previous-version format.

When you're using Access 2002 or later to work with an enabled previous-version Access database, you can use objects in the database to view and modify data. However, you can't save changes to database objects. To modify the design of an object or create a new object in the Access database, you must either open it in the previous version or convert the database to Microsoft Access 2000 or Access 2002 - 2003 file format.

ShowLinking and importing tables in multiple versions

In Microsoft Access 97 or earlier, you cannot link or import a table from an Access 2000 or later database. However, you can export a table in an Access 2000 or later database to a previous-version Access database. You can also copy and paste data from a table in an Access 2000 or Access 2002 - 2003 file to a table in a previous version of Access.