FIX: Error Routine Not Called for USE CommandLast reviewed: October 20, 1997Article ID: Q129646 |
3.00 3.00b
WINDOWS
kbother kbbuglist kbfixlist
The information in this article applies to:
SYMPTOMSVisual 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 CancelIn a program with an error routine, the error routine is not called, and the above message is still displayed. Selecting Cancel ends the program.
RESOLUTIONDo 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.
STATUSMicrosoft 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.
MORE INFORMATION
Steps to Reproduce ProblemCorrupt 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 |
KBCategory: kbother kbbuglist kbfixlist
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |