Article ID: 130603
Article Last Modified on 2/11/2000
C:\MAIN C:\MAIN\ONE C:\MAIN\TWODirectory MAIN contains two .DBC files (d_one and d_two). Both databases are open, neither is current.
SET DEFAULT TO C:\MAIN OPEN DATABASE d_one OPEN DATABASE d_two SET DATABASE TOThe d_one database contains a T_ONE.DBF table that resides in C:\MAIN\ONE. The d_two database also contains a T_ONE.DBF table that resides in C:\MAIN\TWO.
USE t_oneThis is because the current directory is MAIN where no table named "t_one" resides, and no database container (.DBC file) is current. Visual FoxPro looks for a free table named T_ONE.DBF in the current MAIN directory and doesn't find one, so it generates this error:
File C:\MAIN\T_ONE.DBF does not exist.However, if you had used SET PATH to set the path, Visual FoxPro would have located the file in which ever directory occurred first. For example:
SET PATH TO C:\MAIN\TWO;C:\MAIN\ONE ** T_ONE.DBF in directory TWO is opened. SET PATH TO C:\MAIN\ONE;C:\MAIN\TWO ** T_ONE.DBF in directory ONE is opened.To guarantee that a particular table in a database container (.DBC file) is opened, use Visual FoxPro's exclamation (!) symbol notation. For example:
USE d_one!t_oneHowever, if the t_one tables did not belong to a database container (.DBC file), the exclamation (!) symbol notation could not be used. This behavior is consistent with FoxPro versions 2.x. For tables that don't belong to a Visual FoxPro database, you must use the FoxPro version 2.x method to open a specific table:
USE TWO\t_one && Assumes current directory is C:\MAIN
Additional query words: VFoxWin
Keywords: kbcode KB130603