Article ID: 130305
Article Last Modified on 2/10/2000
APPLIES TO
- Microsoft Visual FoxPro 3.0 Standard Edition
This article was previously published under Q130305
SYMPTOMS
When opening a database-owned table you receive this error;
The fields in table "<table name>" did not match the entries in the
database.
CAUSE
When a database-owned table is opened, Visual FoxPro tries to confirm that
each field of the table has a matching field object in the database. When
the entries do not match, the error occurs. This error can be caused by a
corrupt database or a corrupt table. It may also be caused by having the
wrong copy of a table (.DBF) in the same directory as a parent database
(.DBC).
RESOLUTION
Begin by using the VALIDATE DATABASE command to check the integrity of the
current database. Open the database exclusively, and issue the VALIDATE
DATABASE command from the Command window, for example:
OPEN DATABASE mydata EXCLUSIVE
VALIDATE DATABASE
If the database itself cannot be opened, the database is probably corrupt
and must be recreated, recovered using a program previously created using
GENDBC.PRG, or recovered by using a third-party database recovery tool.
For more information about recovering a corrupt database, please see the
following article in the Microsoft Knowledge Base:
129168 How To Recover Corrupt Database Container Files
If a table is corrupt or invalid, the VALIDATE DATABASE command gives the
name of the offending table and its diagnosis. For example, "The fields in
table '<name>' did not match the entries in the database."
If the wrong version of the table (.DBF) accidentally replaced a previous
version, the previous version must be recovered (see the "Steps to
Reproduce Behavior" section in this article). Otherwise, the table must be
deleted or removed from the database container file and, if desired, added
back to the database.
To remove the table, issue the VALIDATE DATABASE RECOVER command or the
REMOVE TABLE command and specify the table name.
The VALIDATE DATABASE RECOVER and REMOVE TABLE commands have the same
affect on the offending table, the table is removed from the database but
remains on the disk. Any field properties and long field names defined in
the table are lost when the table is removed.
STATUS
This behavior is by design.
Additional query words: VFoxWin
Keywords: KB130305