Using Tables and Sets That are Not Part of a Workspace
There is actually no need to have all of the tables and sets in an application be members of the workspace. Iin fact, you could build an application where none of the tables and sets are in the workspace. If you do this, the change that you would have to make in your Xbasic would be to full qualify references to forms, reports, tables, etc.
For example, if you have a table called customer and a form for this table called editCustomers. If customer is a member of the workspace, then this works:
dim t as P t = table.open("customer") f = form.view("editCustomers")
If customer is NOT a member of the workspace, but if customer is in the same directory as the .ADB file, then you can still write this:
dim t as P t = table.open("customer")
If customer is in a sub-directory of the current .ADB file, then you can use a relative path.
dim t as P t = table.copy("data\customer")
If customer is in some other directory, then you must fully qualify the name.
dim t as P t = table.open("c:\data\customer.dbf")
When opening a form or other layout, you must qualify the its name with the data dictionary where the object is stored. If the table is in same folder as the .ADB file.
dim f as P f = form.view("editCustomer@customer.ddd")
If the table is in a sub-folder named "data".
dim f as P f = form.view("editCustomer@data\customer.ddd")
If the table is in a completely different folder.
dim f as P f = form.view("editCustomer@c:\data\customer.ddd")