Nicholson, Karen
cyx5 at cdc.gov
Fri Sep 3 14:15:48 CDT 2004
I am coding my custom menus for many forms. From what I have read, it
seems that in order to process an .OnAction, one needs to create a
function that can be reference inside of, for instance:
.Caption = "Tracking Sheet - Approval Applications"
.OnAction = "fnOpenTrackingSystemCL"
Do I really need to create functions to execute something as simple as:
DoCmd.OpenForm "frmTrackingSystemCL", acNormal
DoCmd.Maximize
(which is in the function fnOpenTrackingSystemCL)
Show below is my code for the menu item; there are a few modules
associated with this code to make it work, but this is the bulk of it:
Sub CreateNewMenuB()
Dim strMenuNameB As String
Dim cmdNewMenuB As CommandBar
Dim cctlFormMenuB As CommandBarControl
Dim cctlExitMenuB As CommandBarControl
strMenuNameB = "ClosedProjectsMenu"
'If strMenuName exists then deleted it. Commandbars have unique
names.
'See global section for fIsCreated
If fIsCreated(strMenuNameB) Then
Application.CommandBars(strMenuNameB).Delete
End If
'Create a new Commandbar as MenuType
Set cmdNewMenuB = Application.CommandBars.Add(strMenuNameB,
msoBarTop, True, False)
With cmdNewMenuB
'Set commandbar protection to no protection so users can change
it
.Protection = msoBarNoProtection
'Show new menu
.Visible = True
End With
'Creating Form menu
Set cctlFormMenuB = cmdNewMenuB.Controls.Add(msoControlPopup)
cctlFormMenuB.Caption = "&File"
'Creating Exit menu under File
Set cctlExitMenuB = cctlFormMenuB.Controls.Add(msoControlButton)
With cctlExitMenuB
.Caption = "R&eturn"
.OnAction = "fnQuitApp"
.Caption = "Tracking Sheet - Approval Applications"
.OnAction = "fnOpenTrackingSystemCL"
End With
End Sub
Karen Nicholson
National Laboratory
Xerox Global Services