Best Methodology for Access 2010 Menus

In the past, I would create an application and use the switchboard manager to create a menu.
I noticed (finally) that that's old school it seems. So I tried to add something to the Access Toolbar.
I created a Tab and added my form, reports, etc
Problem is that :
1) it appears on ALL of my access apps
2) it doesn't appear when my users open the app.

I'm looking for suggestions to correct or perhaps a better methodology?
Who is Participating?
DatabaseMX (Joe Anderson - Microsoft Access MVP)Connect With a Mentor Database ArchitectCommented:
Embrace the Ribbon. It's here to stay and offers a LOT of flexibility and control, not to mention great cosmetic features.
But will need Gunter's tool - defacto standard for creating Custom Ribbons:

Get this and you  will be good to go.
PatHartmanConnect With a Mentor Commented:
Sometimes "old school" works.  I use switchboards but I've modified the code.  I copied an old one from A2003 when they still used VBA and modified it to have 12 items rather than 8 and made it work with themes so it changes when I change the theme.  Of course, once you alter the item count, you can't easily use the wizard to add new items although you can do some things but you may have to go in to the Switchboard Items table directly and change the numbers after the fact.

I tried the new tab form but hated it.  It is limited to 25 items - 5 across and 5 down and having all your forms become subforms that you can't control leads to coding issues.
Gustav BrockConnect With a Mentor CIOCommented:
I have used a tile style main screen using the official Windows 8 colour scheme.
However, even though the tiles are just buttons, it takes a little to get the design right so if you don't like working with graphics like I do, I would not advice to go this route:
Main screenFor the "submenu" tasks, I either use clickable labels like here - mid-left (Change Password) or mid-top (Change Database):
Login screenFor more convoluted tasks, it's the band - as suggested by Joe.

Get 10% Off Your First Squarespace Website

Ready to showcase your work, publish content or promote your business online? With Squarespace’s award-winning templates and 24/7 customer service, getting started is simple. Head to and use offer code ‘EXPERTS’ to get 10% off your first purchase.

Dale FyeConnect With a Mentor Commented:
I have not used it in a number of years, and could not find it when I looked briefly, but I use a single form with about 10 (your call) command buttons.  Then I used a table with structure something like:

ID - Autonumber
MenuItemName - what goes in the Caption property of the command button
MenuItemDesc - displays in the Control Tip Text for the command button
SortOrder - Order of buttons within a given menu
MenuItemAction - "SubMenu", "OpenForm", "OpenReport", ...
MenuItemActionObject  - Name of the form, report or other action object
ParentID - ID of the previous menu

When the form opens, I loop through this table where ParentID = NULL, setting the command button properties (Caption, ControlTipText, Visible, and Tag [this is where I store the menu items ID]).

When you click a button, it identifies whether to display a submenu, another form, or a report based on the MenuItemAction property for that menu item.  If it is a submenu, I run back through the previously mentioned loop to reformat the command buttons based on the newly selected button.

I generally have a Back button which I use to move back to the previously selected menu.  If you append the ID value associated with the current selection (one of the main buttons) to the tag property of this "<< Back" button, then when you click the button, you can read the last number attached to that property, delete that entry, and then reformat the buttons again.  You could also use an array or collection to store these values but I found it easy to use the tag property.

Helen FeddemaConnect With a Mentor Commented:
I have a standard main menu, with one or two big buttons for the main form(s), and selectors for other forms, reports, and various paths.  The paths are stored to custom database properties, so they can be retrieved and used throughout the database.  Here is a link for downloading the sample database:

and here is a screen shot of the menu:

New Style main menu
GNOVAKAuthor Commented:
Database MX -
I would love to embrace the ribbon, however, here are my concerns:
1) The ribbon I created works fine. But, It is on ALL of my Access databases/applications - How to avoid?
2) Other users dont have it when I move the database - How do I do that?

FWIW, our systems do not allow for user installation (could do this at home and send, but PITA), but the one I have works great, if only I could address the above two concerns.
DatabaseMX (Joe Anderson - Microsoft Access MVP)Connect With a Mentor Database ArchitectCommented:
1) The ribbon I created works fine. But, It is on ALL of my Access databases/applications - How to avoid?
Not sure I am following ... but ...

You create a Custom Ribbon using Gunter's tool.  That Ribbon goes with a specific db via the USysRibbons table.  Also, that table can easily be imported into another db as a jump start for a different ribbon - if desired.

2) Other users dont have it when I move the database - How do I do that?
Again ... creating a Custom Ribbon goes with the db.
Antonio Salva RipollConnect With a Mentor Commented:
Hi Gnovak.

The Ribbon is a very good solution, I'm using it very often.

You must create the SysRibbon table in your database, and add the XML code in it. Also you must put the code to manage your ribbon. Int his way you have a ribbon that is independent from Access, and that is dependent on the database.

As the ribbon is in a table, you can pass it to your users within the database, and is independant from the genaral ribbon. Also, if you set the StartFromScratch property to true, the Access ribbon is hidden and the only ribbon you use is your database's ribbon.
GNOVAKAuthor Commented:
thanks everyone. While I like the switchboard/form idea. I want to move forward as the ribbon allows for more intuitive use for my specific users.
Thanks everyone!
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.