Accessのコンボボックスで値をクリアする方法

このQ&Aのポイント
  • Accessのコンボボックスで値をクリアする方法について教えてください。
  • フォーム上のコンボボックスにおいて、絞り込みの結果を反映させるためにSQLを使用していますが、1つ目のコンボボックスを変更した際に、2つ目のコンボボックスの値をクリアしたいです。
  • 現在のままでは、意図しない値が登録されてしまうため、1つ目のコンボボックス変更時に2つ目のコンボボックスをクリアする方法を教えてください。
回答を見る
  • ベストアンサー

Access コンボボックスの値をクリアしたい。

毎度、お世話になります。m( )m Access2000で質問します。 フォーム上にコンボボックスが2つあります。 例えば1つ目が都道府県、2つ目が市町村のようなコンボで、1つ目の絞り込みの結果を2つ目のコンボにSQLを使って投げています。(例:1つ目-東京都 2つ目-杉並区)その後、1つ目のコンボを神奈川県に変更したときに 2つ目に入っている「杉並区」を削除して空白の状態に戻したいのですが、どのようにVBAを書けばいいのかわかりません。今のままだと神奈川県杉並区といったありえない登録が発生してしまいます。 1つ目のコンボ変更時の処理で2つ目のコンボの値をクリアする方法を教えてください。 よろしくお願いします。

noname#12495
noname#12495

質問者が選んだベストアンサー

  • ベストアンサー
  • yomo3
  • ベストアンサー率32% (88/269)
回答No.3

実際に確認するには、もう少し時間がかかるのですが、単なるアドバイスと思ってください。 まず、 Me.市町村コンボ.RowSource = strSQL と 市町村コンボ.SetFocus の間に 市町村コンボ.Requery を挿入。 これで、矛盾のない表示になるはず。 次に、市町村コンボの表示を空白にするには、 市町村コンボ.Value="" を挿入。 これでどうでしょう?

noname#12495
質問者

お礼

早速のご回答、ありがとうございました。 ご指導いただきました通り実行しましたところ 上手く出来ました。 ありがとうございました。 今後とも、よろしくお願いします! m( )m

その他の回答 (2)

  • yomo3
  • ベストアンサー率32% (88/269)
回答No.2

えーとですねぇ、ご質問の2つのコンボにリストを表示するやり方には何通りもあるので、ikeidoさんが実際にどのようなコードを使っているかを教えていただかないと、ぴったりしたお答えができませんです。 クリアするのも、Valueをイジルとか、RecordSourceをイジルとか、ListIndexをイジルとかいろいろあるもので。

noname#12495
質問者

補足

こんな感じでQ_全国から都道府県コンボで選択した都道府県にある市町村を市町村コンボにRowSourceしています。 -------------------------- Dim strSQL As String Dim KEN As String KEN = Me!都道府県コンボ strSQL = "SELECT Q_全国.市町村 FROM Q_全国 WHERE Q_全国.都道府県 = '" & KEN & "' " Me.市町村コンボ.RowSource = strSQL   市町村コンボ.SetFocus 市町村コンボ.Dropdown -------------------------- おわかりいただけましたでしょうか? 難しい事はよくわかりませんのでなるべくかみ砕いた表現でご指導いただけるとありがたいです。 よろしくお願いします。

noname#7099
noname#7099
回答No.1

今実物がないので。 1つめのコンポボックスのafterupdateの処理で、 requery 2つめのコンポボックス名 を書いてください。

関連するQ&A

  • Access 住所 コンボボックス

    こんにちは、 Access2003で質問があります。 コンボボックス?が2つあり、 1つ目:都道府県 2つ目:市町村 で 1つ目のコンボボックスを東京都にすると 2つ目に東京都の市町村が抽出されて、そこから該当する市町村を選択できるようにしたいと考えています。 どのようにすればよいのでしょうか? 何かお分かりの方がいましたら教えてください。よろしくお願いします。

  • コンボボックスを使った入力の改善

    コンボボックスを使った入力を全てのデータベースで利用しています。しかし、各コンボボックスがそれぞれ独立「単体動作」しているので、コンボボックスの初段目「最初」はレコード数が少ないのですが、2段目3段目になると選択候補が累積表示されるので、候補の数も多くなり使いづらさを感じるデータベースも増えました。この状況を改善したいと思っていますので、宜しくお願いします。尚、データベースで設定しているコンボボックス全てに言えることでもありますので、以下のケースを紹介させていただきますので、アドバイスをお願いしたいと思います。 [現状でのやり方] コンボボックス参照オブジェクトは以下の構成にて、コンボボックスは独立していて連動していません。なお、参照データの追加作業は別途作成したフォームを、データ入力フォームに配したコマンドボタンで開いて行っています。 [コンボボックス関連オブジェクト(例)] コンボボックス名:都道府県(値集合ソースで都道府県のみ選択) テーブル名:都道府県テーブル フィールド名:ID、都道府県 フォーム名(参照データ追加):都道府県追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 コンボボックス名:市町村(値集合ソースで市町村のみ選択) テーブル名:市町村 フィールド名:ID、市町村 フォーム名(参照データ追加):市町村追加フォーム ※「新規追加後の入力フォームへの即反映はアドバイスにより完結済」 [改善させたいこと] コンボボックス「都道府県」で東京都を選択したとき、次のコンボボックス「市町村」では東京都の市町村だけが次の候補として表示させたいと思っています。又、現在は蓄積データの絞り込み検索で設定していますが、選択コンボボックスの次のコンボボックスを自動プルダウンさせ、候補も同時に表示させ入力できればと考えています。 以上ですが、宜しくお願いします。

  • Accsee2003 フォームのコンボボックスの同期について

    Access2003のフォームのコンボボックスで困っています。 フォームのコンボボックスで都道府県を選んだ次のコンボには該当都道府県の市町村を表示させたいのですが、うまくできません。 都道府県テーブルには都道府県のみ、市町村テーブルには市町村のみが入っていまして、都道府県IDでリレーションシップしてあります。 同じような質問がありまして何度かやってみましたが、エラーが出て実現できませんでした。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=233843 http://oshiete1.goo.ne.jp/kotaeru.php3?q=1969695 ご教授いただければ幸いです。よろしくお願いいたします。

  • ダブルでコンボボックスについて

    1つ目のコンボボックスで都道府県を選択できるとします。2つ目のコンボボックスは1つ目で選択した県の市町村が選べるようにしたいんですが、JavaScriptではどのように記述すればよいのでしょうか? めちゃくちゃ人頼みで申し訳ないのですが、急いでいるので教えて下さい(-人-)

  • 困ってます!Accessフォームのコンボボックス

    初心者です。とーっても困っています・・・。 顧客データを登録しているのですが、テーブルを元に登録フォームを作成しました。 商品がたくさんあって、4つのコードに分かれています。フォームの中に[A][B][C][D]と4つのコンボボックスを作成し、絞込み検索ができるようにはしました。 が、しかし、選んだデータがテーブルに表示されません。例えば[A]のコンボボックスの中から[1010]を選択、テーブルを見ると、他のテキストボックスに入力した情報は保存されているけど、コンボで選んだデータは空白です。 誰か助けてください!!よろしくお願いします。

  • Accessフォーム 大分類→小分類を選択したい

    Access初心者です。 ほかの類似の質問を検索して試してみたのですが、 どうしても同じようにできません。 もう1週間も同じところでつまづいています。 どなたか、初心者にもわかるように教えていただければ幸いです。 以下のようなテーブルがあるとします。 [都道府県] [市区町村] 東京都  新宿区 東京都  港区 東京都  渋谷区 神奈川県  横浜市 神奈川県  川崎市 神奈川県  藤沢市 埼玉県  さいたま市 埼玉県  熊谷市 埼玉県  三郷市 フォーム上で、 [都道府県]のコンボボックスで東京都を選んだ場合、 [市区町村]のコンボボックスには「東京都」の市区町村名が 選択できるようにしたいのですが、 一番最初のところで行き詰っています。 コンボボックスウィザードにしたがって [都道府県]のコンボボックスを作成すると、 [東京都] [東京都] [東京都] [神奈川県] [神奈川県] [神奈川県] … というリストが出てきてしまいます。 過去の質問を検索し、プロパティの値集合ソースで、 SELECT[都道府県]…FROM[テーブル名]の後に、 GROUP BY[都道府県]と書き加えたのですが、 こうするとリストが出てこなくなります。 いったいどうしたらよいのでしょうか。 ほとほと困っています。 どうかご教示ください。お願いいたします。

  • コンボボックスの絞込みについて

    こんにちは アクセス2000で発注書を作っています ど素人です。。 コンボボックスの絞りこみについて教えてください。 現在5つのコンボで絞込みをしています コンボ1仕入先(メインフォーム) コンボ2種類1(サブフォーム) コンボ3種類2(サブフォーム) コンボ4商品名(サブフォーム) コンボ5詳細(サブフォーム) です。 コンボ1は一度選択すると、変更はありません。 コンボ5で選択決定した後、コンボ2、コンボ3、コンボ4は空白に、 コンボ5は全表示に設定しているのですが それだとコンボ1で選択した仕入先以外の商品も入ってしまうので コンボ5に、コンボ1で仕入れた商品のみを全表示したい場合は どうしたらいいですか? 説明下手で申し訳ありませんが どなかたご教授の程よろしくお願いいたします

  • Accessのコンボボックスの設定について(値集合ソース)

    フォームのコンボボックスに表示させたい値を 値集合ソースにてSQLを直接書いています。 例を挙げますと、 テーブル:CstmTBL 項目:Cstm_ID,Cstm_Name,FLG 値集合ソース:SELECT Cstm_ID FROM CstmTBL Where FLG = '1' ここまでであればうまくいきます。 私がやりたいのは、 このFROM句のテーブルを上位(例えば上位のコンボボックスで指定したテーブル名)で設定し、 そこで設定されたテーブルを毎回そのSQLに埋め込んで抽出されるようにしたいのですが、うまくいきません。VBAを書かないとだめでしょうか? 書くとすれば、書き方も教えていただけますか? よろしくお願いいたします。

  • コンボボックスの値を参照する

    こちらVBA初心者です。宜しくお願い致します。 A:Aを"出身地"、 B:Bを"データ"という名前で定義しており、 D1~D3を"選択"という名前で定義しています。 入力内容はこうです。 D1・・・空白 D2・・・出身地 D3・・・データ そしてA列とB列の最初にある空白セルを見つける為に、 Range("出身地").Select Selection.End(xlDown).Offset(1, 0).Select もしくは、 Range("データ").Select Selection.End(xlDown).Offset(1, 0).Select で可能だと言う事がわかりました。 そして、それをユーザーフォームでコンボボックス内のRowSouceに選択と入力して、 コンボボックスでどちらかを選び、ボタンを押して実行。と、したいのですがここから先がうまくいきません。 VBAに関するサイトは多く、様々な場所で勉強させていただきましたがどうにも理解出来ませんでした。 どうか、お助け下さい。

  • ファイルメーカーでコンボボックスの絞込み

    Accessのデータベースはいくつか作ったことがありますがファイルメーカーは初心者です。 例えば「都道府県」「市町村」というフィールドがある全国地名テーブルがあるとします。 「都道府県」 「市町村」 大阪府     大阪市 大阪府     堺市 大阪府     吹田市 奈良県     奈良市 奈良県     生駒市 ・ ・ 別途「住所」テーブルのコンボボックスの中身をこのテーブルにした場合、 「都道府県」コンボボックスの「大阪府」を選択すると、「市町村」コンボボックスの中身が「大阪市」「堺市」「吹田市」といった大阪府内のみに絞り込むことはファイルメーカーで可能なのでしょうか。 Accessではクエリを使えば出来ますが、いまいちファイルメーカーでのやり方がわかりません。 上手く説明できなくてすみません・・

専門家に質問してみよう