mlcktmguy
asked on
Right Click Shortcut Menu's in Access 2010
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").D elete
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(msoControlBu tton, _
, , , True)
With cmbBtn1
.BeginGroup = True
.Caption = "Create New"
.OnAction = "=CreateNewOrder()"
.FaceID = 59 'smiley face
End With
Set cmbBtn2 = .Controls.Add(msoControlBu tton, _
, , , 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?
Public Function CreateCMenu()
On Error Resume Next
CommandBars("MyContext").D
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(msoControlBu
, , , True)
With cmbBtn1
.BeginGroup = True
.Caption = "Create New"
.OnAction = "=CreateNewOrder()"
.FaceID = 59 'smiley face
End With
Set cmbBtn2 = .Controls.Add(msoControlBu
, , , 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?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
You may just need to activate it.
This works for me:
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
/gustav
ASKER
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.