?
Solved

Right Click Shortcut Menu's in Access 2010

Posted on 2013-11-16
3
Medium Priority
?
1,990 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 52

Accepted Solution

by:
Gustav Brock earned 400 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 52

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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Traditionally, the method to display pictures in Access forms and reports is to first download them from URLs to a folder, record the path in a table and then let the form or report pull the pictures from that folder. But why not let Windows retr…
Beware when using the ListIndex and the Column() properties of a listbox in Access 2007.  A bug has been identified in the Access 2007 listbox code which can cause the .ListIndex property to return a -1, and the .Columns(#) property to return a NULL…
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…
Enter Foreign and Special Characters Enter characters you can't find on a keyboard using its ASCII code ... and learn how to make a handy reference for yourself using Excel ~ Use these codes in any Windows application! ... whether it is a Micr…

609 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