You receive a "There is no object in this control" error message when converting Access 2002 database to Access 97 (286345)



The information in this article applies to:

  • Microsoft Access 2002
  • Microsoft Access 97

This article was previously published under Q286345
For a Microsoft Access 2000 version of this article, see 202312.

Moderate: Requires basic macro, coding, and interoperability skills.

This article applies only to a Microsoft Access database (.mdb).

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:
There is no object in this control.

CAUSE

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.

RESOLUTION

To resolve the problem, follow these steps.

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:
    1. On the Insert menu, click ActiveX Control.
    2. 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.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

MORE INFORMATION

Steps to Reproduce Problem

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.
  12. Open Form1. Note that you receive the message:
    There is no object in this control.

Modification Type:MajorLast Reviewed:11/24/2004
Keywords:kbconversion kbprb kberrmsg kbpending KB286345