在 MS Access 表单中,我有一个可用的弹出菜单,但我想知道如何以不同的方式设置它。
弹出菜单定义:
With CommandBars.Add("TreeNodeActions", msoBarPopup, False)
With .Controls.Add(msoControlButton)
.caption = "Copy"
.OnAction = "=CopyNode()"
End With
End With
问题 1:为什么等号和空参数列表是必要的(没有它们就不行)?为什么不只是.OnAction = "copyNode"
,正如本论坛其他主题中所建议的那样?
问题 2:我希望运行一个子例程,但唯一的方法是调用一个调用子例程的函数 - 见下文。如何直接调用子程序?
Private Function CopyNode()
Call CopyBid
End Function
Private Sub CopyBid()
Dim nodx As node
Set nodx = Me.TreeView1.Nodes(Me.nodeKeySelected.Value)
Me.BidIdToBeCopied = nodx.Tag
End Sub
问题3:弹出菜单在树形视图控件上;我希望将选定的节点传递给子例程,这样我就不必将节点键存储在表单上(在树视图鼠标单击上)并在上面的子程序中使用它。我希望能够拥有以下内容。命令栏中定义的菜单项如何控制传递参数?
Private Sub CopyBid(nodx As node)
Me.BidIdToBeCopied = nodx.Tag
End Sub