Applies ToAccess for Microsoft 365 Access 2021 Access 2019

The following sections provide information about the user interface design and why certain choices were made. The object names are provided so you can easily examine them in the ­Northwind 2.0 Starter Edition database.

The user interface in the Northwind 2.0 Starter Edition has a modern look and feel and is simple and flexible. The main menu form (frmMainMenu) has a column of actions down the left side for users to select menu items and a large workspace on the right side where the list of customers, products or orders appears when selected from the menu. This design "pulls" one menu item at a time into the workspace in the main menu and avoids opening several new forms on top of other windows.

Tabbed forms

Access supports two types of forms. The default is tabbed documents which is used by the Northwind 2.0 Starter Edition. The traditional alternative is to use overlapping windows.

Modern enhancements to the menu

The main menu form (frmMainMenu) also includes a basic dashboarddisplaying summary information about orders, products, customers, and employees. For example, under the orders label you can see the current number of orders. Macros update Dashboard information as needed; they execute when orders are entered, or products are ordered or sold, and so on. These are examples of things you can do to improve your users’ experience with a modern look and enhanced features.

Menu functions

There are two types of menu items. Most menu items identify an area of the application which a user would select for further work. They load a list of records for that area. Because adding new orders is the most frequent activity, the main menu also has an Add Order item which bypasses the list of existing orders to go straight to the form (sfrmMainMenu_OrderList) to add new orders.

Modern look for labels

Labels are used in two ways:

  • Information Display    Traditional labels identify the application and its elements and point out information to users. They often identify the content of an adjacent control. For example, "First Name" identifies the column of employee first names.Using a label for information

  • Action Labels    Some labels work like command buttons. Clicking them executes code. Using labels instead of conventional command buttons presents a modern look and feel. Conventional command buttons would work the same and you may prefer a more traditional look and feel. In fact, Access supports several different button styles, so feel free to explore.

Although they are similar in appearance, the captions on action labels can tell users how to use them. In addition to being plural for a list and singular for one item, a label can have a key word like "Add". 

Using a label as a command

Selecting a menu item

To select an area of the database to work on, such as adding new orders, or managing customers, or adding or updating products, click that menu item. Clicking it loads a non-editable list of orders, customers, products, and so on into the workspace.

Selecting a record from the list

A hyperlink field for each record in a list opens an editing form for that item — a single customer, order, product, and so on in a popup form over the main menu. Closing the popup form returns to the main menu.

Popup edit forms

You can edit existing records, or add new records, in popup forms. Each popup form opens to the selected record, ready to accept your changes for that record.  

Required values

Some fields in tables have required values. Access can’t save records without values in required fields Therefore, forms display default Access error messages to warn you about the problem. When your edits to existing records are complete, or when the new records have been added, close the popup form to return to the list in the main menu.

In this section, we highlight features of each form.

The main menu

The main menu (frmMainMenu) is an Access main form/subform design. Being a tabbed document, the main menu form fills the screen at the resolution chosen for the template. As previously noted, labels are used in two ways: To identify parts of the application and display information about those items and as command buttons.

The Menu itself occupies a narrow vertical space on the left side of the main form. Seven labels perform the actions indicated by their captions, for example, get a list of customers.

The subform control on the right side occupies the largest share of the main form. Clicking Menu Items executes macros that replace the subform in the subform control with the appropriate form in continuous view.

Selecting a list of items

The basic user workflow is to select and then load a list of items, such as orders (sfrmMainMenu_OrderList). Lists are read-only because they are only needed to help users navigate to and select one record at a time from the list: orders, customers, employees, and products.

These list forms are displayed in Continuous View in which many records appear at the same time. One record at a time, the current record, has focus. Record selectors (the white arrowhead in a dark rectangle on the left side of the continuous view form) indicate which record is current.

The items in a list may not display all of the fields in the table; sometimes only a subset of fields is needed.

Selecting one item from the list

When the list of items is "pulled" into a main menu’s subform, clicking a hyperlink selects details for that item. Hyperlinks use the primary keys of records to select the proper record for editing.

When the details for one individual record opens, they are shown in a new window over the main menu. Details are popupforms; they keep focus on themselves as long as they are open. You interact with one record at a time in the popup form.

Unlike lists, detail forms display all the fields in the table for that type of item. Access forms are normally bound to the table or to a query based on that table, meaning you can edit, add, or delete values and records for that table directly in the form without additional coding. Some controls are not editable, of course, because they belong to the application. The primary keys, for example, can be displayed, but users can’t edit them. For that reason, many Access applications don’t display primary key fields in forms at all. But they are used in Northwind 2.0 Starter Edition with the hyperlink function.

Order details

The order details Form (frmOrderDetails) is an Access main form/subform design. You add a new order or update an existing order in the main part of the form. You add or update the products included in those orders in the order line items sub form (sfrmOrderDetails).

You manage one-to-many relationships by using a main form and subform. The order details form shows how to handle the one-to-many relationship between an order and one or more products included in an order. The main form (frmOrderDetails) is displayed in single view and is bound to the orders table. The subform (sfrmOrderDetails) is in continuous view and is bound to the order details table.

Master/Child linking fields

A main form and subform handles the details of one-to-many relationship for you. Subform controls, which are containers for the subform, have Master and Child linking fields property.

The Master Child properties

Access automatically tries to select the primary key from the one-side table and the corresponding foreign key from the many-side table for these fields. However, you can override that choice if you have a more advanced requirement.

In addition to synching the records in the Order Detail table with the order in the Orders table, Access automatically supplies the proper primary key from Orders as the foreign key each time you add a new product to an order detail.

On the order form (frmOrderDetails), you also see a second subform titled Recent Orders (sfrmOrders_MostRecent), which shows a read only list of recent orders. This list, also in continuous view, displays recent orders. You can check whether an order might be a duplicate of another recently placed order by the same customer before entering it.

Take note that you can edit new orders and order details, but you can’t edit the list of recent orders as it's informational only. Also note that the Master and Child Linking fields are blank for recent orders because there is no direct relationship between the current order and any other recent order.

A one-to-many relationship can often be handled in a combo box or list box. For example, multiple customers don’t join together for an order. Only one piece of information, the CustomerID, is required in the Orders table. Users select the appropriate customer’s foreign key from the combo box which lists all existing customers.

The order detail form also has its own menu of actions related to handling orders. It’s displayed horizontally. The captions on the labels combine an action and a target:

  • Add Order

  • Delete Order

  • Create Invoice

  • Ship Order

  • Receive Payment

  • Close Order

They execute embedded macros that do some basic error checking and then carry out the appropriate action.

Employees list and employee details

The employees list (frmEmployeeDetail) is similar in most ways to the orders list (frmOrderDetails). It has a hyperlink to select an individual employee, for example, and it is also read-only.

Interface design choices and business rules

Often, specific designs reflect the business rules for an application. For example, the main menu (frmMainMenu) has an action label, Add Orders, but not one for employees, products or customers. That’s because adding new employees, products or customers occurs much less often than adding new orders. Reducing the number of items on the menu by placing other add labels on their list or details forms, therefore, makes sense. Otherwise, this form follows a similar approach to the orders forms.

Products List and Product Details

The Add Product label is on the list form for products because Northwind’s product catalog is more volatile than employees, but not as frequently updated as new orders.

The Export to File label opens a built-in Access Wizard to create and export a list of products to an external file in Word format, Excel format, PDF format, among other options.

As with previous lists, a hyperlink opens the product detail form (frmProductDetail) to edit an individual product. It also illustrates a unique Product Code, rather than the primary key, which is a more human-friendly value.

One additional feature on the products detail pop up form is a Go to Product combo box. This combo box was created with the Access Control Wizard, which is accessible on the ribbon, and removes the current filter and refilters products to the one selected in the combo box.

Customers List and Customers Detail

Although split forms are less frequently used by developers, in order to illustrate them in Northwind 2.0 Starter Edition, customers list is a split form. For more information, see Create a split form.

Split forms have two parts, a single view part showing the currently selected record and a datasheet part showing a list of records. Because a split form doesn’t work in subform controls, it has to load as a new window to show that feature. Compare that behavior to the other list forms which do load in the subform control.

The splitter bar is just above the ID/Customer Name title row. Pull it down and see the full splitter form in action.

This form (frmCustomerList) also illustrates a couple more Access features. The Show/Hide Fields label allows you to change the fields shown. The Create labels label opens an Access Wizard to lead you through the creation of address labels for a mailing to customers.

Admin settings

Most Access applications require global settings to work properly. Some are determined by the developer, but some need to be accessible to users from time to time. The admin form (frmAdmin) illustrates a few settings that users control directly or indirectly:

  • TaxRate is the same for all orders, but you can change it here.

  • AutoLogin and PromptForPersonalLogin determine the user experience when first starting Northwind 2.0 Starter Edition, or when returning after the first use. You would use these to reset the initial experience for a new user.

  • LastResetDate is where the date is saved when Reset Dates was last used. Its sole purpose is to then display that date in the left navigation as a bit of "eye candy".

On the admin menu, you’ll find a form (sfrmAdmin_InternetOrders) through which you can create internet orders that simulate orders received through a website. It also illustrates validation by limiting the number of orders created each time

See also

Northwind 2.0 Starter Edition

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.