マイクロソフトアクセスで広がる世界

アクセスのTIPS集

表示レコードを絞り込みできるリストボックス

説明

リストボックスの一覧から目的のレコードを見つける場合に、レコード数が多いと大変である。(図1)

図1のようなリストでは都道府県別に表示できると探しやすくなる。そのためには上位階層に都道府県を設けて階層化することで実現できる。(図2)

階層化には都道府県テーブルと市町村テーブルを作ってリレーションシップを設定する。今回はリストボックスの作成がテーマなので、階層化テーブル は出来ていることとして進める。(図3)

階層リストボックスの作成

  1. 非連結のフォームに都道府県テーブルの表示用リストボックスを設置し、図のようにプロパティを設定する。

  2. フォームに市町村テーブルの表示用リストボックスを設置する。プロパティの詳細は決定せずに名前のみを[Lst_市町村]とする。

  3. 市町村リストの「値集合ソース」用にクエリを作る。
    市町村テーブルのフィールドを選択し、さらに[都道府県番号]フィールド加えて抽出条件を入れる。抽出条件はリストボックス[Lst_都道府県]を参照する。また表示ボックスのチェックを外す。名前を[Q_市町村絞り込み]と付けて保存する。

  4. [Lst_市町村]リストボックスのプロパティを図のように設定する。

  5. 最後に[Lst_都道府県]の表示が更新される仕組みを作ります。更新されるタイミングは[Lst_都道府県]のレコードを選択したときです。それにはリストボックスの「更新後処理」を使います。

  6. フォームビューに切り替えて試してみましょう。

    ※このテーブルは説明用のため一部のデータしか入っていません。

(この項終わり)