
初歩的な質問ですいませんが、教えてください。
アクセスの参考書や、初心者向けサイト等を見て、
コンボボックスで値集合タイプが「テーブル/クエリ」のとき値集合ソースの値を重複させないで表示する方法はわかったのですが、どの書籍もコンボボックスが2個までしかのっていないんです。
現在私が作らなければならないのはコンボボックスが6個在るもので2個目以降からどのようにしたらいいかわかりません。
コンボ1で抽出した値をコンボ2で反映させて、さらにコンボ2の値の重複をなくし、さらにコンボ3で反映させて・・・とやっていくにはどうしたらいいのでしょうか。
ちなみに http://www.accessclub.jp/beginer/cd/part_07.htm
上記サイトの方法を参考に作成しています。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
言葉で説明するのは大変なんですけど、やってみますね。
参考にされているURLの中ほど、「コンボ2」のクエリビルダの画像に注目して下さい。
「コンボ2」でリストに表示したいのは<タイトル名>であり、その抽出条件は“アーティスト名が「コンボ1」の値と一致している”ということですよね。
コンボボックスを更に増やしたい場合は、増えたコンボボックスの値集合ソースの“抽出条件の種類”がどんどん増えていくと言うことです。具体的にはクエリビルダの表の部分の列が横にどんどん追加されていく感じになります。
例を挙げてみましょう。
住所と個人名が登録されたデータテーブルから、特定の個人を選び出すとして、
[都道府県][市区町村][町名][番地][ビル名][部屋番号][個人名] というフィールドがあるテーブルで、
「コンボ1」のリストはテーブルから[都道府県]を抽出しました。
ここで“東京都”と選択します。
「コンボ2」のリストはテーブルから[市区町村]を抽出します。
ただし、都道府県は“東京都”であることが条件です。
ここで“新宿区”と選択します。
「コンボ3」のリストはテーブルから[町名]を抽出します。
ただし、都道府県は“東京都”であり、市区町村は“新宿区”であることが条件です。
ここで“新宿1丁目”と選択します。
「コンボ4」のリストはテーブルから[番地]を抽出します。
ただし、都道府県は“東京都”であり、市区町村は“新宿区”、町名は“新宿1丁目”であることが条件です。
ここで“2番地”と選択します。
・・・・このような調子でどんどん抽出条件が追加されていきます。「コンボ6」まで選ぶと[個人名]が導き出される理屈は分かって貰えますよね。
これを各コンボボックスの値集合ソースとして、クエリビルダで設定するようにしてみて下さい。
その後の処理のポイントは、
「コンボ1」が選択された直後に「コンボ2」を再クエリーする、
「コンボ2」が選択された直後に「コンボ3」を再クエリーする……
というように、順ぐりに再クエリーを行わなければいけません。
(抽出条件が選択の都度変動しているわけですから、変動後にクエリーを再度実行しないといけないわけです)
処理のポイントその2は、例えば
「コンボ1」が“東京都”で、
「コンボ2」が“新宿区”と入力した後に、
「コンボ1」の値を“大阪府”に変更したらどうなるでしょう?
“大阪府新宿区”というのは存在しませんよね? こういう抽出条件では「コンボ3」にリストは出てきませんよね。
ですので、本来は「コンボ2」を選択した直後に「コンボ1」は変更できないように編集ロックをかける必要があります。(これも順繰りに行います)
しかし、これはURLの例のようなマクロだけのやり方では実現出来ません。どうしてもVBAを使用する必要があります。
プログラムの運用では、使う人に『そういう変更はしないでね!』と教えるのが簡単ですが、本来はきちんと入力操作をプログラム制御した方がよいですね。
というわけで、長々と概念だけを説明しましたが、
こういった文字だけのやり取りでは具体的な方法についてお伝えするのには限界があります。
ぜひ参考書などで詳細な設定方法などを、引き続き勉強するようにして下さい。
こういった“やりたい処理は具体的にはっきりしているのに、その設定の方法が分からない”という方には「逆引き事典」のような書籍をお薦めします。
http://www.amazon.co.jp/exec/obidos/ASIN/4798003 …
では、頑張って下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
アクセスのコンボボックスのデータについて
Access(アクセス)
-
ユーザーフォーム、コンボボックスで重複せず選択リストを表示させるには
Excel(エクセル)
-
Accessのコンボボックスでリストが選択できない
Word(ワード)
-
-
4
Accessのコンボボックスの値が消える
Excel(エクセル)
-
5
Access コンボボックスの値をクリアしたい。
PowerPoint(パワーポイント)
-
6
アクセスVBAのMe!と[ ]
Access(アクセス)
-
7
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
8
Accessでテーブルの値をテキストボックスに代入するには?
Access(アクセス)
-
9
アクセスで#エラーを表示させない方法は?
Access(アクセス)
-
10
ACCESS フォームからサブフォームのデータを更新・入力したい
Access(アクセス)
-
11
帳票フォームのなかにリストを表示させたい
Access(アクセス)
-
12
「フォームを作成できませんでした」
Access(アクセス)
-
13
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
14
フォーム上のリストボックスに重複して表示しています
Visual Basic(VBA)
-
15
新規レコード行を非表示にしたい
Access(アクセス)
-
16
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
17
ACCESS 複数のフォームから同一テーブル参照
Access(アクセス)
-
18
accessのエクスポートエラーについて
その他(データベース)
-
19
ACCESS 「パラメータの入力」を消したい!!
Access(アクセス)
-
20
Accessでリストの並び順を変更したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
access2021 強制終了してしまう
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
「テキストデータで送ってくだ...
-
Accessのクエリで、replace関数...
-
実行時エラー3131 FROM 句の構...
-
Arduinoで温湿度と時刻を1分ご...
-
Accessのスプレッドシートエク...
-
Accessのクエリの結果を、既存...
-
access2021 VBA メソッドまたは...
-
Accessでフォームに自動入力し...
-
Access Error3061 パラメータが...
-
Access DAOのExecuteメソッドの...
-
access2021 メッセージボックス...
-
Accessのリンクテーブルのパス...
-
Microsoft365にAccessってあり...
-
Accessのフォーム上のテキスト...
-
accessのフォームに設置したボ...
-
列が255以上のCSVファイルをAcc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access コンボボックスの値を...
-
Access 複数条件検索の設定が上...
-
コンボとセットの違い
-
サブフォームにあるコンボボッ...
-
光学式ドライブの交換について...
-
アクセスのコンボボックスの重...
-
コンボボックスでの絞り込み2つ...
-
Access パラメータークエリ VBA...
-
コンボボックスの値が変更され...
-
「コンボ(ドライブ)」の由来、...
-
しょーもない質問ですが…
-
IDEのCD-Rドライブで現...
-
(アクセス)フォームからのメ...
-
アクセス コンボボックス VBA
-
テーブルに追加したデータフォ...
-
PS3バイオハザード6 マーセナリ...
-
VBAで検索した結果をコンボボッ...
-
ControlTypeの切り替えはデザイ...
-
コンボドライブとSuperDrive
-
「コンボ」の意味教えてください
おすすめ情報