Microsoft KB Archive/158933

From BetaArchive Wiki
Knowledge Base


Article ID: 158933

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 Q158933

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


SYMPTOMS

When you run the Repair Database command, you may receive the following error message:

<Database Name> isn't an index in this table


NOTE: This same behavior may occur in Microsoft Access 97 with databases that are converted from Microsoft Access 7.0. If this happens, you should either:

Create a new database in Microsoft Access 97 and import all the objects from a backup copy of the Microsoft Access 7.0 database.

-or-

Use Jetcomp.exe, a stand-alone utility, to compact the database.

CAUSE

The MSysObjects system table is corrupted.

RESOLUTION

If you receive the error, the database is corrupted beyond repair. The Repair Database command cannot fix the file. The only resolution is to restore a backup copy of the database.

To prevent this error in the future, install the update of the Msjt3032.dll file. For more information about obtaining this update, please see the following article in the Microsoft Knowledge Base:

151186 ACC95: Updated Jet DLLs Available in Download Center

For more information about obtaining Jetcomp.exe, please see the following article in the Microsoft Knowledge Base:

172733 ACC97: Updated Version of Microsoft Jet 3.5 Available for Download

STATUS

Microsoft has confirmed this to be a problem in Microsoft Jet database engine version 3.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it become available.

MORE INFORMATION

Every Microsoft Access database contains system tables that store information about the various objects in the database. The Microsoft Jet database engine automatically creates the system tables, such as MSysObjects, when you create a new database. If the MSysObjects table becomes corrupted beyond repair, the database is unusable and will not open.

This error is usually preceded by symptoms that indicate problems with your database:

  • Duplicate table names appear in the database.
  • Tables appear that you do not have permission to delete, even though you have administrator level security permissions in the database.
  • Tables appear that are owned by <Unknown> or Engine.

If these symptoms occur in your database, follow these steps:

  1. Back up the database.
  2. Run the Compact Database command.
  3. Run the Repair Database command.
  4. Import the undamaged objects into a new database.


REFERENCES

For more information about repairing a database, please see the following article in the Microsoft Knowledge Base:

109953 ACC: How to Repair a Damaged Database

For more information about using the Compact Database command, search the Help Index for "compacting databases."


Additional query words: damage isn t an index in this table

Keywords: kbbug kberrmsg KB158933