Windows 10 & Office 2016 Access 2016

パラメータークエリを作成して毎回異なる条件でレコードを抽出

投稿日:2017年10月27日 更新日:

パラメータークエリは、クエリを実行すると[パラメーターの入力]ダイアログボックスが表示され、そのテキストボックスに条件を入力してレコードを抽出できるクエリです。

毎回、異なる条件でレコードを抽出することができます。また、あいまい検索でレコードを抽出することもできます。

パラメーターの入力ダイアログボックス

参考ここでは[ドキュメントウィンドウオプション]で[タブ付きドキュメント](既定)を選択しています。[ウィンドウを重ねて表示する]と[タブ付きドキュメント]の違いについては、以下の記事で解説しています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...

続きを見る

テーブルの確認

サンプルとして、以下のテーブル[T_受注一覧]を使って解説します。

※テーブル設計としてはお手本になるようなテーブルではありません。あくまでもサンプルとして見てください。

テーブル

[クエリデザイン]を使ってクエリを作成

[T_受注一覧]テーブルをもとに、クエリを作成します。

クエリを作成するには、[作成]タブの[クエリ]グループにある[クエリウィザード]または[クエリデザイン]を使います。

ここでは、[クエリデザイン]を使います。[クエリデザイン]のポップヒントには、以下のように記されています。

参考クエリウィザードを使ってクエリを作成する方法は、[クエリウィザード]を使ってクエリを作成を参照してください。

新しい空のクエリをデザインビューで作成します。

[テーブルの表示]ダイアログボックスを使用して、クエリデザインにテーブルまたはクエリを追加できます。

クエリデザイン

クエリデザインをクリックすると、下のように[テーブルの表示]ダイアログボックスが表示されます。

複数のテーブルがある場合は、すべてのテーブルが表示されます。

目的のテーブルを選択します。

テーブルの表示

ここでは、テーブルは1つしかありません。

[T_受注一覧]を選択して、[追加]ボタンをクリックします。

テーブルの表示ダイアログボックス

参考バージョンによって異なると思いますが、[作成]タブの[クエリデザイン]をクリックすると、Microsoft 365のAccessとAccess 2021では[テーブルの追加]作業ウィンドウとして表示されます。

クエリデザインの「テーブルの追加」は作業ウィンドウに表示される

フィールドリストのサイズ調整

フィールドリストのサイズを調整しておきます。

フィールドリストのサイズを下へ広げて、すべてのフィールドが見えるようにしておきましょう。

フィールドリストのサイズ調整

フィールドの追加

フィールドリストのフィールドを1つずつ追加するには、以下の方法で追加します。

  • フィールドリストのフィールドをダブルクリックします。
  • フィールドリストのフィールドをデザイングリッドにドラッグします。
  • デザイングリッドのフィールドのセルにある▼ボタンをクリックして選択します。

ここでは、[T_受注一覧]テーブルのすべてのフィールドを追加したいと思います。

すべてのフィールドを追加するには、まずフィールドリストのタイトルをダブルクリックします。

すべてのフィールドが選択されていることを確認して、フィールドセルへドラッグします。

フィールドの追加

クエリに名前を付けて保存

クエリに名前を付けて保存します。キーボードから[F12]キーを押します。

キーボード[F12]キー

[名前を付けて保存]ダイアログボックスが表示されます。

['クエリ1'の保存先]のテキストボックスに名前を入力して[OK]ボタンをクリックします。

ここでは、[Q_商品ID抽出]とします。

名前を付けて保存ダイアログボックス

パラメータークエリの作成

ナビゲーションウィンドウのクエリ[Q_商品ID抽出]を右クリックして、[デザインビュー]をクリックします。

ナビゲーションウィンドウ

商品IDの抽出条件に[商品IDを入力してください]と入力します。カッコは、半角です。

[商品IDを入力してください]

[商品ID]のフィールドの幅はドラッグで調整します。

参考境界線をダブルクリックすると、フィールドの幅は自動調整されます。

クエリのデザインビューで抽出条件を入力

クエリを実行して確認

クエリの実行ボタンをクリックして、[パラメーターの入力]ダイアログボックスが表示されることを確認します。

クエリの実行

[パラメーターの入力]ダイアログボックスのテキストボックスに商品IDを入力して、レコードが抽出されるかどうかを確認します。

ここでは、[001]と入力して[OK]ボタンをクリックします。

パラメーターの入力ダイアログボックス

[商品ID]が[001]のレコードが抽出されます。

レコードの抽出

確認ができたら、上書き保存して閉じます。

上書き保存のショートカットキーは、[Ctrl]+[S]ですね。

キーボード[Ctrl]+[S]

あいまい検索でレコードを抽出

パラメータークエリを使って、あいまい検索でレコードを抽出することもできます。

たとえば、[商品コード]フィールドで商品コードの一部分を入力してレコードを抽出できるようにしてみます。

クエリをデザインビューで開いて、[商品コード]の[抽出条件]に以下のように入力します。括弧の前後が重要です。

Like "*" & [コードの一部を入力してください] & "*"

パラメータークエリであいまい検索

これでクエリを実行すると、[商品コード]の部分一致で抽出できるようになります。表示する文言はいろいろ工夫してください。

パラメーターの入力

あいまい検索の実行結果

テキスト型の条件

主なテキスト型の条件の記述方法です。文字列の指定は["](ダブルクォーテーション)で囲みます。

記述例 意味
"●" 完全一致
Not "●" 一致しない
Like "●*" 指定した文字列から始まる
Not Like "●*" 指定した文字列で始まらない
Like "*●*" 指定した文字列を含む
Not Like "*●*" 指定した文字列を含まない
Like "*●" 指定した文字列で終わる
Not Like "*●" 指定した文字列で終わらない

クエリの抽出条件の例 - Access(Microsoft)

参考あいまい検索でレコードを抽出する方法は、以下の記事でも解説しています。

テキストボックスの文字列でレコードを抽出(マクロビルダーで設定)

Accessでフォームのテキストボックスに入力した文字列でレコードを抽出する方法です。 ここでは、テーブルを基にウィザードを使って表形式のフ ...

続きを見る

テキストボックスでレコード抽出(コードビルダーを起動して設定)

Accessのフォームで検索用のテキストボックスを作成して、そのテキストボックスに入力した文字列の部分一致でレコードを抽出する方法を紹介しま ...

続きを見る

クエリの抽出条件の書き方に悩んだときは、フィルター実行後に[クエリとして保存]を選択すると、抽出条件の書き方を確認できるので便利です。

フィルター実行後にクエリとして保存(抽出条件の書き方が分からない時も)

Accessのテーブルやフォーム、レポートでレコードを抽出するには、フィルターボタンや選択フィルターを使います。 標準で使用できる抽出条件は ...

続きを見る

条件が入力されない場合にすべてのレコードを表示するには

[パラメータの入力]ダイアログボックスで条件を入力せず、空白のまま[OK]ボタンをクリックすると、レコードは表示されません。

[パラメータの入力]ダイアログボックスで条件を入力せずに[OK]ボタンをクリック

レコードが表示されていないクエリ

空白のまま[OK]ボタンをクリックしても全レコードを表示することができます。

クエリ[Q_商品ID抽出]をデザインビューで表示します。

[商品ID] の[または]行に以下のように入力します。カッコは、半角です。

[商品IDを入力してください]Is null

クエリのデザインビューの[または]行に入力

これで、[パラメータの入力]ダイアログボックスで空白のまま[OK]ボタンを押した場合、全レコードが表示されるようになります。

[パラメータの入力]ダイアログボックスで条件を入力せずに[OK]ボタンをクリック

全レコードが表示されたクエリ

設定後、デザインビューで開くと以下のようになっていると思いますが、問題ありません。

設定後のデザインビュー

参考以下の記事でも、フォームの抽出条件を入力するテキストボックスが空の場合にすべてのレコードを表示する方法を解説しています。

テキストボックスが空白の場合にすべてのレコードを表示するには

連続してパラメータークエリを実行したいとき

パラメータークエリを実行後に、再度パラメータークエリを実行したい場合は、キーボードから[Shift]キーと[F9]キーを同時に押します。

キーボード[Shift]+[f9]

異なる条件で連続してレコードを抽出するときに便利ですね。

パラメーターの入力ダイアログボックスの再表示

関連パラメータクエリとBetween And演算子を組み合わせて、期間を指定してレコードを抽出することもできます。

パラメータークエリで期間を指定してレコードを抽出

パラメータークエリとBetween And演算子を組み合わせると、パラメーターの入力ダイアログボックスに日付を入力して、指定した期間のみのレ ...

続きを見る

また、意図しないパラメーターウィンドウが表示される場合は、以下の記事で原因を探ってみてください。

開くときに意図しないパラメーターの入力ウィンドウが表示される

Accessで作成したデータベースのテーブルや、クエリ、フォーム、レポートを開こうとすると、[パラメータの入力]を求めるウィンドウが表示され ...

続きを見る

検索

ほかの記事も検索してみませんか?

Access / Excel / PowerPoint / Word

Profile

執筆者/はま

-Windows 10 & Office 2016 Access 2016

Copyright © 2001-2023 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2023 AllRights Reserved Powered by AFFINGER4.