10代と話して驚いたこと

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

よろしくお願いします。

A 回答 (3件)

実際に確認するには、もう少し時間がかかるのですが、単なるアドバイスと思ってください。



まず、
Me.市町村コンボ.RowSource = strSQL

市町村コンボ.SetFocus
の間に
市町村コンボ.Requery
を挿入。
これで、矛盾のない表示になるはず。
次に、市町村コンボの表示を空白にするには、
市町村コンボ.Value=""
を挿入。
これでどうでしょう?
    • good
    • 1
この回答へのお礼

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

お礼日時:2003/11/21 16:30

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


クリアするのも、Valueをイジルとか、RecordSourceをイジルとか、ListIndexをイジルとかいろいろあるもので。

この回答への補足

こんな感じで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
--------------------------
おわかりいただけましたでしょうか?

難しい事はよくわかりませんのでなるべくかみ砕いた表現でご指導いただけるとありがたいです。
よろしくお願いします。

補足日時:2003/11/21 15:01
    • good
    • 1

今実物がないので。


1つめのコンポボックスのafterupdateの処理で、
requery 2つめのコンポボックス名
を書いてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報

このQ&Aを見た人がよく見るQ&A