ACCESSでクエリーを使った検索
VBAを使えば簡単にできるのですが、事情があり、クエリーのみで行わなければいけません。
フォームに入力された情報を元に検索できるクエリを作成しました。
通常でしたらクエリのフィールド名の下の抽出条件に
Forms![F_検索]![検索条件1]
とすればいいのですが、これが複数の条件を設定した場合はすべての条件を入力しないと、検索結果が出ないことから
以下のように変更しました。
フィールド名の抽出条件には何も書かず、別に式として
IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=[Forms!]![F_検索]![検索条件1]))
と入力しそこの抽出条件に「True」と入力しました。
これで何も入力されてない場合は全件が表示されるようになりました。
通常の検索はこれでいいのですが疑問点が2点あります。
1.期間を抽出する場合はどうしたらいいのか?
IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Between [Forms!]![F_検索]![検索条件1] and [Forms!]![F_検索]![検索条件2]))
とかしてみましたがダメでした。
2.あいまい検索をするにはどうしたらいいのか?
IIf(IsNull(Forms![F_検索]![検索条件1],True,[フィールド1]=Like [Forms!]![F_検索]![検索条件1]))
なんてしてみましたがだめでした。
ご回答よろしくお願いします。
お礼
ありがとうございました。m(__)m