This article was previously published under Q286345
For a Microsoft Access 2000 version of this article,
see
202312 (http://support.microsoft.com/kb/202312/EN-US/).
Moderate: Requires basic macro, coding, and interoperability
skills.
This article applies only to a Microsoft Access database (.mdb).
On This Page
SYMPTOMS
After converting a Microsoft Access 2002 database to
Microsoft Access 97, you receive the following error message when you open a
form or report in the new Microsoft Access 97 database:
The form or report contains one or more ActiveX controls.
The error occurs because Microsoft Access 2002 uses the IPersistStream
interface for inserting and storing ActiveX controls while Microsoft Access 97
uses the IPersistStorage interface, which contains the control's persistence
information.
NOTE: The following steps modify your Access 97 database, so you may
want to back up the database before proceeding.
1.
Start Access 97 and open the Access 97 database that was
converted from Access 2002. You receive the following message:
Microsoft Access has converted the code in 'drive:\path\filename.mdb' to your
current version of Visual Basic.
To improve the performance of the database, do the
following: 1. Open any module in the database in Design view. 2. On
the Debug menu, click Compile And Save All Modules.
2.
Click OK.
3.
In Design view, open the form or report that contains the
ActiveX control.
You receive the following error message:
There is no object in this control.
4.
Click OK.
The form or report opens in Form view, and contains an
empty white control.
5.
On the View menu, click Design View.
You receive the error message again.
6.
Click OK.
The form opens in Design view.
7.
Right-click the ActiveX control, and then click Properties on the shortcut menu.
8.
Make a note of the values assigned to certain properties,
especially properties such as:
Name
Enabled
Left
Top
Width
Height
and all Event properties.
9.
Delete the ActiveX control and reinsert the ActiveX control
that is included with Access 97 (or Microsoft Office Developer Edition). For
example, if the form or report contains Calendar Control 10.0 for Access 2002,
delete the control, and reinsert Calendar Control 8.0 (the version that is
included with Access 97). To insert an ActiveX control, follow these steps:
a.
On the Insert menu, click ActiveX Control.
b.
Select the control that you want, and then click OK.
10.
View the properties of the newly inserted control and
reassign the values in step 8.
CAUTION: If you follow the steps in this example, you modify the sample
database Northwind.mdb. You may want to back up the Northwind.mdb file and
follow these steps on a copy of the database.
1.
Start Microsoft Access 2002.
2.
Create a new Access 2002 database.
3.
Open a new blank form in Design view.
4.
On the Insert menu, click ActiveX Control.
5.
Click the Calendar Control 10.0, and then click OK.
6.
Close and save the form as
Form1.
7.
On the Tools menu, point to Database Utilities, point to Convert Database, and click To Access 97 File Format.
8.
Type a file name for the new Access 97 database and click Save.
You may receive the following warning:
Your computer is missing at least one of the Microsoft Access 97
object libraries. Your converted database will not work until you open this
database using Access 97 and then fix any missing references.
Press
OK to continue saving this database in the Access 97 format with missing
references, or press Cancel if you no longer wish to save this database.
9.
Click OK. After conversion, you receive the following message:
After you have converted this file to Access 97 File Format, any
functionality specific to Access 2000 or Access 2002 will be lost.
For more information about conversion, click Help.
10.
Click OK, and then start Microsoft Access 97.
11.
Open the Microsoft Access 97 database that you created in
step 8.
Need More Help? Contact a Support professional by Email, Online or Phone.
Customer Service For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
Newsgroups Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.