Solved

Right Click Shortcut Menu's in Access 2010

Posted on 2013-11-16
3
1,948 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
[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
  • 2
3 Comments
 
LVL 50

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 50

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

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

Question has a verified solution.

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

It’s been over a month into 2017, and there is already a sophisticated Gmail phishing email making it rounds. New techniques and tactics, have given hackers a way to authentically impersonate your contacts.How it Works The attack works by targeti…
AutoNumbers should increment automatically, without duplicates.  But sometimes something goes wrong, and the next AutoNumber value is a duplicate.  This article shows how to recover from this problem.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
With Microsoft Access, learn how to start a database in different ways and produce different start-up actions allowing you to use a single database to perform multiple tasks. Specify a start-up form through options: Specify an Autoexec macro: Us…

740 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