Combining Views
You can build a view that is based on other views. You might want to do this if you need a subset of the information available in multiple other views, or if you want to combine local and remote data in a single view. A view based on other views, or on a combination of local tables and local or remote views, is called a multitiered view. The view that combines other views is the top-level view. You can have multiple levels of views between the top-level view and the local or remote base tables. When you use a multitiered view, the views on which the top-level view is based and any Visual FoxPro base tables used in the top-level or intermediate-level views appear in the Data Session window. Remote tables do not appear in the Data Session window.
Combining Local and Remote Data in a View
To combine remote and local data in a view
- Create a remote view and add one or more tables from the remote server.
- Create a new local view and add the remote view you just created to it.
- Add the related local table to the view and join them on a common field.
- Set a filter in the local view and run it.
- Update the view results to update both the local table and the remote view.
- Close the local view and then the remote view to update the data on the remote server.
You can also combine local and remote data in a view by creating a new local view based on a local view and a remote view.
To create a view that combines local and remote data
In the Project Manager, select a database, choose Local Views, and choose New to open the View Designer. Add any combination of tables, local views, and remote views into your view.
-or-
Use the CREATE SQL VIEW command.
For example, to create a local view that combines information from the local Employee table and the remote Orders table, you can use the following code:
OPEN DATABASE testdata
CREATE SQL VIEW remote_orders_view ;
CONNECTION remote_01 ;
AS SELECT * FROM orders
CREATE SQL VIEW local_employee_remote_orders_view ;
AS SELECT * FROM testdata!local_employee_view, ;
testdata!remote_orders_view ;
WHERE local_employee_view.emp_id = ;
remote_orders_view.emp_id
Updating Local and Remote Data in a View
When you update data in a multitiered view, the updates go down one level, to the view on which the top-level view is based. If you want to update the base tables on which a multitiered view is built, you must issue a TABLEUPDATE command for each view in the structure.
See Also
Creating Rules on View Fields and Rows | Manipulating Offline Data | Creating Queries | Data Session window | Creating Offline Views | Customizing Views