【ACCESS VBA】フォームで複数の検索も、公式を覚える

記事
IT・テクノロジー

YouTubeでも紹介しています。是非ご覧ください。





ACCESSを勉強して、一番始めに作成するのは、検索フォームでしょう。
Excelよりもはるかに便利と思うはずです。
しかし、複数の検索ワードとなると、挫折する人も多いのではないでしょうか?


フォームで複数の検索も、公式を覚える

こんにちは。伊川です。
先日、公開した検索方法なのですが、複数で検索するのは、日付と、名前までといいました。
しかし、私自身、4つのワードで検索をしていることを思い出しました。
まー、競馬なんですけど。
1度、複数検索は、はるか昔に公開しているのですが、日時と名前でしたので、複数の検索方法を紹介します。
他の情報よりもカンタンです。
あまり、おススメはしませんが、皆さんのスキルにしてください。



このブログはこんな人にお勧め

ACCESSで、検索フォームを作成している人
ACCESSで、VBAを勉強している人
ACCESSのVBAで、SQL文を記載することに苦労している人


このブログを、読み終わるころには・・・・

以前に紹介しました、SQLは公式に、当てはめるだけといいました。
今回もその、公式を利用しますが、従来の方法も紹介します。
1度覚えれば、一生もののスキルです。


SQLで、複数の検索条件を書く方法

大前提として、SQLとVBAは、似て非なるものです。
そんなの知っているという人は、沢山、いると思いますが、意外にも、挫折の道をたどります。
例えば、Andです。
このAndですが、VBAのコードとして、認識しているAndなのか、SQL文として、認識しているAndなのかで、異なってきます。
これが、なかなか私は、理解できませんでした。
しかし、順を追って考えれば、理解できます。
先日、上席から、検索フォームの作成の指令がありましたので、いつものように、なんちゃって個人情報を題材に紹介します。





SQLで、複数の検索条件を書く方法 作業手順 その1 通常の記載方法

1.png

このように抽出されます。

2.png


コードは、こんな感じになります。
しかし、長いので、少し、工夫をします。

3.png

多分、この書き方が、わからないと思います。

4.png


いま、赤いマルの中にある、andは、VBAのコードのandか、SQLのandか、私は理解できていませんでした。
当然ながら、VBAのandと思っていましたが、このand1は、SQLのandなのです。
しかも、andは、小文字になっているし、ダブルクォーテーションもついているのが、理解できませんでした。
なので、ACCESSの検索条件で、検索条件を複数にするときは、結構、ハマります。
しかも、ネット上には、あまり、情報がありません。



SQLで、複数の検索条件を書く方法 作業手順 その2 DAOを利用して、検索条件を書く

この方法は、逆引き辞典等に、記載されています。
しかし、あまり、実務で利用できるようなコードではありません。
つまり、ある程度、VBAや、SQLを記載できるようになってからなら、利用方法が理解できます。
しかし、初心者では、無理です。

5.png


6.png



これが、DAOを利用した、複数の検索コードです。
誕生日 Between #2022/09/01# AND #2022/09/27#and [名前] like'*谷*'

これが、今回利用した、SQL文です。
2022/9/1~2022/9/27の期間で、名前に、谷が含む人です。
しかし、どうですか?
複雑というか、私はこのコードは好きになれません。


SQLで、複数の検索条件を書く方法 作業手順 その3 公式を利用して複数条件を書く

7.png


単純に、公式の中に、SQL文を記載するだけです。
若干の手直しは、必要ですが、一番スッキリしているはずです。
今回利用したSQL文は、下記の文のです。

誕生日 Between #2022/09/01# AND #2022/09/27#

And [名前] like'*谷*'

この方法が、一番、クォーテーション、ダブルクォーテーション、&、この類を、気にしないで、
SQL文を記載できます。


SQLで、複数の検索条件を書く方法 作業手順 その4 公式を利用すれば、条件が増えても平気


8.png


私が、実際に利用しているコードです。
まあ、競馬使用ですが、一番カンタンな、複数条件で、検索するときのコードだと思います。


ここがポイント

検索に関しては、今回紹介した方法で、十分かと思います。
これ以外の方法もあるでしょうが、難しいことを覚えるより、カンタンな記載方法を思えたほうがいいです。
私、個人的には、一番最後に紹介した、SQLの公式に、抽出条件を、追加していくことが、カンタンだと思います。

まとめ
今回は複数の条件で、検索する方法を紹介しました。
しかし、動画や、ブログでも言っているように、理想は、主キーで検索することです。
だからこその、ACESSSであり、データベースなのです。
ここを、しっかり理解しましょう。
今回も最後までお読みいただきありがとうございました。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す