コンボボックス 選択された項目から、複数の内容を表示させる [コンボボックス]
「基本的な作り方」の記事では、都道府県CDを選択して、隣のテキストボックスに選択された都道府県名を表示させる方法を説明しました。
今回は、度道府県名以外の、その他複数の項目を表示させる方法です。
こんな画面を作ります。
使用するデータは今回も都道府県一覧データ。
県庁所在地(正しくは都道府県庁所在地)、面積、人口を追加しました。
では、手順を説明します。
まず、「基本的な作り方」の記事と同じように、都道府県CD選択のコンボボックスを作成します。
この状態から、続きの作業を行います。
都道府県コンボボックスのプロパティを表示させて、「データ」タブの、「値集合ソース」の「…」をクリックします。
クエリビルダーが表示されます。
上のテーブル項目一覧から、「TDFKCHO」(県庁所在地)、「AREA」(面積)、「POP」(人口)項目を、下のグリッドに追加します。
追加する方法は、項目名のダブルクリックや、ドロップなどで行います。
項目を追加したら、クエリビルダーの「×」ボタンをクリックして、クエリビルダーを終了します。
「SQLステートメントの変更を保存し、…」のメッセージが表示されたら、「はい」をクリックします。
フォームのデザインビューに戻ります。
都道府県コンボボックスのプロパティシートで、「書式タブ」の内容を、以下のように設定します。
「列数」…5
「列幅」…1cm;3cm;0cm;0cm;0cm
コンボボックスのクエリの列を増やしましたので、コンボボックスの列数もそれにあわせて、5列に設定します。
しかし、コンボボックスをクリックしたときに表示されるリストには、今回追加した「県庁所在地」以降の列は表示させたくないので、「列幅」で「0cm」を設定して、見えなくしています。
次に、テキストボックスとラベルを3組配置します。
テキストボックスを追加する手順と、書式設定関連は省略です。
「県庁所在地」テキストボックスのプロパティシートの「データ」タブにある、「コントロールソース」項目に、「=[txtTDFKCD].[COLUMN](2)」を入力します。
これは、都道府県コンボボックスから、3列目の内容、という意味になります。(0が1列目)
同様に、「面積」テキストボックスは「=[txtTDFKCD].[COLUMN](3)」、
「人口」テキストボックスは「=[txtTDFKCD].[COLUMN](3)」を設定してください。
これで、できあがりです。
コンボボックスで、項目を選択すると、
コンボボックスの3~5列目に追加した項目の内容が、それぞれ表示されます。
※注意事項
今回の手順は、コンボボックスで選択された内容から、関連する情報を取り出す場合の、簡単な方法になります。
この方法を実際の業務システムなどで実装する場合は、注意が必要です。
この方法は、取り出したいデータをコンボボックスのクエリに含めて、コンボボックスにその情報を持たせています。
通常、このデータは、コンボボックスが初期化される1回のみ読み込まれて、そのあとは更新されません。
複数の人が同時に使用するシステムで、更新頻度が高い場合、表示内容がその時点の内容と異なってしまう可能性があります。
ですので、この方法は、他からデータが更新されることが無い場合や、表示される内容の正確性が重要でない場合(参考程度)と言う条件が必要です。
そうでない場合は、コンボボックスがクリックされるたびにリクエリをするか(クエリが複雑な場合はあまり推奨されません)、イベントでデータを読み込む処理を作成するか、になります。
この例は、もっとも簡単なパターンだと思ってください。
コメント 0