About converting an Access file

Microsoft Office Access 2003

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 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.

ShowConverting a previous-version Access file to Access 2000 or Access 2002 - 2003 file format

You can convert a Microsoft Access database that was created in Access 2.0 or later to Access 2000 or Access 2002 - 2003 file format. Also, you can convert an Access project from Access 2000 to Access 2002 -2003 file format.

The following changes might affect the conversion of an Access database:

  • Code compatibility    Access 2000 or later does not support the Microsoft DAO 2.5/3.x compatibility library. If you attempt to convert 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 conversion of the database. Before you convert an Access database, update the code so that it does not depend on the DAO 2.5/3.x compatibility library. If you still receive a message that there were compilation errors during conversion, open the converted database in Access 2002 or later, remove the reference to the missing DAO 2.5/3.x compatibility library, and then set a reference to the Microsoft DAO 3.6 Object Library.

    If your Access database uses add-ins or library databases created in a Access 97 or earlier, you must convert them as well. However, you can use an add-in or library database created in Access 2000 with a file in Access 2002 - 2003 format.

  • DoMenuItem replaced with RunCommand    The DoMenuItem action is replaced in Microsoft Access 2000 or later with the RunCommand action; DoMenuItem is still supported for backwards compatibility. When you convert a database, the DoMenuItem action is automatically converted to the RunCommand action.

  • Toolbars and menu bars    Access 2002 or later still supports menu bar macros for applications created with previous version of Access. In Access 2000 or later, menu bars and shortcut menus (as well as toolbars) are created and customized from the Customize dialog box. You can also use this dialog box to customize the built-in menu bar and toolbars.

    Microsoft Access 97 or later supports a new style of toolbars and menu bars. When you convert a Microsoft Access version 2.0 or 95 database to Microsoft Access 2000, any custom toolbars, as well as built-in toolbars, are automatically converted to the new style of toolbar. Custom menu bars, created with the Microsoft Access 95 Menu Builder or with macros that use AddMenu actions, are interpreted as the new-style menu bars when you open a converted Access database. However, they are not automatically converted, and you can't use the Customize dialog box to edit them until you have converted them.

ShowConverting a previous-version security-enabled Access database to Access 2000 or Access 2002 - 2003 file format

Converting a security-enabled Microsoft Access project from Access 2000 to Access 2002 - 2003 file format requires no additional action because security is maintained in the Microsoft SQL Server database that the Access project is connected to. However, there are additional considerations when you convert a security-enabled Access database from a previous version.

If all users of a previous-version security-enabled database will be upgrading to Microsoft Access 2000 or later, you should convert the Access database to Access 2000 file format. If all users have upgraded to Access 2002 or later, you can convert the Access database to Access 2002 - 2003 file format. If necessary, you can still use the corresponding workgroup information file without converting it. However, recreating the workgroup information file in Access 2002 or later is recommended.

If only some users of a security-enabled database will be upgrading to Access 2002 or later, you can share the database and workgroup information file across all versions of Microsoft Access currently in use.

Important  User-level security in Microsoft Access 2000 or later does not help protect Visual Basic code in modules or code behind forms and reports. Code in a security-enabled database that you have converted from Access 97 or earlier does not maintain security measures until you create a password for the Visual Basic project.

Before converting a security-enabled Access database, make sure you're using the workgroup information file that defines the user accounts used to access the database. The user account you use to log on during conversion must have the following permissions:

  • Open/Run and Open Exclusive permissions for the database itself

  • Administer permission on the MSysACES and MSysObjects system tables

  • Modify Design permissions for all other tables in the database, or you must be the owner of all tables in the database

  • Read Design permissions for all objects in the database

ShowConverting a previous-version replica set to Access 2000 or Access 2002 - 2003 file format

  • In a replica, you can specify that a table, query or relationship in a replica is local so that it is stored only in that member of the replica set. However, in Access 2000 or later, you can no longer create local forms, reports, macros, modules, or command bars in a converted replica.
  • You should synchronize a replica set before converting it.
  • If your replica set contains partial replicas, you should synchronize the replica set before conversion and then recreate the partial replicas after conversion.

    Caution  Synchronizing partial replicas in Access 2000 file format with a Design Master in Access 2002 - 2003 file format might result in the loss of database objects in the Visual Basic for Applications (VBA) project of the Access database.

  • If you convert a Design Master from Access 95 or 97 to Access 2000 or Access 2002 - 2003 file format, you can no longer synchronize with other Access 95 or 97 replicas. You must convert the Access 95 or 97 replicas to the appropriate file format (Access 2000 or later).

    A Design Master in Access 2000 or later can synchronize only with replicas in Access 2000 or Access 2002 - 2003 file format. The only way to convert Access 2000 replicas to Access 2002 - 2003 file format is by synchronizing them with a converted Design Master.

    Caution  If you convert a Design Master from Access 2000 to Access 2002 - 2003 file format and then synchronize with other replicas in Access 2000 file format, those replicas are converted to Access 2002 - 2003 file format, and you won't be able to open them in Access 2000.

ShowConverting an Access 2000 or Access 2002 - 2003 file to a previous version

You can convert a Microsoft Access database in Access 2000 or Access 2002 - 2003 file format back to Access 97. You can also convert an Access database or an Access project in Access 2002 - 2003 file format back to Access 2000 file format.

ShowConverting an Access 2000 or later database back to Access 97

You can convert a Microsoft Access 2000 or later database to an Access 97 database if it is not a member of a replica set. Any functionality that is specific to Access 2000 or later is lost when you convert the database to Access 97. You can't convert an Access project back to Access 97.

Important Unlike Access 2000 or later, Access 97 is not designed to work with ActiveX Data Objects (ADO).

Converting an Access 2000 or later database to an Access 97 database makes the following changes to the converted database.

  • Links to data access pages are lost. However, the page files (the HTML files that exist outside of the Access database) remain intact.
  • Data that relies on Unicode support in a database in Access 2000 or Access 2002 -2003 file format might not be converted correctly. Access 97 uses characters from only a single code page— a numbered set of 256 characters. For example, an Access 97 database might use only ANSI characters. During conversion, the collating order of the original Access 2000 database determines which set of characters the resulting Access 97 database can use; any characters that are not in this set are not converted correctly.
  • An Access 2000 or later database that contains a table with a FieldSize property of Decimal cannot be converted to Access 97. You must change the FieldSize property to another value such as Single or Double, or you must change the field's data type to Currency before you can successfully convert the database.

If you are converting a security-enabled Access database, the user account that you use to log on must have the following permissions:

  • Open/Run and Open Exclusive permissions for the database itself. Read Design permissions for all objects in the database.
  • To help protect the converted database, you must open it in Microsoft Access 97 and apply user-level security. When you convert a database in Access 2000 or Access 2002 - 2003 file format back to Access 97, permissions in the new Access 97 database are reset to their defaults because Access 97 can't use a workgroup information file in Access 2000 or Access 2002 - 2003 file format.

If you have employed a password to help protect the Access database, you can convert it without removing the password. If you have employed a password to help protect the Microsoft Visual Basic for Applications (VBA) code, you must supply the password in the Visual Basic Editor during conversion.

ShowConverting an Access 2002 - 2003 file back to Access 2000

You can convert an Access 2002 or later database or Access 2002 or later project back to Access 2000 file format. When you use an Access 2000 file in Access 2002 or later, new Access 2002 or later features are still available. However, those features are not available when you use the same file in Access 2000. If the file contains Visual Basic procedures that use objects, functions, properties, methods, or arguments available only in Access 2002 or later, you'll receive a compile error when you open the Access file in Access 2000.

ShowThe Conversion Errors table

If Microsoft Access encounters errors while converting an Access file, you can view a summary of these errors by opening the Conversion Errors table in the new Access file. The Conversion Errors table contains the following columns:

Object Type    The type of database object in which Access encountered an error, or "Database" if Access encountered an error that is not specific to a particular type of object.

Object Name    The name of the object in which Access encountered an error. If Access encounters a compilation error during conversion, however, the name of the module that contains the error is not specified.

Error Description    If necessary, you can press SHIFT+F2 to view the entire description of the error.

ShowAbout opening a previous-version Access file 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 a security-enabled Access database    If your Microsoft Access database has enabled security, you can make sure that it retains its security 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 except permissions for the modules. In Access 2000 or later, you can't use user-level security to help 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.