Solved

Right Click Shortcut Menu's in Access 2010

Posted on 2013-11-16
3
1,922 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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

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

I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
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…
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…
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.

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

11 Experts available now in Live!

Get 1:1 Help Now