ACCESSを勉強して、一番始めに作成するのは、検索フォームでしょう。
Excelよりもはるかに便利と思うはずです。
しかし、複数の検索ワードとなると、挫折する人も多いのではないでしょうか?
目次
フォームで複数の検索も、公式を覚える
こんにちは。伊川(@naonaoke)です。
先日、公開した検索方法なのですが、複数で検索するのは、日付と、名前までといいました。
しかし、私自身、4つのワードで検索をしていることを思い出しました。
まー、競馬なんですけど。
1度、複数検索は、はるか昔に公開しているのですが、日時と名前でしたので、複数の検索方法を紹介します。
他の情報よりもカンタンです。
あまり、おススメはしませんが、皆さんのスキルにしてください。
このブログはこんな人にお勧め
- ACCESSで、検索フォームを作成している人
- ACCESSで、VBAを勉強している人
- ACCESSのVBAで、SQL文を記載することに苦労している人
このブログを、読み終わるころには・・・・
以前に紹介しました、SQLは公式に、当てはめるだけといいました。
今回もその、公式を利用しますが、従来の方法も紹介します。
1度覚えれば、一生もののスキルです。
SQLで、複数の検索条件を書く方法
大前提として、SQLとVBAは、似て非なるものです。
そんなの知っているという人は、沢山、いると思いますが、意外にも、挫折の道をたどります。
例えば、Andです。
このAndですが、VBAのコードとして、認識しているAndなのか、SQL文として、認識しているAndなのかで、異なってきます。
これが、なかなか私は、理解できませんでした。
しかし、順を追って考えれば、理解できます。
先日、上席から、検索フォームの作成の指令がありましたので、いつものように、なんちゃって個人情報を題材に紹介します。
SQLで、複数の検索条件を書く方法 作業手順 その1 通常の記載方法
このように抽出されます。
コードは、こんな感じになります。
しかし、長いので、少し、工夫をします。
多分、この書き方が、わからないと思います。
いま、赤いマルの中にある、andは、VBAのコードのandか、SQLのandか、私は理解できていませんでした。
当然ながら、VBAのandと思っていましたが、このand1は、SQLのandなのです。
しかも、andは、小文字になっているし、ダブルクォーテーションもついているのが、理解できませんでした。
なので、ACCESSの検索条件で、検索条件を複数にするときは、結構、ハマります。
しかも、ネット上には、あまり、情報がありません。
SQLで、複数の検索条件を書く方法 作業手順 その2 DAOを利用して、検索条件を書く
この方法は、逆引き辞典等に、記載されています。
しかし、あまり、実務で利用できるようなコードではありません。
つまり、ある程度、VBAや、SQLを記載できるようになってからなら、利用方法が理解できます。
しかし、初心者では、無理です。
これが、DAOを利用した、複数の検索コードです。
誕生日 Between #2022/09/01# AND #2022/09/27#and [名前] like’*谷*’
これが、今回利用した、SQL文です。
2022/9/1~2022/9/27の期間で、名前に、谷が含む人です。
しかし、どうですか?
複雑というか、私はこのコードは好きになれません。
SQLで、複数の検索条件を書く方法 作業手順 その3 公式を利用して複数条件を書く
単純に、公式の中に、SQL文を記載するだけです。
若干の手直しは、必要ですが、一番スッキリしているはずです。
今回利用したSQL文は、下記の文のです。
誕生日 Between #2022/09/01# AND #2022/09/27#
And [名前] like’*谷*’
この方法が、一番、クォーテーション、ダブルクォーテーション、&、この類を、気にしないで、
SQL文を記載できます。
SQLで、複数の検索条件を書く方法 作業手順 その4 公式を利用すれば、条件が増えても平気
私が、実際に利用しているコードです。
まあ、競馬使用ですが、一番カンタンな、複数条件で、検索するときのコードだと思います。
ここがポイント
検索に関しては、今回紹介した方法で、十分かと思います。これ以外の方法もあるでしょうが、難しいことを覚えるより、カンタンな記載方法を思えたほうがいいです。私、個人的には、一番最後に紹介した、SQLの公式に、抽出条件を、追加していくことが、カンタンだと思います。
。
まとめ
今回は複数の条件で、検索する方法を紹介しました。
しかし、動画や、ブログでも言っているように、理想は、主キーで検索することです。
だからこその、ACESSSであり、データベースなのです。
ここを、しっかり理解しましょう。
今回も最後までお読みいただきありがとうございました。
今回のサンプルファイルは、No306です。
わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。