Solved

Right Click Shortcut Menu's in Access 2010

Posted on 2013-11-16
3
1,934 Views
Last Modified: 2013-11-17
Previously asked a question about creating right click shortcut menu's in Access 2010.  I use these menu's for navigation on a form by setting them as shortcut menu's.  Here is an example that was included in responses to my original question.

Public Function CreateCMenu()
On Error Resume Next

    CommandBars("MyContext").Delete

    Dim cmb As CommandBar 'Object
    Dim cmbBtn1 As CommandBarButton 'Object
    Dim cmbBtn2 As CommandBarButton 'Object

    Set cmb = CommandBars.Add("MyContext", _
               msoBarPopup, False, False)    ' msoBarPopup = 5
        With cmb
              ' add cut, copy, and paste buttons with the "magic number" technique that assigns
              ' appearance and behavior. The magic number goes in as the second parameter

            .Controls.Add msoControlButton, _
                  21, , , True  ' 21=Cut, msoControlButton=1
            .Controls.Add msoControlButton, _
                      19, , , True  '19= Copy
            .Controls.Add msoControlButton, _
                      22, , , True  ' 22=Paste

' add customized buttons with our caption and function name -- second param is blank
            Set cmbBtn1 = .Controls.Add(msoControlButton, _
                                    , , , True)
            With cmbBtn1
                .BeginGroup = True
                .Caption = "Create New"
                .OnAction = "=CreateNewOrder()"
                .FaceID = 59  'smiley face
            End With
           
            Set cmbBtn2 = .Controls.Add(msoControlButton, _
                                    , , , True)
            With cmbBtn2
                .Caption = "Reset"
                .OnAction = "=ClearOrder()"
            End With
        End With

   
End Function

When I execute 'CreateCMenu' I get the error 'User defined type not defined on the statement  
Dim cmb As CommandBar 'Object

I'm sure I need to add a reference to the DB but I don't know which one.

Anyone know?
0
Comment
Question by:mlcktmguy
  • 2
3 Comments
 
LVL 49

Accepted Solution

by:
Gustav Brock earned 100 total points
ID: 39654234
Yes. That reference is: Microsoft Office 14.0 Object Library

I use:

    Dim cmb         As Office.CommandBar
    Dim cmbBtn      As Office.CommandBarButton

/gustav
0
 
LVL 1

Author Closing Comment

by:mlcktmguy
ID: 39654628
Exactly what I needed.
I'll be posting more questions about these menu's because the example I used above does not work as a right click 'shortcut menu' on a form.
0
 
LVL 49

Expert Comment

by:Gustav Brock
ID: 39654671
You may just need to activate it.
This works for me:
Private Function CreateContextMenuViews()

    Const cstrMenu  As String = "ContextMenuViews"

    Dim cmb         As Office.CommandBar
    Dim cmbBtn      As Office.CommandBarButton

On Error Resume Next

    CommandBars(cstrMenu).Delete

    Set cmb = CommandBars.Add(cstrMenu, msoBarPopup, False, True)
    With cmb
        ' Add cut, copy, and paste buttons with the "magic number" technique that assigns
        ' appearance and behavior. The magic number goes in as the second parameter.
'        .Controls.Add msoControlButton, _
'            21, , , True  ' 21 = Cut
'        .Controls.Add msoControlButton, _
'            19, , , True  ' 19 = Copy
'        .Controls.Add msoControlButton, _
'            22, , , True  ' 22 = Paste

        ' Add customized buttons with our Caption and function name.
        ' Second param is blank.
        Set cmbBtn = .Controls.Add(msoControlButton, , , , True)
        With cmbBtn
            .BeginGroup = True
            .Caption = "Restore Default Settings"
            .OnAction = "=ClearUserSettings()"
            .FaceId = 8     ' Datasheet.
        End With
    End With
    
    ' Activate default (native) shortcut menu for form.
    Me.ShortcutMenuBar = ""  'cstrMenu
    Me.ShortcutMenu = True
    
    Set cmbBtn = Nothing
    Set cmb = Nothing

End Function

Open in new window

/gustav
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Difference between tabbed sub form and navigation sub form 6 22
Visible ppty on rpt 7 15
Problem with vba code 4 36
Signature required on a report 5 25
This article is a continuation or rather an extension from Cascading Combos (http://www.experts-exchange.com/A_5949.html) and builds on examples developed in detail there. It should be understandable alone, but I recommend reading the previous artic…
It’s the first day of March, the weather is starting to warm up and the excitement of the upcoming St. Patrick’s Day holiday can be felt throughout the world.
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.
In Microsoft Access, learn different ways of passing a string value within a string argument. Also learn what a “Type Mis-match” error is about.

790 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