Build navigation UI with Access 2010
Today’s guest writer is Wouter Steenbergen, a PM on the Access team responsible for Access form and report designers.
If you want to build an easy to use application it always starts with a good navigation model that allows users to quickly perform the most common tasks and easily find the less common tasks. Years ago, Access introduced the concept of a switchboard manager which has become a mainstay for many applications in the late 90’s. The hierarchical model and ease of adding new objects into the interface served our community well for many years. However, advancements in web design and user interfaces have developed more intuitive interface models. When was the last time you saw a well-designed web site that worked like a switchboard manager?
Moving Access to the web was a great opportunity for us to re-invent the tools we provide to build navigation. It started with an exhaustive study of many of the top 100 web sites. A few patterns emerged: Web sites usually have top level navigation commands and often expose sub navigation directly below or along the left side. When users navigate the top level color and background images typically highlight to users what top level item is selected. It’s a useful paradigm that gives users sense of direction.
In Access 2010, we have implemented a new way to implement navigation; navigation forms. Navigation controls support the new look and feel functionality that Viki and Steve talked about in an earlier post. This guarantees many opportunities to create a great-looking web interface that is easy to understand and simple to use. Take a look at the Demo of Access 2010 room bookings database, Albert really summarizes the Navigation form well at the start of his video.
How does it work?
Here is a quick demo on how it works:
When you create a navigation form using one of six predefined layouts, it contains a navigation control and a subform control. These two controls are connected by the
NavigationTarget property on the navigation control.
When you drag a form or report onto the navigation bar, a new button is added. Selecting the button causes the corresponding form or report to appear in the subform control.
Advanced Access users may notice that this implies that we removed another design limitation. In Access 2010 it is possible to render reports in a subform control on a form. This makes reports a truly integrated part of your web application.
After making your navigation form, you can set the NavigationWhereClause in the button’s property pane, to make the Navigation button automatically apply a filter when the button is selected. This makes it super easy to filter an existing view without creating different forms or queries.
Programmability
The navigation control is accessible by using the object model. It’s not possible to dynamically add or remove tabs, but a lot of other properties are available.
You can show or hide buttons based on the role of the user by setting the visible property in an OnLoad or OnCurrent event. Other properties that are available on navigation buttons are Enabled, Visible, Locked, ForeColor, BackColor and Caption.
Drawing your own buttons
You can replace the look of all your tab buttons by selecting icons instead of typing in the button caption. This allows you to customize the look and feel of your navigation even more. In the example to the right, I used icons borrowed from Excel’s conditional formatting.
Some of the new shapes introduced in Access 2010 are specifically designed for use with navigation and tab controls. They’ll allow you to create a nice tab-like experience when designing your navigation.

Navigation versus Tab controls
Some people may wonder when to use a navigation form versus a tab control. The difference between tab and navigation controls is that the controls in a tab are part of the form. Individual tabs are hidden behind each other. The navigation control unloads and loads a new form (or report) in the sub-form control. This triggers record updates and requeries the data source.
Other Resources
If you are interested in learning more about how to build good navigation UI, I strongly recommend chapter 7 of Steve Krug’s Don’t Make Me Think: A Common Sense Approach to Web Usability.