Access 2007 - using shortcut / right click command bars

Posted on 2007-11-19
Last Modified: 2013-11-28
I have used shortcut menus fine in access 2003 where it allows you to set these up manually. From looking through the posts it looks like you can add these in code and looks like you only need to run code once to set up.

However I can't find the right code to set up - looks like it relates to CommandBars.Add and then adding controls to this but I cannot get right code without an error.

Does anyone have the code to set up a shortcut menu which I can then select in the shortcut menu bar Property on a control on a form.

I would like to set up a shortcut with say 3 items to select - Ideally I would like one of these to run a function.
Question by:donhannam
  • 2
  • 2

Expert Comment

ID: 20317504

Here's some code that I've been using.  

My toolbar is called "Novitas Tools"  (it's the name of a large application I wrote).  The code first removes the toolbar if it's there, then adds the buttons one by one.  Change the lines NewBtn.OnAction =  to reference your subroutine name.

Hope this is what you were looking for.

--Jim Christmas
Sub NovitasToolbar()

Dim ctlPop As CommandBarPopup

Dim ctl As CommandBarControl

Dim NewBtn As CommandBarButton

Dim strPlatform As String

    On Error GoTo Exit_Toolbars

    'Remove Existing

    For Each ctl In Application.CommandBars("Menu Bar").Controls

        If ctl.Caption = "Novitas Tools" Then ctl.Delete

    Next ctl

    Set ctlPop = Application.CommandBars("Menu Bar").Controls.Add(msoControlPopup, , , , True)

    ctlPop.Caption = "Novitas Tools"


    Set NewBtn = ctlPop.Controls.Add(msoControlButton)

    NewBtn.Caption = "Lookup a Novitas &User"

    NewBtn.OnAction = "LaunchWhoIs"

    NewBtn.FaceId = 362


    Set NewBtn = ctlPop.Controls.Add(msoControlButton)

    NewBtn.Caption = "&Calculator"

    NewBtn.OnAction = "LaunchCalc"

    NewBtn.FaceId = 283


    Set NewBtn = ctlPop.Controls.Add(msoControlButton)

    NewBtn.Caption = "Calen&dar"

    NewBtn.OnAction = "LaunchCalendar"

    NewBtn.FaceId = 1106


    Set NewBtn = ctlPop.Controls.Add(msoControlButton)

    NewBtn.Caption = "Send &eMail"

    NewBtn.OnAction = "LaunchContextEMail"

    NewBtn.FaceId = 262


    If GetLoginID = "JCHRIS1" Then

        Set NewBtn = ctlPop.Controls.Add(msoControlButton)

        NewBtn.Caption = "&Administration Console"

        NewBtn.OnAction = "LaunchAdmin"

        NewBtn.FaceId = 2144

    End If


    Exit Sub


    If Err Then Err.Clear


End Sub

Open in new window


Author Comment

ID: 20317691

Tried this - ran without errors but cannot get to work as a shortcut menu.

By playing around a bit managed to get to display on shortcut menu bar list dropdown but when right clicked there was nothing in the list.

Is this for shortcuts or is it for toolbars or menu bars?.

Appreciate any help



Accepted Solution

MrXmas earned 250 total points
ID: 20317710

Sorry.  That's for menu bars.  I launch everything from the code in the subs.  

--Jim Christmas

Author Closing Comment

ID: 31410046
Not what I was looking for but have used part of code for other uses.

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

The first two articles in this short series — Using a Criteria Form to Filter Records ( and Building a Custom Filter ( — discuss in some detail how a form can be…
Overview: This article:       (a) explains one principle method to cross-reference invoice items in Quickbooks®       (b) explores the reasons one might need to cross-reference invoice items       (c) provides a sample process for creating a M…
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

895 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

15 Experts available now in Live!

Get 1:1 Help Now