Solved

Best Methodology for  Access 2010 Menus

Posted on 2016-07-28
10
51 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 37

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 - Microsoft MVP, Access and Data Platform) 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 50

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
PeopleSoft Has Never Been Easier

PeopleSoft Adoption Made Smooth & Simple!

On-The-Job Training Is made Intuitive & Easy With WalkMe's On-Screen Guidance Tool.  Claim Your Free WalkMe Account Now

 
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
 
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 - Microsoft MVP, Access and Data Platform)
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) 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

Back Up Your Microsoft Windows Server®

Back up 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.

Question has a verified solution.

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

In a multiple monitor setup, if you don't want to use AutoCenter to position your popup forms, you have a problem: where will they appear?  Sometimes you may have an additional problem: where the devil did they go?  If you last had a popup form open…
Access developers frequently have requirements to interact with Excel (import from or output to) in their applications.  You might be able to accomplish this with the TransferSpreadsheet and OutputTo methods, but in this series of articles I will di…
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…

739 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