Access Tab Control: How To Create Multi-Page Forms

Access Tab Control: How To Create Multi-Page Forms

If you have been developing with Access Forms for a while then you may have noticed the Access tab control which allows you to split logical sections of fields into smaller and more manageable chunks and reduce the need to scroll all over the place keeping screen views neat and tidy.

Just as a reminder (or even if this is something new to you), take a look at the video tutorial below on how to add a tab control in a form (though the narrator is using an earlier version of Access – looks like Access 2000!).

From the demonstration, it is clear how to move (cut and paste) existing fields and their controls between sections and that each page tab has its own encapsulated area binding controls as if it were a mini-form.

Access Tab Control: How To Create Multi-Page Forms – Some Tips

As you move through the generations of Microsoft Access to the latest version 2010 (though we are currently in the beta release of Access 2013), the Access tab control really hasn’t changed too much.

It was added to follow the standard working practices of avoiding the need to scroll out of view to other elements of your screen interface improving usability and navigation.

Make sure you only need the tabs required and not to have spare tabs sitting in the control. Having this control in a form invites and tempts you to adding more fields and other controls which will start to impede on performance if you are not careful and you really to strike a good balance.

If you feel there are too many fields in a form consider using a button to call another form (as a pop-up) or even create a sub-form and bind it to the main form. Again, sub-forms do present potential performance related challenges too.

You can re-arrange and modify other properties to this control and with later versions this component can be found in the Ribbon bar.

access tab control

Simply right-mouse click on a page tab to modify individual sections or the top banner for the whole control’s properties (as shown above).

Finally, you can of course add VBA code to trap for events that are triggered when switching between tabs which make this a great technique for running validations across pages if this were for example a fill-in form exercise where the previous screen needed to be completed.

You may wish to learn about good Access form design techniques widen the scope on whether this control or using an alternative method would be a better solution by starting with my eBook on How to Build Access Database Forms – Interacting with Microsoft Access which is great value for money offer backed with my usual money back guarantee. 

This entry was posted in Forms, Microsoft Training and tagged , , , , . Bookmark the permalink.

10 Responses to Access Tab Control: How To Create Multi-Page Forms

  1. Ben says:

    Not too sure what you mean…a tab to the beginning of the tab one or to another tab control elsewhere on the form? Either way, you will probably be looking at some VBA code attach to a lost focus event testing for the index of that tab control with an IF statement test.

  2. Dani says:

    If I come to the end of one of my Tabbed Forms, how can I make it go to the next Tabbed Form, by hitting Tab, as opposed to clicking the Corresponding Tab?

  3. Ben says:

    It depends what the search will look into for each tab. Will each tab contain a sub-form for data?
    VBA code will serve you better when trying to pass a main text-box search into he active tab’s sub-form data source.
    Without seeing your design or have a full specification of this workflow, it’s difficult to be more specific.

  4. Subramanian says:

    i have how to use the search box in tab control in multiple tab pages

  5. john b says:

    About the vertical tab request, maybe you could make a drop-down list of all the tabs?
    Then when you choose a tab name from the dropdown list, you could activate that tab on the tab control.

    If you make some code where when the form opens, it reads all the tab names, and puts them into the dropdown. (of course the code would start by clearing all the current items in the dropdown).

    and when you choose from the dropdown, it could take the chosen name, look through each tab, and activate the tab if the name matches.

  6. Ben says:

    I have a form wizard which is based on the pages (without tab visible) and has code for navigating buttons.
    Please confirm your email and I will be happy to zip the db to you.

  7. Brian says:

    I have created my form with about 6 pages but am struggling to add a button of Next page at the button of each of the first 5 pages. please assist with this.

  8. Ben says:

    I think the best approach for the equivalent of vertical tabs is to adapt the option control (as buttons) aligned vertically.
    You can then have this sitting in the main form and have an unbound sub-form as the main viewing screen bound by some VBA code to each button click to load the data/source object (properties of the sub-for control) for the separately build forms as it’s dynamic sub-form.
    Something like:
    If Me.Menu_Options = 1 Then Me.sub_form.SourceObject = “frm_sub_CustomerEnquiry”

    Where ‘Menu_Options’ is the group control name for your buttons and ‘sub_form’ is the name of the unbound sub-form control.

  9. D McGinness says:

    Too bad Access won’t allow a vertical tabbed page. I have 20 offices with staffing information for each office to be utilized to track training given to each person as well as related data for the trainers. The tabs bounce around as you select a new tab — very annoying – and one easily loses their place with all this rearranging. Thus far I haven’t discovered a way to make these static.

    This would be so much easier with a vertical list of offices from which to select the proper page. And, based on what I’ve found thus far, is evidently not possible. Maybe in Access 2020?

  10. Ben Beitler says:

    Each page added to the tab control starts with an index value from 0 incrementing by 1. Therefore, the first two pages in a tab control will have a value of 0 and 1 which can be trapped in VBA code using something like ‘Me.[TabControlName].Value’ and is typically tested in a logical routine like an ‘If’ or ‘Select Case’ statement.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Confirm you are human.