ACC95: Overview of Conversion IssuesLast reviewed: May 30, 1997Article ID: Q136064 |
The information in this article applies to:
SUMMARYModerate: Requires basic macro, coding, and interoperability skills. Microsoft Access for Windows 95 version 7.0 has many enhancements, such as 32-bit architecture, Visual Basic for Applications, the Microsoft Jet data base engine version 3.0, and a modified data access objects (DAO) model. To take full advantage of these features, you should convert your databases created in an earlier version of Microsoft Access to Microsoft Access version 7.0. Most Microsoft Access version 2.0 (or 1.x) databases can convert to version 7.0 without difficulty. In rare cases, however, new features can conflict with existing objects and code. This article discusses the following few issues that you may encounter when converting a database to version 7.0:
MORE INFORMATION
Code Cannot CompileWhen you convert a database to version 7.0, the conversion utility converts Access Basic code to Visual Basic for Applications and compiles the updated code. If any code does not successfully compile, you may receive the following error message after you convert a database to version 7.0:
There were compilation errors during the conversion or enabling of this database. This database has not been saved in a compiled state. The performance of this database will be impaired because Microsoft Access will need to recompile the database for each session. For information on improving performance, click Help.To resolve this error, open a module in Design view and click Compile All Modules on the Run menu. As Microsoft Access compiles your code, it stops at any line that contains an error. You can then modify the syntax to resolve the compile error. NOTE: In rare instances, the conversion utility may fail to convert some syntax. For example, it may fail to modify a DoCmd statement, such as the following,
DoCmd OpenForm "MyForm"into a DoCmd method:
DoCmd.OpenForm "MyForm"You may also receive the compile error message if your Microsoft Access 2.0 database contains syntax errors. Therefore, it is good practice to fully compile your Microsoft Access 2.0 (or 1.x) databases before you convert them to Microsoft Access 7.0.
Conversion Process Is SlowIf you have a large database, the conversion process may take a long time or your computer may appear to stop responding (hang). The more objects that you have, the longer it takes to update the code and objects to version 7.0. To speed the conversion process, try using the Import command instead of the Convert Database command by following these steps:
16-bit API Calls Do Not ConvertIf your modules contain 16-bit API calls, you may receive the following error message when you convert the database to version 7.0:
There are calls to 16-bit dynamic-link libraries (.dll) in modules in this database. These won't work under Microsoft Windows 95 or Microsoft Windows NT.To resolve this error, you must change the API Declare statements in the converted database to their 32-bit equivalents. For more information about 32-bit equivalents for 16-bit API calls, search on the phrase "converting code," and then view "Converting code that calls a DLL" using the Answer Wizard from the Microsoft Access for Windows 95 Help menu.
Custom Controls Do Not ConvertWhen you convert to version 7.0, you may receive the following error message if your database contains an OLE custom control:
One or more forms or reports contains a 16-bit OLE Custom Control with no 32-bit equivalent. These controls will not function properly under Microsoft Windows 95 or Microsoft Windows NT.Microsoft Access version 2.0 supports 16-bit OLE custom controls whereas Microsoft Access version 7.0 supports 32-bit OLE custom controls. When you convert a database that uses a 16-bit custom control to version 7.0, Microsoft Access can automatically update the control to its 32-bit version only if a 32-bit version exists and is registered on your computer. If you do not have a 32-bit version of a 16-bit control, then Microsoft Access may generate the error message listed above. For more information about converting OLE custom controls, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q138019 TITLE : 16-bit OLE Controls Not Supported in Version 7.0 Table Exceeds Limit of 32 IndexesIf your database contains a table with 32 or more indexes and relationships combined, you may receive the following error message when you convert to version 7.0:
Operation failed. There are too many indexes on table '<table name>'. Delete some of the indexes on the table and try the operation again.The Microsoft Jet database engine version 3.0 has a limit of 32 indexes per table. When you create a relationship and enforce referential integrity, an index is created for the foreign key table. If the number of relationships exceeds 32, then the number of indexes on the "foreign key-side" also exceeds 32. To resolve this error, open your database in version 2.0 (or 1.x) and modify your table design to reduce the number of relationships for the primary key table or remove some indexes from the foreign key table. Then, you can try to convert the database to version 7.0. This resolution assumes that you have version 2.0 (or 1.x) installed on your computer, as well as version 7.0. If you replaced version 2.0 (or 1.x) with version 7.0 using the same folder (directory) on your computer, then you must re-install version 2.0 (or 1.x). You may want to re-install into a different folder so that you have both versions available for resolving the conversion problem.
Name Conflict Stops ConversionIf a module has the same name as a type library, such as "DAO", "VBA", or "Access," the conversion process stops and Microsoft Access displays the following error message:
Name conflicts with existing module, project, or object library.To resolve this error, open the database in Microsoft Access version 2.0 (or 1.x) and rename the object. This resolution assumes that you have version 2.0 (or 1.x) installed on your computer as well as version 7.0. If you replaced version 2.0 (or 1.x) with version 7.0 using the same folder on your computer, then you must re- install version 2.0 (or 1.x). You may want to re-install into a different folder so that you have both versions available for resolving the conversion problem.
REFERENCESFor more information about conversion and compatibility issues, search for "conversion and compatibility" using the Answer Wizard from the Microsoft Access 7.0 Help menu. |
Keywords : CnvProb kbusage
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |