<HOME <お願い事項 <Access2000 TOP <Access97 TOP <サイト内検索 | ||
MS-Access2002チョ〜入門部屋>コンボボックスを使った絞込みのしくみ | ||
□□□□■□□□ □□□□□ |
あとは、これの繰り返しなんですけどね。
みっつめのコンボ、いってみましょう。
ふたつめのコンボと手順は一緒なので、ポンポンポンといきますよ。
まず、3つめのコンボを作ります。わたしのは、名前は「コンボ4」になりました。
コンボ4のプロパティを設定します。
「値集合ソース」からいきましょう。
[市区町村テーブル]を選びます。
フィールドを選んで、抽出条件欄に フォームという名のフォームの中のコンボ2という名のコントロールの値 という意味の抽出条件を書きます。
市区町村コード順に並んでいるほうが都合がいい場合は↓、あいうえお順で探したほうがよさそうな場合は↑ という具合にしておくとよいでしょう。
で、クエリビルダを閉じます。
列数や列幅を調節します。
市区町村名ですから、そんなに長いのはないと思うんで、3センチくらいあれば表示できるんじゃないかと思うんですけどね。
あと、リスト行数なんかも調整しておくといいかもしれないですね。10とか15とか、多めにしておくといいかもしれないですよ。
しあげに、コンボ2の更新後、再クエリさせます。
コンボ2のプロパティ表示に切り替えて、
「更新後処理」プロパティをクリックして、ビルドボタンをクリックして、
コードビルダを選んで、
VBEを使って「コンボ4を再クエリしなさい」という命令コードを書いて、
おわりです。
どうでしょう。何と何がどうつながっているか、そこんとこが大切ですよ。
フォームを保存して、またまた一呼吸・・・。
じゃあ、実験です。フォームビューに切り替えて、コンボボックスを使ってみましょう。
上から順番にコンボから値を選んでいくと、だんだんと絞り込まれて、必要な市区町村名が表示されます??
別の都道府県を選んだら、市区町村の一覧も変わると思いますけれども、その辺も何度かテストしてみてください。
順番に再クエリするようにしてますから、「地域」を選びなおしただけじゃ、「市区町村」は変わってないですよね。
まあ・・・モノにもよりますけど、今回の場合、「その地域に属する市区町村名」の一覧を出したって、あんまり役に立たないと思うんですよ。
だから、市区町村の一覧は、都道府県を選択して初めて、必要な情報が出てくる、って考え方でいいんじゃないかと思うんです。
各コンボに、どういう情報が出てほしいのか、は、SQLのところを工夫すればいろいろ考えられます。
こうして実際にフォームビューでコンボを動かしてみて、初めて気づくこともあると思うんです。
でも、どういう場合でも、基本的な段取りは変わらないので、いろいろなパターンに対応できるよう、今までの流れを理解しておいてくださいね。