前項コンボボックス作成の応用講座-1:SampleFile192今回は、コンボボックスの応用編に突入しましょう。フォーム機能を理解するにはコンボボックスをまずマスターしなくてはいけません。コンボボックスを自由に活用できればシステム構築に大きく寄与します。複数のコンボボックスを連携する今回、ご紹介する応用編の一番手は、コンボボックス同士の連結がテーマです。下図のフォームをご覧下さい。フォーム上にコンボボックスが左右に2個並んでいます。左コンボボックスはcon_No1、右コンボボックスはcon_No2と命名しています。左コンボボックスにマウスのカーソルが移動すると、上図のようにプールダウンが始まり、マウスでもキィーボードでも値を選択することができます。次に、その選択に応じて右コンボボックスには関連する値が表示されます。コンボボックスのフォーカス取得後イベントにDropdownメソッドを記述するだけです。'フォーカスが移ると同時に、ドロップダウンさせる。左のコンボボックスから東京を選択すると、右コンボボックスには、カバン、自動車、財布などが一覧表示されます。試しに、カバンを選択し「実行」のコマンドボタンをクリックすると、下記のような一覧フォームが開きます。テーブル(テーブル名tbl_sample)を作成します。左コンボボックスの値集合ソースには、下記のような集計クエリを作成します。集計欄に「カウント」を選択し、テーブルフィールドの件数の多い順に都道府県名を並べています。右コンボボックスに左コンボボックスの情報を送信する必要があります。これを実現することで、コンボボックスが連携をとることができます。コンボボックスにおいて、選択された値をキックバックする仕組みは、コンボボックスプロパティにある連結列欄の設定によります。下記の図は、左コンボボックスのプロパティです。この意味は、下記クエリ内のフィールドの位置関係にあります。今回、右コンボボックスに送信する値は都道府県名です。例でいいますと、左から1番目にある都道府県フィールドデータになります。試しに、連結列欄に0や2を入力して下さい。右側のコンボボックスには何も表示されなくなります。右側のコンボボックスの値集合ソースを見ていきましょう。選択クエリを作成します。右コンボボックスでは、左コンボボックスで選択された値を如何に取り出すのか工夫します。そこで、上記のように抽出条件欄に左コンボボックス名を指定します。この式を記述することで、二つのコンボボックスは連動します。反映させるためには、右コンボボックスの再クエリを行います。左コンボボックスの更新ご処理イベントに以下のプロシージャを記述します。左コンボボックスで値が選択されれば、直ちに右のコンボボックスの再クエリを行い、マウスのカーソルを移動させます。'更新後、右コンボボックスを再クエリし反映させる。Sub留意点コンボボックスの連携では、「連結列」と「値集合ソース」の取り扱いが焦点となりますので、皆さん方の備忘録に書き込んで置いてください。