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