Article ID: 167906
Article Last Modified on 6/2/2005
APPLIES TO
- The DAO SDK, when used with:
- Microsoft Visual C++ 4.0 Standard Edition
- Microsoft Visual C++ 4.1 Subscription
- Microsoft Visual C++ 4.2 Enterprise Edition
- Microsoft Visual C++ 4.2 Professional Edition
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
- Microsoft Foundation Class Library 4.2
This article was previously published under Q167906
SYMPTOMS
If you call CDaoWorkspace::RepairDatabase() or CdbDbEngine::RepairDatabase
on a corrupt Access 7.0 database, it may result in a database that is so
corrupt that it cannot be recovered.
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.
Use Jetcomp.exe, a stand-alone utility, to compact the database.
CAUSE
The MSysObjects system table is corrupted.
RESOLUTION
You should always call CDaoWorkspace::CompactDatabase() before calling
CDaoWorkspace::RepairDatabase() on an Access 7.0 database. It is a good
idea to compact, repair, and backup your database frequently.
REFERENCES
For more information, click the following article numbers to view the articles in the Microsoft Knowledge Base:
109953
How to troubleshoot/repair damaged Jet 3.0 and prior databases
158933 Error message: <Database name> isn't an index in this table
Additional query words: Jet 3.0
Keywords: kbtshoot kbdatabase kbprogramming kbprb kbcode KB167906