Windows 10 & Office 2016 Access 2016

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

投稿日:2019年1月28日 更新日:

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

標準で使用できる抽出条件は、フィールドのデータ型によっても異なりますが、さまざまな抽出を行うことができます。

そして、その抽出条件をクエリとして保存できます。

頻繁に利用する抽出条件はクエリとして保存しておくと便利です。

また、クエリの抽出条件の書き方に悩んだ時も重宝します。

クエリとして保存

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

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

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

続きを見る

フィルターボタンを使ってレコードの抽出

Accessのテーブルでフィルターを実行してレコードを抽出するには、データシートビューを使います。

テーブルをデータシートビューで開くと、各フィールドにフィルターボタンが表示されます。

このフィルターボタンをクリックして、一覧から抽出条件を設定できます。

テーブルのフィルターボタン

もしくは、レコードの抽出を行いたいフィールドを選択して、[ホーム]タブの[並べ替えとフィルター]グループの[フィルター]ボタンをクリックします。

[ホーム]タブの[フィルター]

一覧のチェックボックスをオンにしたり、オフにすることでレコードを簡単に抽出できます。

たとえば、[すべて選択]のチェックボックスをオフにして、すべての選択をオフにした後、[WTB-101]と[WTB-102]のチェックボックスをオンにして[OK]ボタンをクリックします。

フィルター一覧の商品名をチェック

以下のようにレコードを抽出できます。

参考このまま他のフィールドでレコードを抽出することもできます。

抽出結果

レポートでのフィルターの操作も同じですが、以下の記事では詳細に解説しています。

レポートビューでフィルターをかけてレコードを抽出して印刷

Accessのレポートでフィルターをかけて、一部の情報のみを印刷したいことがあると思います。 レポートのフィルターを実行するには、レポートビ ...

続きを見る

フィルターボタンをクリックしてもリストが表示されない場合

データシートビューでフィルターボタンをクリックしても、リストが表示されない場合があります。

レコード数が1000を超えている場合は表示されないことがあります。これは、[Accessのオプション]で設定を変更すると解決できます。

フィルターリストが表示されない

[ファイル]タブをクリックした後、[オプション]をクリックして、[Accessのオプション]ダイアログボックスを表示します。

または、キーボードから[Alt]→[F]→[T]の順に押して表示します。これは、Word、Excel、PowerPointなどでも使用できます。

キーボード[Alt]→[F]→[T]

[現在のデータベース]の[レコード数が次の値を超えるとリストを表示しない]が既定では[1,000]になっていますので、この値をレコード数より大きい数値に変更します。

「Accessのオプション」ダイアログボックス

以下の記事でも解説しています。

テーブルのフィルターにリストが表示されない

テキストフィルター/日付フィルター/数値フィルター

また、フィールドのデータ型によって異なりますが、より詳細な抽出を行うことができます。

テキストフィルターをポイントすると、サブメニューにフィルターの抽出条件が表示されます。

  • 指定の値に等しい
  • 指定の値に等しくない
  • 指定の値で始まる
  • 指定の値で始まらない
  • 指定の値を含む
  • 指定の値を含まない
  • 指定の値で終わる
  • 指定の値で終わらない

テキストフィルターの[指定の値を含む]

抽出条件に直接入力して、レコードを抽出します。

以下は、[指定の値を含む]をクリックして、[ユーザー設定フィルター]のテキストボックスに[缶詰]と入力しています。

[OK]ボタンをクリックします。

ユーザー設定フィルター

結果は、下のように[缶詰]が含まれる商品名が抽出されます。

抽出結果

[テキストフィルター]は、ショートカットメニューにも表示されます。

ショートカットメニューのテキストフィルター

数値フィルターや日付フィルターの場合は、以下のようになります。

数値フィルター

数値フィルター

  • 指定の値に等しい
  • 指定の値に等しくない
  • 指定の値より小さい
  • 指定の値より大きい
  • 指定の範囲内

日付フィルター

日付フィルターが非常に多くの条件が用意されています。

日付フィルター

  • 指定の値に等しい
  • 指定の値に等しくない
  • 指定の値より小さい
  • 指定の値より大きい
  • 指定の範囲内
  • 明日、今日、昨日
  • 来週、今週、先週
  • 来四半期、今四半期、全四半期
  • 来年、今年、今年の初めから今日まで、昨年
  • 過去、未来
  • 期間内のすべての日付

[期間内のすべての日付]には、さらにサブメニューがあります。

フィルターの解除

フィルターを解除するには、[ホーム]タブの[並べ替えとフィルター]グループの[フィルターの解除]ボタンをクリックします。

[フィルターの実行]ボタンは、フィルター実行時は[フィルターの解除]ボタンになります。

複数のフィールドで設定していても、すべてのフィルターが解除されます。

フィルターの解除

または、画面下にある[フィルターの適用]ボタンをクリックします。

フィルターの適用

[フィルターの実行]と[フィルターの適用]のボタンの色が濃くなっている場合は、フィルターが適用されています。

参考フィルターを解除しても、設定した条件はテーブルのプロパティに保存されていますので、再度[フィルターの実行]ボタンをクリックすると直前のフィルターを実行できます。

フィルターのクリア(抽出条件の削除)

フィールドに設定したフィルターの条件をクリアする方法です。

抽出条件をクリアすると、[ホーム]タブの[並べ替えとフィルター]グループの[フィルターの実行]ボタンをクリックしても、レコードの抽出は行うことはできません。

特定のフィールドのフィルターをクリア

特定のフィールドのフィルターをクリアするには、抽出条件をクリアしたいフィールドのフィルターボタンをクリックして、[〇〇のフィルターのクリア]をクリックします。

商品コードのフィルターをクリア

または、レコードの抽出を行いたいフィールドを選択して、[ホーム]タブの[並べ替えとフィルター]グループの[フィルター]ボタンをクリックします。同じく[〇〇のフィルターのクリア]をクリックします。

すべてのフィルターをクリア

すべてのフィルターをクリアするには、[ホーム]タブの[並べ替えとフィルター]グループの[詳細設定]から[すべてのフィルターのクリア]をクリックします。

すべてのフィルターをクリア

[選択]フィルターでデータを抽出条件としてレコードを抽出

[選択]フィルターを使用すると、表示されているデータを抽出条件として抽出できます。

[選択]フィルターで設定できる条件は1つだけです。

複数の条件を設定する場合は、抽出結果に対して、さらに条件を追加します。

また、セルにカーソルがある場合は、セルの値が抽出条件になりますが、データの一部を選択すると、選択した部分が抽出条件になります。

セルにカーソルがある状態での選択フィルター条件

以下はセルにカーソルがある状態で[ホーム]タブの[並べ替えとフィルター]グループの[選択]ボタンをクリックします。

  • "〇〇"に等しい
  • "〇〇"に等しくない
  • "〇〇"を含む
  • "〇〇"を含まない

セルにカーソルがある状態での選択フィルター

セル内のデータを部分的に選択した状態の選択フィルターの条件

セル内の文字列のお尻の部分を選択すると、抽出条件は以下のようになります。

  • "〇〇"を含む
  • "〇〇"を含まない
  • "〇〇"で終わる
  • "〇〇"で終わらない

セルの文字列を選択した状態のフィルター条件

セルの文字列の先頭文字列を選択した場合は、以下のようになります。

  • "〇〇"で始まる
  • "〇〇"で始まらない
  • "〇〇"を含む
  • "〇〇"を含まない

セルの先頭文字列で選択した場合の選択フィルター

セルの文字列の中を選択すると、下のような抽出条件になります。

  • "〇〇"を含む
  • "〇〇"を含まない

セルの文字列の中を選択した状態の選択フィルター

選択フィルターは、右クリックのショートカットメニューにも表示されます。

ショートカットメニューの選択フィルター

フォームやレポートでもフィルタリング

[選択]フィルターは、フォームやレポートでも実行できます。

以下は、レポートで操作しています。

レポートの選択フィルター

ショートカットメニューにも表示されます。テーブルと同じようにレコードを抽出できます。

以下は、フォームで操作しています。

フォームのショートカットメニュー

読み込み時にフィルターを適用

フィルター実行後、再度 オブジェクトを開いたときに、直前に設定したフィルターで表示することができます。

プロパティの[読み込み時にフィルターを適用]を[はい]にします。既定は[いいえ]です。

[読み込み時に並べ替えを適用]は既定が[はい]です。

以下はテーブルのプロパティです。

テーブルのプロパティ[読み込み時にフィルターを適用]

このプロパティの設定は、フォームやレポートのプロパティにもあります。

以下はフォームのプロパティです。

フォームのプロパティ[読み込み時にフィルターを適用]

以下はレポートのプロパティです。

レポートのプロパティ[読み込み時にフィルターを適用]

参考以下の記事でも解説しています。以下の記事では、[ホーム]タブの[フィルター]ボタンを使用して解説しています。

フォームを開く時に前回のフィルターの状態を保ったまま開くには

Accessのフォームでフィルター機能を使ってレコードの抽出を行い、その状態のまま閉じて、次回 フォームを開く時に同じフィルターの状態のまま ...

続きを見る

抽出条件を繰り返し使用するなら[クエリとして保存]

フィルターボタンや、選択フィルターで抽出した条件は、直前に実行した条件のみ保存できますが、その条件をクエリとして保存しておくと、繰り返し実行できるようになります。

たとえば、[商品名]フィールドで["缶詰"で終わる]でレコードを抽出します。

テーブルの選択フィルター

結果は以下のようになります。

テーブルの抽出結果

そして、[ホーム]タブの[並べ替えとフィルター]グループにある[詳細設定]をクリックして、[フィルター/並べ替えの編集]をクリックします。

[詳細設定]の[フィルター/並べ替えの編集]

すると、クエリが表示されます。抽出条件には、選択フィルターの条件が表示されています。

ここで、抽出条件の内容を編集できます。抽出条件の書き方に悩んだ時にも役立ちます。

クエリを作成しても思い通りの抽出ができない場合、この方法で助かることは多いです。

[詳細設定]から[クエリとして保存]をクリックします。

複数の条件で抽出した場合も保存できます。

[詳細設定]から[クエリとして保存]

または、クエリの何もない箇所で右クリックしてショートカットメニューから[クエリとして保存]をクリックします。

ショートカットメニューから[クエリとして保存]

クエリ名を入力して、[OK]ボタンをクリックします。

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

いつでも、ナビゲーションウィンドウのクエリをダブルクリックで実行できます。

保存したクエリの実行

データシートビューなどで行った並べ替えの設定も、クエリとして保存できます。

参考クエリのデザインビューで1つのフィールドしか表示されていませんが、クエリを実行するとすべてのフィールドが表示されます。これは、保存したクエリを[SQLビュー]に切り替えてみると分かります。

SELECTの後ろに*が入力されています。

一度[SQLビュー]で表示して閉じると、次回も[SQLビュー]で表示されることがあります。[デザインビュー]に切り替えて閉じてください。

クエリをSQLビューで表示

クエリの抽出条件や、SQLビューの文字が見づらい場合は、フォントサイズを大きくすると見やすくなります。

クエリデザインとデータシートビューのフォントサイズを変更

Accessのクエリデザインとデータシートビューのフォントサイズを変更する方法です。 大きく表示したいと思う方も多いのではないでしょうか?オ ...

続きを見る

Microsoft 365のAccessのSQLビューは、インテリセンス機能が強化されています。

Access2021と365のAccessのSQLビュー

フィールドの空白以外のレコードをクエリで抽出したい

レポートを印刷するときに1つのフィールドに空白があるレコードは省いて印刷したいとします。

以下のように[商品名]フィールドが空白になっているレコードがあります。

商品名に空白があるテーブル

この場合、空白のセルにカーソルを置いて[選択]から[空白に等しくない]を選択します。

[選択]から[空白に等しくない]を選択

商品名が空白ではないレコードが抽出できます。

商品名が空白のレコードを省いたレコードを抽出

[ホーム]タブの[並べ替えとフィルター]グループにある[詳細設定]をクリックして、[フィルター/並べ替えの編集]をクリックします。

[詳細設定]の[フィルター/並べ替えの編集]

抽出条件には、以下のように記されています。

Is Not Null And <>""

クエリの抽出条件

クエリに名前を付けて保存します。ここでは[Q空白なし]にしています。

レポートのプロパティを開いて、レコードソースを[Q空白なし]にすれば、商品名が空白のレコードは省いて印刷できます。

レポートのプロパティ[レコードソース]

参考作成したクエリをコマンドボタンで実行する方法については、以下の記事で解説しています。

作成したクエリをコマンドボタンに登録して実行する

Accessでクエリを作成した後、コマンドボタンをクリックしてクエリを実行するための方法です。 コマンドボタンウィザードを使用する方法と、マ ...

続きを見る

複数の抽出条件を組み合わせた複雑な抽出は[フォームフィルター]で

[詳細設定]の中にある[フォームフィルター]を使用すると、AND条件やOR条件を組み合わせた条件も指定できます。

AND条件は、指定したすべての条件に合致するレコードの抽出、OR条件は、指定した複数の条件のうちいずれかの条件に合致するレコードの抽出になります。

この[フォームフィルター]の抽出条件もクエリとして保存することができます。

テーブルとフォームで操作できますが、ここではテーブルで解説します。

テーブルをデータシートビューで開き、[ホーム]タブの[並べ替えとフィルター]グループの[詳細設定]から[フォームフィルター]をクリックします。

[詳細設定]の[フォームフィルター]

[フォームフィルター]が表示されます。

[価格]フィールドのプルダウンから[260]を選択します。

[価格]のプルダウンから選択

次に[または]をクリックします。

[または]を選択

今度は[出荷日]フィールドのプルダウンから[2010/11/02]を選択します。

[出荷日]フィールドのプルダウンから日付を選択

[フィルターの実行]をクリックします。

[フィルターの実行]をクリック

以下のように[価格]が[\260]、または[出荷日]が[2010/11/02]のレコードが抽出されます。

レコードの抽出

[詳細設定]の[フィルター/並べ替えの編集]をクリックします。

[詳細設定]の[フィルター/並べ替えの編集]

クエリのデザインビューが表示されます。抽出条件は、以下のように記されています。

クエリとして保存することもできます。

クエリのデザインビュー[詳細設定]-[クエリとして保存]

クエリの抽出条件の記述

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

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

クエリの抽出条件の例 - Microsoft サポート(Microsoft)

比較演算子は以下のようになります。

比較演算子 読み 意味
< 小なり記号 ~より小さい
> 大なり記号 ~より大きい
<= より小か等しい記号 ~以下
>= より大か等しい記号 ~以上
<> 不等号 等しくない

参考フォームのテキストボックスの値を参照して抽出したい場合の方法については、以下の記事で解説しています。

クエリの抽出条件にテキストボックスの値を設定してレコードを抽出

Accessのクエリでレコードを抽出する方法です。 クエリの抽出条件には、フォームのテキストボックスの値を指定することができます。 また、ク ...

続きを見る

フォームのIDを参照する方法も解説しています。

帳票フォームのボタンをクリックして同じIDの単票フォームを起動する

Accessで、帳票フォームから同じIDの単票フォームをボタンで起動する方法を解説します。 横に長い情報より、1つのウィンドウで表示したいと ...

続きを見る

検索

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

Access / Excel / PowerPoint / Word

関連記事30件

Profile

-Windows 10 & Office 2016 Access 2016

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

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