Solved

Best Methodology for  Access 2010 Menus

Posted on 2016-07-28
10
35 Views
Last Modified: 2016-10-08
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?
0
Comment
Question by:GNOVAK
10 Comments
 
LVL 34

Assisted Solution

by:PatHartman
PatHartman earned 71 total points
Comment Utility
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.
SwitchboardFormBasic.accdb
1
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Access MVP) earned 145 total points
Comment Utility
Embrace the Ribbon. It's here to stay and offers a LOT of flexibility and control, not to mention great cosmetic features.
But ...you will need Gunter's tool - defacto standard for creating Custom Ribbons:

http://www.ribboncreator2010.de/en

Get this and you  will be good to go.
2
 
LVL 49

Assisted Solution

by:Gustav Brock
Gustav Brock earned 71 total points
Comment Utility
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.

/gustav
0
 
LVL 47

Assisted Solution

by:Dale Fye (Access MVP)
Dale Fye (Access MVP) earned 71 total points
Comment Utility
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.

HTH
Dale
1
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 31

Assisted Solution

by:Helen_Feddema
Helen_Feddema earned 71 total points
Comment Utility
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:

http://www.helenfeddema.com/Files/accarch212.zip

and here is a screen shot of the menu:

New Style main menu
1
 

Author Comment

by:GNOVAK
Comment Utility
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.
0
 
LVL 75

Assisted Solution

by:DatabaseMX (Joe Anderson - Access MVP)
DatabaseMX (Joe Anderson - Access MVP) earned 145 total points
Comment Utility
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.
1
 
LVL 2

Assisted Solution

by:Antonio Salva Ripoll
Antonio Salva Ripoll earned 71 total points
Comment Utility
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.
0
 

Author Comment

by:GNOVAK
Comment Utility
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!
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

Most if not all databases provide tools to filter data; even simple mail-merge programs might offer basic filtering capabilities. This is so important that, although Access has many built-in features to help the user in this task, developers often n…
Today's users almost expect this to happen in all search boxes. After all, if their favourite search engine juggles with tens of thousand keywords while they type, and suggests matching phrases on the fly, why shouldn't they expect the same from you…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now