Microsoft KB Archive/160125

= ACC: Why Converting to 95/97 Results in Different Database Size =

Article ID: 160125

Article Last Modified on 1/19/2007

-

APPLIES TO


 * Microsoft Access 95 Standard Edition
 * Microsoft Access 97 Standard Edition

-



This article was previously published under Q160125





SUMMARY
This article explains why your Microsoft Access databases can change in size when you convert them from an earlier version to Microsoft Access 7.0 or 97.



MORE INFORMATION
When you convert or open a Microsoft Access 1.x or 2.0 database in Microsoft Access 7.0 or 97, Microsoft Access converts your Access Basic code to Visual Basic for Applications code. This can change the size of your database for the following reasons.

The MSysModules2 Table
Microsoft Access 97 creates and stores separate copies of your form modules, report modules, and global modules in a system table called MSysModules2 (or MSysModules in version 7.0). This table can double the size of your modules, depending on the amount of code the database contains. The table is created whether you convert your database or just open it in Microsoft Access 7.0 or 97. If you open your Microsoft Access 1.x or 2.0 database in both Microsoft Access 7.0 and Microsoft Access 97, the MSysModules and MSysModules2 tables are created, which can result in a large increase in your database.

Microsoft Access 97 introduces a new feature called lightweight objects. A lightweight object is one that does not have a code module attached to it, so it does not require any space in the MSysModules2 table. If a form or report in your Microsoft Access 1.x or 2.0 database does not contain any Access Basic code, Microsoft Access 97 converts it to a lightweight object when you convert your database. This can help to decrease the size of your database. Note that lightweight objects are only created when you convert your database, and not if you just open it in Microsoft Access 97.

Compiled Code
To improve performance, Microsoft Access 7.0 and 97 store Visual Basic for Applications modules in a compiled state. Microsoft Access 1.x and 2.0 store Access Basic modules in an uncompiled state. This difference increases the size of your converted database because the database contains both the editable source code and the compiled code.

Microsoft Access 97 introduces a new feature called MDE files. An MDE file is a database from which all editable source code has been removed and only the compiled code remains. This results in a smaller database.

To find out more about how to use MDE files in Microsoft Access 97, search the Help Index for "MDE files," or ask the Microsoft Access 97 Office Assistant.

Compacting Your Database After Conversion
The conversion process itself causes your database to increase in size because all of the database objects are modified. The same behavior occurs when you delete records or modify the design of objects in your database. To decrease the size of your database, you can run the Compact Database command.

In Microsoft Access 97, the conversion utility compacts your database as part of the process, which helps decrease the size of the database. However, Microsoft Access 7.0 does not automatically compact your database after it is converted; you must run the Compact Database command manually to decrease the size of the converted database.

