Access

VBAで複数選択可能なリストボックスの選択値を取得する方法

複数選択リストボックス

今回は、検索条件として指定する値が、マルチセレクト(複数選択可能)リストボックスの選択値である場合を例に説明します。

複数選択リストボックス複数選択リストボックスの設定

 

例えば、家電の売上データの中から、必要なデータのみ抽出したい場合です。
複数選択リストボックスには以下の項目があるとします。

テレビ
ビデオ
炊飯器
洗濯機
掃除機

この中の、「テレビ」と「ビデオ」を選択し、これを条件に売上データを検索する仕組みです。


このプログラムで、「テレビ」と「ビデオ」を選択した場合、以下のSQL文が作成されます。

SELECT * FROM ●● WHERE 家電 IN (1, 2)

「炊飯器」のみを選択した場合は、以下のSQL文が作成されます。

SELECT * FROM ●● WHERE 家電 = 3

作成したSQL文をサブフォームやリストボックスのレコードソースに使えば、条件に合致するデータを一覧表示できます。

検索条件が1つにも関わらずIN句を使用するのは検索効率が悪そうなので、検索条件が1つの場合は等号(=)で検索するようにしています。

ABOUT ME
アズビーパートナーズ
アズビーパートナーズ
プログラマーと社内SEとしての経験を活かして、 情報システム部門のご相談を承ります。 得意な分野はAccessによる短納期開発、 BIツール(QlikSense/QlikView)の開発です。 現在はCMSを利用したホームページの作成にも力を入れています。