PRB: LOCATE FOR Command Finds Data for Nonexistent Field

ID: Q115000

The information in this article applies to:

SYMPTOMS

The LOCATE command is used to search a table/.DBF for the first record that meets a given logical expression. However, if you perform a LOCATE FOR command on a field that does not exist in the selected database but a variable of the same name does exist, the LOCATE command will stop on the first record and FOUND() will return true (.T.).

For example, suppose you USE the CUSTOMER database (in the TUTORIAL subdirectory) in the current work area and issue the following commands in the Command window:

   m.notfield="A1000"
   LOCATE FOR NotField="A1000"

Although the field NOTFIELD does not exist, the LOCATE command will stop at the first record.

RESOLUTION

To avoid this problem, fully qualify the field name in the LOCATE FOR command; for example, LOCATE FOR customer.notfield="A1000". In the example above, this command will correctly return the error, "Variable NOTFIELD not found," meaning that the CUSTOMER.NOTFIELD field was not found.

Additional reference words: FoxMac FoxDos FoxWin 2.50b 2.60 KBCategory: kbprg kbprb KBSubcategory: FxprgGeneral

Last Reviewed: June 27, 1995