即効テクニック |
●概要● 商品区分、地域コードなど、データのカテゴリーを表す項目をクリックした時に、同時に関連したデータを表示する方法を説明します。 ●準備●●サンプルコード● Private Sub 商品区分一覧_Click() Me.sub商品マスタ.Form.Filter = _ "商品区分ID = '" & Me.商品区分一覧.Column(0) & "'" Me.sub商品マスタ.Form.FilterOn = True End Sub ●動作確認● フォームビューに変更し、リストボックスの適当な値をクリックする。 クリックした時に、サブフォームのデータがリストボックスで選択している商品区分IDと同じモノであることを確認して下さい。 ●詳細● サンプルではFilterプロパティを使用することによってサブフォームのデータを抽出しています。このプロパティを使用する際には、必ずFilterOnプロパティとセットで使うように注意してください。FilterOnプロパティをTrueにしないと、設定したFilterの値が反映されません。
- 以下の構成の[商品マスタ]テーブルを作成します
---------------------------------------- フィールド名 データ型 商品ID オートナンバー(主キー) 商品区分ID テキスト型 商品名 テキスト型 販売価格 通貨型 ----------------------------------------- 以下の構成の[商品区分マスタ]テーブルを作成します
---------------------------------------- フィールド名 データ型 商品区分ID テキスト型(主キー) 商品区分名 テキスト型 ----------------------------------------- 商品マスタテーブルをレコードソースにした表形式のフォームを作成し、 [商品マスタフォーム]という名前を付ける
- 新規の非連結フォームを作成し、[商品一覧]という名前を付ける
- [商品一覧]フォームにリストボックス[商品区分一覧]と、サブフォーム [sub商品マスタ]を作成する
- [商品区分一覧]のRowSource/値集合ソースを[商品区分マスタ]テーブルに 設定し、列見出しを「はい」にする
- [sub商品マスタ]のソースオブジェクトを[商品マスタフォーム]にする
- リストボックス[商品区分一覧]のOnCllic/クリック時イベントに、以下の プロシージャを記述する