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

Last reviewed: May 30, 1997
Article ID: Q160125
The information in this article applies to:
  • Microsoft Access versions 7.0, 97

SUMMARY

Novice: Requires knowledge of the user interface on single-user computers.

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.

REFERENCES

For more information about converting a database, search the Help Index for "converting databases," or ask the Microsoft Access 97 Office Assistant.

For more information about the Compact Database command, search the Help Index for "compacting databases," or ask the Microsoft Access 97 Office Assistant.


Additional query words: bloat
Keywords : CnvPrfm GnlPrfm kbusage
Version : 7.0 97
Platform : WINDOWS
Hardware : X86
Issue type : kbinfo


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 30, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.