problema con tablas en carpeta data
Las dbf no tienen que estar en la raíz del proyecto, salvo las propias del proyecto.
Ubica las tablas en la carpeta que quieras, con tal de que las rutas de acceso no contengan espacios (para no complicarte con los encomillados) y que tengas un método de identificar cuáles son esas rutas. Luego, puedes utilizar una de dos cosas, o ambas:
a) SET PATH (lista de rutas)
b) Tener algún tipo de variable global (como variable pública, propiedad de screen, u objeto público) que contenga las rutas.
Por ejemplo, si el valor de una ruta de acceso, está contenido en una propiedad de screen:
Addproperty(_SCREEN,"dir_Ventas", "C:\MyApps\Datos\Ventas")
USE (ADDBS(_screen.Dir_Ventas)+"misventas") IN 0 SHARED
Si necesitas varias carpetas, conviene que esten en una carpeta raíz y solo guardas la posición de la carpeta raíz.
Generalmente se guarda este dato en un archivo .txt para actualizarlo con STRTOFILE() y leerlo con FILETOSTR()