一覧から項目を選択した時に関連したデータを表示させる
  商品区分、地域コードなど、データのカテゴリーを表す項目をクリックした
時に、同時に関連したデータを表示する方法を説明します。


● 準備 ●

(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の値が反映されません。

Access97/2000



戻る


Excel Word Access VBA! モーグ