Microsoft KB Archive/129646

= FIX: Error Routine Not Called for USE Command =

Article ID: 129646

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 3.0b Standard Edition

-



This article was previously published under Q129646



SYMPTOMS
Visual FoxPro will not trap for the error caused by trying to open a table that is part of a corrupted database.

Usually, the "USE customer" command will open the table and the database that the table is part of. If the Database is corrupt, the following message is displayed:

  The database for table C:\..\CUSTOMER.DBF could not be opened. Would you like to try to locate the owning database or delete the link (and free  the table). Locate  Delete    Cancel

In a program with an error routine, the error routine is not called, and the above message is still displayed. Selecting Cancel ends the program.



RESOLUTION
Do not open a table that is part of a database without first opening the database. Then you can trap for the error generated by trying to open a corrupt database.



STATUS
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem has been fixed in Visual FoxPro 5.0 for Windows.



Steps to Reproduce Problem
Corrupt the TESTDATA database by opening it as a table and deleting the first record. Run the following program: SET DEFAULT TO C:\VFP\SAMPLES\DATA ON ERROR DO errhand WITH ERROR, MESSAGE

USE customer

ON ERROR

PROCEDURE errhand PARAMETERS errno, errmsg WAIT WINDOW STR(errno)+" "+ errmsg RETURN

Additional query words: 3.00 3.00b free

Keywords: kbbug kbfix kbvfp500fix KB129646

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.