FIX: Error Routine Not Called for USE Command

Last reviewed: October 20, 1997
Article ID: Q129646
3.00 3.00b WINDOWS kbother kbbuglist kbfixlist

The information in this article applies to:

  • Microsoft Visual FoxPro for Windows, versions 3.0, 3.0b

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.

MORE INFORMATION

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


KBCategory: kbother kbbuglist kbfixlist
KBSubcategory: FxotherGeneral fixlist5.00 VFoxWin buglist3.00 buglist3.00b
Additional reference words: 3.00 3.00b free
Keywords : buglist3.00 buglist3.00b fixlist5.00 FxotherGeneral vfoxwin kbbuglist kbfixlist kbother
Version : 3.00 3.00b
Platform : WINDOWS
Solution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 20, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.