Accessの抽出条件についてお探しですね。

広告

Accessクエリの抽出条件を完全マスター!初心者でも分かる使い方ガイド

Accessのクエリで抽出条件をしっかり使えるようになると、売上データや顧客リスト、在庫表から必要な情報だけをパパッと取り出せるようになります。

でも、文字列・数値・日付でそれぞれ書き方が違ったり、AND条件とOR条件の配置を間違えたりすると、「あれ?思ってたのと違うデータが出てきた…」なんてことも。

この記事では、Accessクエリの抽出条件について、基本的な書き方から複数条件の組み合わせ、期間の指定方法、実際に使ってみてつまずきやすいポイントまで、初心者の方にも分かりやすく説明していきます。

1. Accessクエリの抽出条件、まずは基本をおさえよう

Accessでデータを絞り込むときは、クエリのデザイン画面の下半分にある「デザイングリッド」を使います。

使いたいテーブルを追加して、表示したい項目を並べたら、条件を指定したい項目の「抽出条件」の行に条件を入力していきます。

例えば、顧客テーブルから東京都のお客さんだけを取り出したいときは、「都道府県」の抽出条件に `”東京”` と入力すればOKです。

この抽出条件は、SQLで言うWHERE句にあたるもので、「どのデータを表示するか」を決める大事な設定なんです。

抽出条件で最初に覚えておきたいのは、**データの種類によって書き方が変わる**ということ。

文字(テキスト型)なら `”東京”` や `”りんご”` のようにダブルクォーテーション(“)で囲みます。

数字(数値型)は `1000` や `>=5000` のようにそのまま書けばOK。

日付は `#2026/01/01#` のようにシャープ(#)で囲むのがAccessのルールです。

デザイン画面では、Accessが自動的に記号を付けてくれることもありますが、複雑な条件を書いたりSQL画面で直接編集するときは、自分で正しい書き方を知っておく必要があります。

よく使う条件には、「等しい」「以上」「以下」「より大きい」「より小さい」などがあります。

売上金額が1万円以上のデータなら `>=10000`、数量が0じゃないデータなら `<>0` と入力します。

また、完全に一致するものじゃなくて、一部の文字を含むデータを探したいときは、Like演算子とワイルドカード(*)を使います。

商品名に「りんご」が含まれるデータなら `Like “*りんご*”` と指定すると、「青りんご」「りんごジュース」「国産りんご」なんかも全部引っかかってきます。

2. 複数条件を使いこなそう!AND条件とOR条件の違い

Accessで複数の条件を指定するとき、一番大事なのが**AND条件とOR条件の違い**です。

AND条件は「AかつB」、つまり複数の条件を**全部満たす**データだけを抽出します。

デザイン画面では、複数の項目の**同じ「抽出条件」の行**に条件を入力するとAND条件になります。

例えば、「都道府県」が `”東京”` で、**なおかつ**「売上金額」が `>=10000` のデータを探したいときは、それぞれの項目の同じ行に条件を書きます。

同じ項目の中でAND条件を使うこともできます。

売上金額が1,000円以上5,000円以下のデータを抽出したいなら、抽出条件に `>=1000 And <=5000` と入力します。

この範囲指定は、`Between 1000 And 5000` と書くこともできます。

Betweenを使うと条件がスッキリして、特に日付や金額の範囲を指定するときに見やすくなりますよ。

一方、OR条件は「AまたはB」、つまり**どちらか一方の条件を満たせば**抽出する指定です。

同じ項目で複数の候補を指定するなら、抽出条件に `”東京” Or “大阪”` のように入力します。

もう一つの方法として、デザイングリッドの「または」行を使う手もあります。

1行目の抽出条件に「東京」、2行目の「または」の行に「大阪」を入力すると、東京または大阪のデータが抽出されます。

ANDとORを組み合わせるときは、条件の優先順位に気をつけましょう。

例えば、「商品名がりんごまたはみかんで、**かつ**数量が3以上」という条件を作りたいとき、単純に行を分けて入力すると思った通りの結果にならないことがあります。

こういう場合は、商品名の抽出条件に `(“りんご” Or “みかん”)` と入力して、数量の項目の**同じ行**に `>=3` と入力するとうまくいきます。

ORでまとめたい条件はカッコで囲んで、ANDで組み合わせる条件は同じ行にそろえる、と覚えておくとミスが減りますよ。

3. 日付の条件指定をマスターしよう

Accessで日付を条件にするときは、日付を `#` で囲むのが基本です。

例えば、受注日が2026年1月1日のデータを抽出するなら、受注日の抽出条件に `#2026/01/01#` と入力します。

特定の日付以降なら `>=#2026/01/01#`、特定の日付以前なら `<=#2026/01/31#` と指定すればOKです。

日付の表示形式は環境によって変わることがありますが、条件を入力するときは年月日がはっきり分かる形で書くことが大切です。

期間を指定するときによく使うのがBetween演算子です。

2026年1月1日から2026年1月31日までのデータを抽出するなら、`Between #2026/01/01# And #2026/01/31#` と入力します。

これは `>=#2026/01/01# And <=#2026/01/31#` と同じ意味です。

月ごとの売上や請求期間、入出庫期間など、開始日と終了日が決まっている作業では、とても使いやすい書き方ですね。

ただし、日付項目に時刻まで保存されている場合は要注意です。

例えば、`Between #2026/01/01# And #2026/01/31#` と指定したとき、2026年1月31日の「15:30」みたいに時刻付きのデータが期待通りに含まれないことがあります。

Accessは日付と時刻を内部的にまとめて管理しているので、終了日を日付だけで指定すると、その日の0時ちょうどまでとして扱われてしまうんです。

時刻を含むデータを扱うときは、`>=#2026/01/01# And <#2026/02/01#` のように、終了日の翌日未満で指定すると確実です。

「今日」「今月」「先月」みたいに、相対的な日付で抽出したいときは、Date関数やDateSerial関数を使います。

今日のデータは `Date()`、今日以降は `>=Date()` と指定できます。

今月分を抽出したい場合は、開始日を `DateSerial(Year(Date()),Month(Date()),1)` にして、終了条件を翌月1日未満にする考え方が実務向きです。

日付条件は一見簡単そうですが、時刻の有無で結果が変わるので、期間指定では「開始日以上、翌日または翌月未満」という書き方も覚えておくと安心ですよ。

4. パラメータクエリと困ったときの対処法

毎回条件を手作業で書き換えるのが面倒なときは、パラメータクエリが便利です。

パラメータクエリとは、クエリを実行したときに入力ボックスを表示して、その場で入力した値を抽出条件として使う方法です。

例えば、顧客名の抽出条件に `[顧客名を入力してください]` と入力すると、クエリを実行したときにメッセージ付きの入力画面が表示されます。

そこで入力した顧客名に一致するデータだけが抽出されるので、Accessに詳しくない人でも条件を変えながら検索できるんです。

期間指定とパラメータクエリを組み合わせることもできます。

受注日の抽出条件に `Between [開始日を入力] And [終了日を入力]` と入力すれば、実行するたびに開始日と終了日を入力して、その期間内のデータを抽出できます。

ただし、日付や数値を入力させるときは、クエリの「パラメータ」設定でデータ型を指定しておくと安全です。

日付欄に文字を入力してしまうようなミスを防げて、複数の人で使うデータベースでもエラーの原因を減らせます。

抽出条件でよくあるトラブルの一つが、**意図せず「パラメーターの入力」画面が出てくる**ケースです。

これは、クエリやフォーム、レポートの中で存在しない項目名を参照しているときによく起こります。

Accessは認識できない名前を見つけると、それをパラメータ名だと判断して入力を求めてくることがあるんです。

急に入力ボックスが出てきたら、項目名のスペルミス、削除済みの項目を参照していないか、フォーム名やコントロール名の間違いを確認してみましょう。

Null値(空欄)の扱いにも注意が必要です。

Nullは「値が入っていない状態」を表していて、空文字(“”)や0とは違います。

未入力のデータを抽出したいときは `Is Null`、未入力じゃないデータを抽出したいときは `Is Not Null` を使います。

また、特定の値を除外したいときは `Not “東京”` や `Not In (“東京”,”大阪”)` のように指定できますが、Nullを含むデータでは期待通りに判定されないことがあるので、必要に応じてNull条件も一緒に使うと正確です。

まとめ

Accessクエリの抽出条件は、基本の書き方、AND/ORの配置、日付の扱いをしっかり押さえれば、実務でかなり自由に使えるようになります。

まずは文字列・数値・日付の書き方を確認して、次に「同じ行はAND、別の行はOR」というデザイン画面のルールを理解しましょう。

そのうえで、期間指定ではBetweenだけじゃなく「開始日以上、翌日未満」の考え方を使うと、時刻付きのデータにも対応しやすくなります。

慣れてきたら、パラメータクエリやフォームと連動した検索条件へステップアップすることで、日々のデータ抽出作業がグッと効率化できますよ。

広告