We want to make it easy to register students for their classes. We'll do this by creating a form that lists student demographic information as well as the student's class section information.
The relationships we need between tables are in place, so we could select tblStudents and use the Create Form button. However, the results would look like this:
The student's demographic information is shown in the top half of the form, but the information in the subform is not informative. This is because it shows the related fields from tblEnrollments, which is a junction table. The junction table fields are needed to connect tblStudents and tblSections, but the meaningful information about the student's courses (section number, meeting time, location, course title, etc.) is in other tables.
Clearly, this would not be a useful form. However, it does help us tease out the kinds of design questions we need to be thinking about when creating forms to ensure that they are user-friendly and easy to use.
Before we create the form, let's think through our design. There are several questions we should consider before designing a form to make sure that it is meaningful, usable, and user-friendly:
- How will the form be used? For example, will it be used only for viewing data, or for entering and updating information in the database as well?
- What information should be placed on the form? For example, what data do users need to perform their tasks?
- Where does the information belong on the form? The order in which a user moves through the fields is important so that the user doesn't have to "back-track" in order to enter information. Additionally controls should be positioned where they would be most convenient.
- How can the form make entering data easier? Consider places where default values, locked (not editable) fields, drop down lists, or other input controls can be used to help ensure data integrity and make the user's tasks easier.
- Does the form's design fit with the rest of the database? Does the form look like it belongs in our database?
- Is the form's purpose clear? Can users quickly identify that they have selected the correct form for the task they need to perform? Remember the entire point of a form is to make data entry as straightforward, easy, consistent, and efficient as possible for our data entry users.
With these questions in mind, let's think about how we want these forms to work.
- How will the form be used? We're using this form to register students for class sections, but not to enter or edit student demographic information, which should be imported from a central administrative system.
- What information belongs on the form? The main form needs to have the student demographic information. However, we will leave off the student ID number, because it could be considered sensitive information. The subform needs to show the course title, section number, credit hours, and grade to provide meaningful and relevant information for both forms.
- Where does the information belong on the form? The main form's information should be laid out to make it easier to read and navigate than the form we created a moment ago. For example, we can display name and address information similarly to how you would see it laid out on a mailing label.
- How can the form make entering data easier? Since we are not going to enter new student records or edit any student demographic information, the student fields should be set to read only. In addition, several of the course-related fields we need have lookup fields or other data entry aids already programmed in their original table. As we add those fields, some of those settings will be automatically imported.
- Does the form's design fit with the rest of the database? We will also make decisions on how to color the form to create a visual consistency. Oftentimes, branding considerations will factor into deciding what color scheme to use. We will assume that the University of the Midwest has a maroon color theme and apply that to the any forms we create.
- Is the form's purpose clear? We'll want a prominently featured title for our form.
The form will thus need to pull fields from tblStudents, tblEnrollments, tblSections and tblCourses. The initial form we create will look something like this:
Once we have created it, we will modify the layout according to our design objectives.