Accessのパラメータクエリの作り方をお探しですね。
広告
Accessでクエリ実行時に条件を入力させる方法【パラメータクエリ完全ガイド】
Accessでデータベースを使っていると、「今日の売上だけ見たい」「この顧客の情報を探したい」といった場面がよくありますよね。
そのたびにクエリのデザイン画面を開いて条件を書き換えるのは、正直めんどうですし、間違えてしまうリスクもあります。
そこで便利なのが「パラメータクエリ」という機能です。
クエリを実行するときに自動で入力ボックスが表示されて、そこに条件を入力するだけでデータを絞り込めるようになります。
この記事では、初めての方でも迷わず設定できるように、基本的な作り方から、あいまい検索、入力ミスを防ぐコツまで、わかりやすく解説していきます。
パラメータクエリって何?使うとどんないいことがあるの?
パラメータクエリというのは、クエリを実行したときに「条件を入力してください」という小さなウィンドウ(ダイアログボックス)が出てきて、そこに入力した値でデータを絞り込める機能のことです。
普通のクエリだと、デザイン画面の条件欄に「”東京都”」とか「>1000」みたいな固定の値を直接書き込みますよね。
でもこの方法だと、条件を変えたいときに毎回クエリの設計を開いて書き直さなきゃいけません。
パラメータクエリなら、クエリの中身はそのままで、実行するときに入力する値を変えるだけでOK。
データベースの仕組みに詳しくない人でも、簡単に必要なデータだけを取り出せるようになるんです。
仕組みはとってもシンプルで、難しいプログラミングの知識もVBAも必要ありません。
条件を入力する欄に、角カッコ([ ])で囲んだメッセージを書くだけで完成します。
実際の使い方としては、たとえば売上データベースで「開始日」と「終了日」を入力させて月ごとの売上を出したり、顧客データベースで「担当者名」を入力してその人が担当しているお客さんのリストだけを表示したり。
「条件を変えながらデータを検索したい」という日常的な作業が、グッと楽になります。
実際にやってみよう!条件を入力させるクエリの作り方
完全一致で検索する基本の設定
それでは、実際にパラメータクエリを作ってみましょう。
まずは、入力した値とぴったり一致するデータだけを探す「完全一致検索」からです。
1. Accessのメニューから「クエリデザイン」を選びます
2. 対象のテーブルを追加して、必要な項目を下の表(デザイングリッド)に並べます
3. 条件を指定したい項目の「抽出条件」の行に、こんなふうに入力します:
“`
[検索したい顧客名を入力してください]
“`
角カッコで囲んだ部分が、クエリを実行したときに表示されるメッセージになります。
設定はこれだけ!
データシートビューに切り替えてクエリを実行すると、入力ボックスが出てきます。
そこに値を入れて「OK」を押せば、該当するデータだけが表示されます。
あいまい検索(部分一致)の設定方法
実際の仕事では、名前を正確に覚えていないことも多いですよね。
そんなときは、名前の一部だけ入力して探せる「あいまい検索」が便利です。
抽出条件の欄に、こう書きます:
“`
Like "*" & [商品名の一部を入力] & "*"
“`
この書き方だと、入力した文字の前後に何か文字があってもOKになります。
たとえば「りんご」と入力すれば、「青りんご」も「りんごジュース」も、どちらも検索結果に出てきます。
**ここが間違えやすいポイント!**
– アスタリスク(*)は必ず「”」で囲みます
– パラメータ部分([ ])と「&」でつなぎます
– 記号はすべて半角で入力してください
全角で入力したり、つなぎ方を間違えると、Accessが理解できなくて正しく動きません。
ちなみに、前だけに「*」を付ければ「○○で終わる」検索、後ろだけなら「○○で始まる」検索になります。
目的に合わせて調整してみてください。
複数の条件で検索したい!入力ミスを防ぐ設定も
複数の条件を組み合わせる
実際の業務では、「この商品」で「この日以降」みたいに、複数の条件を組み合わせて絞り込みたいことがよくあります。
Accessでは、複数の項目にパラメータを設定するだけで、簡単に複数条件の検索ができます。
– 同じ「抽出条件」の行(横)に並べて書くと → 「すべての条件に当てはまる」(AND条件)
– 「抽出条件」と「または」の行(縦)に分けて書くと → 「どれかの条件に当てはまる」(OR条件)
実行すると、設定した順番に入力ボックスが次々に表示されるので、順番に入力していけばOKです。
データ型を設定して入力ミスを防ぐ
ここからが重要なポイントです!
何も設定しないと、日付を入力すべきところに間違って文字を入れてしまったとき、「式が正しくないか、複雑すぎるため評価できません」みたいな、よくわからないエラーが出てしまいます。
これを防ぐために、「クエリパラメータ」という機能を使います。
**設定方法:**
1. クエリのデザインタブにある「パラメータ」ボタンをクリック
2. 「クエリパラメータ」という画面が開きます
3. パラメータ名(角カッコの中の文字)と、データ型(日付/時刻型、数値型など)を指定します
この設定をしておくと、間違った種類の値を入力したときに、「このフィールドに入力した値が正しくありません」という親切なメッセージが表示されます。
しかもクエリが止まらずに、もう一度入力し直せるようになります。
特に複数の人でデータベースを使っている場合は、この設定をしておくと安心です。
誰が使っても安全に動くデータベースになりますよ。
よくあるトラブルと解決方法
勝手にパラメータ入力が出てくる!?
「パラメータを設定した覚えがないのに、フォームを開いたら突然入力ボックスが出てきた!」というトラブル、経験ありませんか?
**原因のほとんどはこれです:**
– フォームやレポートで指定している項目名が、実際には存在しない
– 項目名のスペルを間違えている
– 削除した項目名がどこかに残っている
Accessは、知らない名前を見つけると「これはユーザーに入力してもらうパラメータなんだな」と勝手に判断してしまうんです。
まずは設計画面を見直して、スペルミスや使われていない項目名がないかチェックしてみてください。
何も入力しないで全件表示させたい
普通のパラメータクエリだと、入力ボックスで何も入れずに「OK」を押すと、データが1件も表示されません。
でも実際には「条件を入力したら絞り込み、何も入力しなかったら全部表示」という動きにしたいことも多いですよね。
そんなときは、抽出条件をこう書きます:
“`
Like "*" & [検索文字を入力] & "*"
“`
または
“`
[検索文字を入力] Or [検索文字を入力] Is Null
“`
この書き方だと、何も入力しなくてもすべてのデータが表示されるようになります。
もっと使いやすく!フォームと連動させる
パラメータクエリの基本をマスターしたら、次は「検索用フォーム」と組み合わせてみましょう。
標準のパラメータクエリは手軽ですが、何度も続けて検索するときや、複数の条件を見ながら入力したいときはちょっと不便です。
そこで、検索条件を入力する専用のフォームを作って、クエリの条件欄にこう書きます:
“`
[Forms]![検索フォーム名]![テキストボックス名]
“`
こうすると、フォームに入力した値がクエリの条件として使われるようになります。
フォームならドロップダウンリスト(コンボボックス)で選択肢から選んだり、複数の条件を一度に確認しながら入力できたりと、ぐっと使いやすくなります。
本格的なデータベースシステムに一歩近づきますよ!
まとめ
パラメータクエリは、Accessの中でもとても実用的で、覚えておくと日々の作業がかなり楽になる機能です。
最初は基本の完全一致検索から始めて、慣れてきたらあいまい検索や複数条件、フォーム連動へとステップアップしていってください。
広告
