|Figure 1: The Object Dependencies Pane.|
Monday, 18 July 2011
One thing that I find fascinating about Access Database Development is working with multiple database objects. Take an Access Form Object, for example. Most forms have a Table or Query Object as a Record Source. This is what is meant by the term Object Dependency: in this example, the Form Object is dependent on the Table or Query which supplies it's data. The same is true when a Query depends on a table or tables, or a form depends on another Form used as a Subform. An Access Database is full of these interrelated object dependencies which, in larger systems, can soon become quite complex. This is where the Object Dependencies Pane come in quite useful.
The Object Dependency Pane works by the developer selecting or highlighting an object from the Navigation Pane, then clicking the OBJECT DEPENDENCIES icon located in the SHOW/HIDE group of the DATABASE TOOLS ribbon. When the pane opens you have the option of displaying all Objects which are dependent on the selected Object, or all Objects upon which the selected Object Depends.
The screen shot above shows the dependencies for a form object called frmCustomer (which is a simple form displaying the details of a customer, with a subform displaying all orders the customer has made). The pane shows all the Tables, Queries, Forms and Reports that frmCustomer is dependent upon. As you can see, the form uses two tables - tblCustomer, and tblOrders. It also uses another form frmOrders. Although you cannot tell from the Object Dependencies Pane that tblCustomer is the Record Source for the main form and tblOrders for the subform, you do get a good idea that this is the case from the names allocated to each.
If you want to open one of the Objects listed in the Object Dependencies Pane (in Design View), just click the Object name. It is also possible expand the list of Objects. So, for example, if you were interested in finding out what tblCustomer depends on, just click the small + sign to the left of the object name and a new tree level opens out. As such, this tool can be used to trace some fairly complex object hierarchies where multiple levels exit.