HOME > 即効テクニック > AccessVBA > コーディング・デバッグ > 一覧から項目を選択した時に関連したデータを表示される

即効テクニック

コーディング・デバッグ

一覧から項目を選択した時に関連したデータを表示される

(Access 97)
●概要●
商品区分、地域コードなど、データのカテゴリーを表す項目をクリックした時に、同時に関連したデータを表示する方法を説明します。

●準備●
  1. 以下の構成の[商品マスタ]テーブルを作成します
  2. ---------------------------------------- フィールド名 データ型 商品ID オートナンバー(主キー) 商品区分ID テキスト型 商品名 テキスト型 販売価格 通貨型 ----------------------------------------
  3. 以下の構成の[商品区分マスタ]テーブルを作成します
  4. ---------------------------------------- フィールド名 データ型 商品区分ID テキスト型(主キー) 商品区分名 テキスト型 ----------------------------------------
  5. 商品マスタテーブルをレコードソースにした表形式のフォームを作成し、 [商品マスタフォーム]という名前を付ける
  6. 新規の非連結フォームを作成し、[商品一覧]という名前を付ける
  7. [商品一覧]フォームにリストボックス[商品区分一覧]と、サブフォーム [sub商品マスタ]を作成する
  8. [商品区分一覧]のRowSource/値集合ソースを[商品区分マスタ]テーブルに 設定し、列見出しを「はい」にする
  9. [sub商品マスタ]のソースオブジェクトを[商品マスタフォーム]にする
  10. リストボックス[商品区分一覧]の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の値が反映されません。