• 締切済み

Accessでの検索について

Access2003を使用しています。 まだAccessを使い始めて2ヶ月ほどの初心者です。 コンボボックスでの絞り込み検索を行いたいのですが、ネットや友人に借りた参考書を見てもなかなか解決に至らないもので、質問をさせていただきます。 コンボボックスから項目を選択するとそれにあった一覧が出るようにしたいと考えています。「値集合ソース」などの部分はできたのですが、現在は、フォームにおいてコンボボックスから項目を選んでも何も起きない状態です。(あたりまえですが) 私が質問したいところは、「更新後処理」のところなのですが、どのようなVBAコードを記述すればいいのでしょうか? それと勉強のために、VBAの参考になる書籍やサイトなどあれば教えていただきたいと思います。 よろしくお願いします。

みんなの回答

  • sh_hirose
  • ベストアンサー率66% (56/84)
回答No.2

更新後処理、またはChangeイベントに cmd.ActiveConnection = con cmd.CommandText = "SQL" cmd.Parameters.Append cmd.CreateParameter(, adChar, adParamInput, 50, Combo.Value) Set rs = cmd.Execute Do Until rs.EOF '一覧表示したいオブジェクトに値を代入 Loop または、たとえば以下の様なテーブルがあったとして ComboTable id | value ListTable id | comboId | value コンボボックス(Combo)の値集合ソースに SELECT id, value FROM ComboTable; リストボックスの値集合ソースに SELECT id, value FROM ListTable WHERE comboId = [Combo].[Value] にするとか。

hirai7
質問者

お礼

御礼が遅れましてすいません。 何とか解決しました。ご回答ありがとうございました。

すると、全ての回答が全文表示されます。
  • sykt1217
  • ベストアンサー率34% (277/798)
回答No.1

更新後処理ですか? >コンボボックスから項目を選択すると ということですから、恐らくイベントでいうと「クリック時」ではないでしょうか? それであれば Private Sub コンボ11_Click() 'クリックされたときの集計処理 End Sub ということになりますが・・・。 多分↑に「値集合ソース」をマージしてやれば想定されている動作を実現できると思います。

hirai7
質問者

お礼

御礼が遅れましてすいません。 何とか解決しました。ご回答ありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A