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