HOME > 即効テクニック > AccessVBA > フォーム・レポート > 入力するテキストボックスによってサブフォームを変更する

即効テクニック

フォーム・レポート

入力するテキストボックスによってサブフォームを変更する

( - )

フォームにいくつかのテキストボックスが配置されている場合、入力するテキストボックスによってサブフォームを変更する方法として、SourceObjectプロパティを変更するサンプルを紹介します。
SourceObjectプロパティは、フォームまたはレポートのサブフォームまたはサブレポートのソースである、フォームまたはレポートを示します。
各テキストボックスのGotFocusイベントに、次のステートメントを記述します。
GotFocusイベントは、フォーカスを受け取ったときに発生します。

    Me!サブフォーム名.SourceObject = フォームまたはレポート名

たとえば、フォームに「テキスト1」と「テキスト2」というテキストボックスと「埋め込み1」というサブフォームが配置されていたとします。
次のイベントプロシージャでは、テキスト1がフォーカスを受け取ったら、テーブル「住所録」を表示するように記述されています。

Private Sub テキスト1_GotFocus()
    Me!埋め込み1.SourceObject = "テーブル.住所録"
End Sub

次のイベントプロシージャでは、テキスト2がフォーカスを受け取ったら、テーブル「郵便番号簿」を表示するように記述されています。

Private Sub テキスト2_GotFocus()
    Me!埋め込み1.SourceObject = "テーブル.郵便番号簿"
End Sub