今開いていてアクティブなフォーム(=フォーカスのあるフォーム)を調べるには、ScreenオブジェクトのActiveFormプロパティを使います。このプロパティ値をあるフォームの[開く時]イベントプロシージャで調べることによって、次のようなことができます。
- "フォームA"の[検索]ボタンをクリックすると、オリジナルの"検索フォーム"が開く。
- "フォームB"の[検索]ボタンをクリックすると、オリジナルの"検索フォーム"が開く。
- "検索フォーム"はフォームA・Bから開かれる、1つの共通のフォーム。
- "検索フォーム"の標題は、フォームA・Bどちらから開かれたかによって切り替える。
このような動作をさせるために、"検索フォーム"の[開く時]イベントプロシージャを次のようにします。
Private Sub Form_Load()
Select Case Screen.ActiveForm.Name
Case "フォームA"
Me.Caption = "社員マスタ 検索"
Case "フォームB"
Me.Caption = "取引先マスタ 検索"
Case Else
End Select
End Sub
|