Solved

Best Methodology for  Access 2010 Menus

Posted on 2016-07-28
10
38 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
ID: 41733611
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
ID: 41734010
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
ID: 41734278
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
ID: 41734608
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
Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

 
LVL 31

Assisted Solution

by:Helen_Feddema
Helen_Feddema earned 71 total points
ID: 41734612
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
ID: 41734761
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
ID: 41734973
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
ID: 41735511
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
ID: 41737623
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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In the article entitled Working with Objects – Part 1 (http://www.experts-exchange.com/Microsoft/Development/MS_Access/A_4942-Working-with-Objects-Part-1.html), you learned the basics of working with objects, properties, methods, and events. In Work…
Introduction When developing Access applications, often we need to know whether an object exists.  This article presents a quick and reliable routine to determine if an object exists without that object being opened. If you wanted to inspect/ite…
Familiarize people with the process of retrieving data from SQL Server using an Access pass-thru query. Microsoft Access is a very powerful client/server development tool. One of the ways that you can retrieve data from a SQL Server is by using a pa…
What’s inside an Access Desktop Database. Will look at the basic interface, Navigation Pane (Database Container), Tables, Queries, Forms, Report, Macro’s, and VBA code.

932 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

12 Experts available now in Live!

Get 1:1 Help Now