hiroton
2020/10/29 (木) 10:34:33
16ef8@f966d
クリックしたボタンならMe.ActiveControl
で取得できます
Private Sub btn診療リスト_click
MsgBox Me.ActiveControl.Name '//->「btn診療リスト」が表示される
End Sub
ボタン名:btn診療リスト
フォーム名:F_診断リスト
MsgBox IIf("btn診療リスト" = "F_診断リスト", "同じ", "異なる") '//->異なる
質問の内容だとボタン名とフォーム名は同じではないですね
ボタンの画面上に表示している文字ならそれは標題です。VBAならCaption
で取得できます
ユーザー定義関数とする場合、一つのフォームで使うだけならそのフォームのモジュールに記述してMe
キーワードでいいですが、様々なフォームで使おうとするなら標準モジュールに記述することになりMe
は使えません。そんなときにはCodeContextObject
を使います
あとはまぁ、どうしてもフォーム名を直接指定したいなんて場合もでるでしょう
Public Function myFormOpen( Optional formName As String)
DoCmd.OpenForm IIf( formName <> "", formName, CodeContextObject.ActiveControl.Caption ), , , , ,acDialog
End Function
通報 ...
標題の質問にお答えいただきありがとうございます!確認します。