Access

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

複数選択リストボックス
記事内に商品プロモーションを含む場合があります

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

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

 

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

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

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


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

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

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

SELECT * FROM ●● WHERE 家電 = 3

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

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

ABOUT ME
アズビーパートナーズ
プログラマー→社内SE→SIerのお仕事をしています。 メーカー勤務を経て、中小企業の社内SE、フリーランスなど様々な形態で働いてきました。 業務上生まれた困った…を解決してきたTipsを備忘録も兼ねて公開しています。 困っている誰かのお役に立てれば幸いです。