今回は、検索条件として指定する値が、マルチセレクト(複数選択可能)リストボックスの選択値である場合を例に説明します。
例えば、家電の売上データの中から、必要なデータのみ抽出したい場合です。
複数選択リストボックスには以下の項目があるとします。
1 | テレビ |
2 | ビデオ |
3 | 炊飯器 |
4 | 洗濯機 |
5 | 掃除機 |
この中の、「テレビ」と「ビデオ」を選択し、これを条件に売上データを検索する仕組みです。
このプログラムで、「テレビ」と「ビデオ」を選択した場合、以下のSQL文が作成されます。
SELECT * FROM ●● WHERE 家電 IN (1, 2)
「炊飯器」のみを選択した場合は、以下のSQL文が作成されます。
SELECT * FROM ●● WHERE 家電 = 3
作成したSQL文をサブフォームやリストボックスのレコードソースに使えば、条件に合致するデータを一覧表示できます。
検索条件が1つにも関わらずIN句を使用するのは検索効率が悪そうなので、検索条件が1つの場合は等号(=)で検索するようにしています。
ABOUT ME