As you may have gathered, one of my roles within this niche covers IT software training. When teaching Ms Access forms (usually during day 2), delegates would normally be shown the quickest method of creating such forms and that means using either the Access form templates or the built-in wizard tool.
This of course means most forms (if not all) are ‘bound‘ forms or in other words, have a data source file attached whether it be a table or query.
In fact, when I train this area of MS Access, I normally categorise into four types of use for such an object; these are:
1. Data Entry Form – Forms which
give users an easy to use interface to add, modify and delete records.
2. Screen Enquiries (Read Only) – Forms that allow users to view as read only screens restricting functionality and filtering for certain records only.
3. Dialog Box – Forms which act as a communication portal between users and the system passing data and values to interact with Access.
4. Menu Screen (Switchboard) – Forms which allow users to navigate around the database system without ever knowing or having access to the background design.
Microsoft Access Forms: What Are The Pros And Cons Of Using Unbound Access Database Forms
To quickly put into perspective of the above four types, one can associate which method could be set as ‘bound‘ or ‘unbound‘ for each one. The first two items would be bound; the first to normally a table and the second to a query.
The third type of use (Dialog) would normally be an unbound form as by definition this form would not require any archiving of the data values. The last item would be be bound to a table if this was generated via the Switchboard Manager tool or unbound if generated by the ‘Modal Dialog‘ template or manually built.
So what are the pros and cons of using Microsoft Access forms?
Working with ‘Bound‘ forms means that it’s much easier and quicker to create forms that are associated to records from tables or queries saving on the development time.
However, every time the cursor (that is when scrolling) moves between records, you automatically trigger the save record action maintaining data integrity. What if you wanted to stop this from happening and have better control? Well, you can’t with this type of object relationship.
In fact, trying to cancel a record is not always obvious or user friendly as the ESC (escape) key has a two folded response; the first to the field your cursor is active and second the entire record. Yes, you can undo record changes but this should not be relied upon.
It does provide automatic relationship links between your tables providing you are using primary keys and other linked fields between tables correctly without the need to manually intercede.
Cosmetically, you do see simple elements like the navigation bar with a record number and counter, the ability to find and search for records (using the built-in tools) and easily call the edit and delete actions.
Aesthetically, the general look and feel of the form designs using the standard wizard tool or earlier version templates are poor – even the later version templates are not brilliant!
Using ‘Unbound‘ Access forms changes the dynamics of how you use and control records via a form. The obvious point is that by default the form loads with no data attached to it which improves the general performance especially if you had quite a busy looking form with many controls.
How you create a connection to associate data to your form would normally mean using Access VBA code (with reference to DAO or ADO – another time!) that allow users to control when to edit, update, delete and save changes to records.
You will notice a slow loading ‘bound‘ form for larger volumes of data sets which is an overhead that could be easily avoided if adopting the unbound approach. The coding for this type of form is not too exhaustive but does require some basic knowledge which is taught to the more advanced delegate (normally day 4 or 5).
Personally, using unbound Access database forms is a more professional and polished approach as it mimics the way a ‘true‘ database system should be operated as well as giving you full control and still maintain data integrity.
You can of course have mix of bound and unbound forms if you add a sub-form or two but this will still probably need some coding to automate and join any relationships between forms (if required).
Also, a ‘bound‘ form can have a mix of controls of bound (to a field) and unbound (no data values) items to provide a smoother interface that would otherwise be too clumsy by design to stick with just the one type. See image below…
The above image shows an example of an unbound form with a list box (on the left) which is an unbound control populating other unbound controls in the main area using Access VBA code and in the sub-form (lower half area) using bound forms and controls for the related active record.
Notice the ‘Save’ button (bottom left) which sends any data value changes to a table preventing the automatic save trigger action that Microsoft Access is very insistent about.
The number of controls from the main form coupled with a large volume of available records lends well to Ms Access forms being unbound.
Take a look at my eBook about How to Build Microsoft Access Forms which covers in detail all the essential tips and tricks.