フィルターを適用して、Access データベースのレコードを選択して表示する

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。 このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。 私たちの目的は、このコンテンツがお客様の役に立つようにすることです。 お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。 簡単に参照できるように、こちらに英語の記事があります。

フィルター処理は、Access データベースに表示するデータのみを表示するのに便利な方法です。 フィルターを使用して、フォーム、レポート、クエリ、またはデータシートで特定のレコードを表示したり、レポート、テーブル、またはクエリから特定のレコードだけを印刷したりすることができます。 フィルターを適用することで、基になるオブジェクトのデザインを変更することなく、ビュー内のデータを制限できます。

この記事の内容

フィルターの活用方法

フィルターの種類を選択して適用する

フィルターを削除または再適用する

フィルターをクリアする

フィルターを保存する

フィルターの活用方法

フィルターを適用した後に表示されるビューには、選択した値を含むレコードのみが含まれているため、フィルターをクリアするまで、残りのデータは非表示のままになります。

注: データシートの列と、式にバインドされているフォームやレポートのコントロールでは、フィルター処理はサポートされません。

フィルターには、いくつかの種類があります。また、いくつかのフィルターを簡単に適用したり、削除したりできます。 Access には、すべてのビューに組み込まれている共通フィルターがいくつか含まれています。 フィルター コマンドを使用できるかどうかは、フィールドの種類と値によって決まります。

たとえば、特定の月に誕生日を迎える連絡先のレコードを表示するには、[誕生日] 列をクリックし、[ホーム] タブの [並べ替え & フィルター ] で [日付フィルター] をクリックし、必要な期間を選択します。

日付フィールドをフィルター処理する

1. 使用できるフィルターは、選択した列のデータ型によって異なります。

2. [期間] フィルターのすべての日付は、日付値の日と年の部分を無視します。

このフィルター処理されたビューでは、[誕生日] フィールドの月の部分が4月に設定されているレコードのみが表示されます。

4月の誕生日をフィルター処理

1. 列見出しとレコードナビゲーターバーの [フィルター] アイコンは、現在のビューが [誕生日] 列でフィルター処理されていることを示します。

2. データシートビューで、マウスをポイントすると、列見出しの上にカーソルがあると、現在のフィルター条件が表示されます。

注:  既にフィルター処理されている列にフィルターを適用すると、前のフィルターが自動的に削除されます。 一度に1つのフィールドに対して有効にできるフィルターは1つだけですが、ビューの各フィールドに異なるフィルターを指定できます。

たとえば、4月の誕生日が含まれる英国在住の連絡先の名前を表示するには、[都道府県] フィールドと [誕生日] フィールドで連絡先テーブルをフィルター処理します。 単一ビューの複数のフィールドをフィルター処理する場合、次のように AND 演算子を使ってフィルターを結合します。

国または地域 = イギリス AND 生年月日の月 = 4 月

フィルター処理されていないビューに戻すには、フィルターを削除します。 フィルターを削除すると、フィルターがビューから一時的に削除されるため、元のフィルター処理されていないビューに切り替えて戻ることができます。

フィルター処理されたビューとフィルター処理されていないビューを切り替えるには、[ホーム] タブの [並べ替え & フィルター ] で [フィルターの切り替え] をクリックします。

フィルターをビューから完全に削除するには、フィルターをクリアします。 フィルターをクリアする方法については、「フィルターをクリアする」を参照してください。

フィルターの設定は、オブジェクトの別のビューに切り替えた場合でも、オブジェクトを閉じるまで適用されたままになります。 つまり、データシートビューでフォームをフィルター処理しても、フォームビューまたはレイアウトビューに切り替えた場合でもフィルター設定は有効になり、フォームを閉じるまでは有効なままとなります。 フィルターが適用された状態でオブジェクトを保存した場合、このフィルターは次にオブジェクトを開いたときに使用可能になります。 フィルターの保存の詳細については、この記事の「フィルターを保存する」セクションを参照してください。

ページの先頭へ

フィルターの種類を選択して適用する

1つのデータ型に対して、使用できるいくつかの事前使用フィルターから選ぶことができます。 これらのフィルターは、データシート、フォーム、レポート、レイアウトの各ビューで、メニュー コマンドとして使用できます。 これらのフィルター以外にも、(フォーム フィルターと呼ばれる) フォームに入力して、フォームまたはデータシートをフィルター処理することもできます。

より高い柔軟性が必要である場合や、式の作成に慣れている場合は、[フィルター] ドキュメント タブのオプションを使用して独自のフィルターを作成できます。

次の種類のフィルターから選びます。

共通フィルター: 特定の値または値の範囲をフィルター処理します。

選択フィルター: データシートビューをフィルター処理して、選択した値と一致する値を含むテーブル内のすべての行をフィルター処理します。

フォームフィルター: フォームまたはデータシートの複数のフィールドに基づいてフィルターを適用するか、特定のレコードを検索するかを指定します。

高度なフィルター: ユーザー設定のフィルター条件を定義する場所の種類をフィルター処理します。

注: どのビューにもフィルター コマンドが表示されない場合は、フォームまたはデータベースの設計者によってフィルター処理が無効化されている可能性があります。 サポートについては、設計者にお問い合わせください。

共通フィルター

OLE オブジェクトのフィールド、および計算された値を表示するフィールドを除き、すべてのフィールドの種類には共通フィルターが用意されています。 使用できるフィルターのリストは、選択されているフィールドのデータ型と値に応じて異なります。

フィルターを適用するフィールドを右クリックします。 複数の列またはコントロールをフィルター処理するには、各列またはコントロールを個別に選択してフィルター処理するか、高度なフィルターオプションを使用する必要があります。 詳細については、この記事の「フォーム フィルター」および「高度なフィルター」を参照してください。

たとえば、[生年月日] フィールドに使用できるフィルターを表示するには、[ホーム] タブの [並べ替え & フィルター ] グループで、[ フィルター ] をクリックします。

日付の共通フィルター
一般的な日付フィルターの例

1. フィルターを適用して特定の値を抽出するには、チェック ボックス リストを使用します。 このリストには、フィールドに現在表示されているすべての値が表示されます。

2. フィルターを適用して値の範囲を抽出するには、いずれかのフィルターをクリックし、目的の値を指定します。 たとえば、現在の日付から年末までに相当する誕生日を表示するには、[次の値の間] をクリックし、[次の値の間] ダイアログ ボックスで適切な開始日と終了日を指定します。 特定の日付に含まれるすべての誕生日を表示するには、日付をクリックすると、その特定の日に該当するすべての誕生日が表示されます。

日付フィールドの値は、型固有のフィルターのリストに影響を与えることに注意してください。 日付フィールドの最新の日付値が過去 2 年以内である場合は、長く詳細なフィルター リストが表示されます。 過去 2 年以内の日付がフィールドに含まれていない場合は、短いフィルター リストが表示されます。

長短の共通の日付フィルターのリスト
長短の共通の日付フィルターのリスト

注: 型固有のフィルターは、Yes/No 型、OLE オブジェクト型、および添付ファイル型の各フィールドでは使用できません。 メモ型フィールドや、リッチ テキストを含むフィールドでは、値リストを使用できません。

共通フィルターを適用する

  1. データシート、フォーム、レポート、またはレイアウトのいずれかのビューで、テーブル、クエリ、フォーム、またはレポートを開きます。

  2. ビューにフィルターが適用されていないことを確認します。 レコードセレクターバーで、[フィルター処理なし] または [淡色表示] アイコンのいずれかが表示されていることを確認します。

    ヒント: 特定のオブジェクトのすべてのフィルターを削除するには、[ホーム] タブの [ 並べ替え & フィルター ] で [詳細設定] をクリックし、[すべてのフィルターをクリア] をクリックします。

  3. フィルターを適用する最初のフィールドに対応する列またはコントロール内の任意の場所をクリックし、[ホーム] タブの [並べ替え & フィルター ] で [フィルター ] をクリックします。

共通フィルターを適用するには: [ テキスト] (または [ 数値])フィルターをポイントし、目的のフィルターをクリックします。 "Equals"や" Between " などのフィルターを使用すると、必要な値を入力するように求められます。

ヒント:  *、%、? などの特定の文字は、フィルターテキストボックスで指定すると特別な意味があります。 たとえば、* は文字の文字列を表しているため、a * という文字列は、リテラル文字列a *だけでなく、 aで始まる任意の文字列と一致します。 文字の特殊な意味を無視するには、次のように角かっこ [] で囲みます。 ANSI-89 標準では、*、?、[]、!,-,、# を特殊文字として使用するデータベース。 ANSI-92 標準の [%]、[_]、[]、[^]、および [-] を特殊文字として使用するデータベース。 Access では標準を使用できますが、2つの標準を混在させることはできません (例:a *)特定の式の場合...

フィールド値に基づいてフィルターを適用するには: フィルター処理しない値の横にあるチェックボックスをオフにして、 [ OK]をクリックします。

長いリストの中の1つまたは複数の値にフィルターを適用するには、まず [ (すべて選択) ] チェックボックスをオフにしてから、目的の値を選びます。

テキスト型、数値型、および日付型フィールドに null 値をフィルター処理するには (null 値はデータが存在しないことを示す) 、チェックボックスリストで [ (すべて選択) ] チェックボックスをオフにして、[ (空白)] チェックボックスをオンにします。

選択フィルター

行の値と一致する値を含むテーブル内のすべての行を表示するには、特定の値を選んで [選択] をクリックして、データシートビューをすばやくフィルター処理します。 ドロップダウンリストには、使用可能なフィルターオプションが表示されます。 これらのオプションは、選択した値のデータ型によって異なります。 選択フィルターのオプションにアクセスする別の方法として、特定のセルを右クリックします。

たとえば、現在値2/21/1967 が [生年月日] フィールドで選択されている場合、[ホーム] タブの [並べ替え & フィルター ] グループで、[選択範囲] をクリックして [選択フィルター] コマンドを表示し、フィルターオプションを選びます。

選択に基づくフィルターリスト

コマンドのリストは、選択されている値の量によっても異なります。 たとえば、値に含まれる一部の文字だけを選んだ場合は、選んだフィールドの部分に応じて、異なるコマンド リストが表示されます。

部分的に選択されたフィールドに基づくフィルター

1. フィールド値の最初を使用するフィルター

2. フィールド値の中央を使用するフィルター

3. フィールド値の最後を使用するフィルター

注: 部分的な選択に基づくフィルター処理は、複数値を持つフィールドでは使用できません。 [ 選択] コマンドを添付することはできません。

フィルターを削除するには、 [ホーム] タブの[並べ替え & フィルター ] で [フィルターの切り替え] をクリックするか、[詳細設定] をクリックして [すべてのフィルターをクリア] をクリックします。

選択範囲に基づくフィルターを適用する

  1. データシート、フォーム、レポート、またはレイアウトのいずれかのビューで、テーブル、クエリ、フォーム、またはレポートを開きます。

  2. ビューにフィルターが適用されていないことを確認します。 レコードセレクターバーで、[フィルター処理なし] または [淡色表示] アイコンのいずれかが表示されていることを確認します。

  3. フィルターの一部として使用する値が含まれているレコードに移動して、列 (データシート ビューの場合) またはコントロール (フォーム、レポート、またはレイアウト ビューの場合) の内部をクリックします。

部分的な選択範囲に基づいてフィルターを適用するには目的の文字を選択し、[ホーム] タブの [ 並べ替え & フィルター ] で [ 選択] をクリックし、適用するフィルターをクリックします。

フォーム フィルター

このフィルターは、フォームまたはデータシートの複数のフィールドにフィルターを適用する場合や、特定のレコードを検索しようとしている場合に便利です。 Access では、元のフォームまたはデータシートに似た空のフォームまたはデータシートが作成され、必要な数のフィールドに値を入力できます。 入力が完了すると、指定した値を含むレコードが検索されます。

注: フォーム フィルターを使用して、複数値を持つフィールドや、メモ、ハイパーリンク、Yes/No、または OLE オブジェクトのデータ型のフィールドのフィールド値を指定することはできませんが、レコードセットの他のフィールドの値は指定できます。

たとえば、連絡先の役職が "所有者" で、そのユーザーがポートランドまたは"ユージーン"のいずれかにある顧客レコードをすべて検索する場合は、[ユーザー] データシートまたはフォームを開き、[ホーム] タブの[並べ替え & フィルター ] グループで、[詳細設定] をクリックし、[フォームフィルター] をクリックします。

最初の値のセットを入力し、データシートまたはフォームの下部にある [または] タブをクリックして、次の値のセットを入力します。 フィールド値を他のフィールド値とは独立したフィルターとして機能させる場合は、[抽出条件] タブと各 [または] タブに値を入力する必要があります。 各 [または] タブはフィルター値の代替セットを表します。

入力したレコードのみを表示するには、次の操作を行います。   [ホーム] タブの [ 並べ替え & フィルター ] で [ フィルターの切り替え] をクリックします。

フォームに入力してフィルターを適用する

  1. データシート ビューでテーブルまたはクエリを開くか、フォーム ビューでフォームを開きます。

  2. ビューがまだフィルター処理されていないことを確認します。 レコードセレクターバーで、[フィルター処理なし] または [淡色表示] アイコンのいずれかが表示されていることを確認します。

  3. [ホーム] タブの [ 並べ替え & フィルター ] で [ 詳細設定] をクリックし、ショートカットメニューの [フォームフィルター ] をクリックします。

  4. データシート ビューとフォーム ビューのどちらで作業しているかに応じて、次のいずれかの操作を行います。

    データシートビュー:フィルターを適用する列の最初の行をクリックし、表示される矢印をクリックして、値を選択します。 他の値を追加するには、データシートの下部にある [または] タブをクリックして、別の値を選びます。

    フォームビュー: コントロールに表示される矢印をクリックし、フィルターを適用する値を選択します。 他の値を追加するには、フォームの下部にある [または] タブをクリックし、別の値を選びます。

    ヒント: 複数値を持つフィールドのフィールド値を指定するには、[フォームフィルター] を使用しますが、レコードセット内の複数値を持たないフィールドの値を指定することもできます。

    • フィールドに使用できる値のリストを指定するには、or 演算子を使用します。 たとえば、[市区町村] フィールドに"ポートランド" または "オレゴン"を指定すると、いずれかの値を含むレコードを抽出できます。

    • チェック ボックスやボタンなどのコントロールのステータスに基づいてフィルター処理するには、コントロールが適切な状態になるまでクリックします。 レコードの抽出条件として使用されないようにコントロールを無指定の状態に戻すには、使用不可になるまで (淡色表示されるまで) クリックします。

    • null (存在しない)、null 以外、空白 (空または "")、または空白以外の値を含むレコードをフィルター処理するには、 フィールドに「 is null」 、「is not null」、「"」 、 not "」のように入力します。

  5. 2つの代替セットを指定する必要がある場合、たとえば、国の値が USA で、誕生日が4月の連絡先の名前だけを表示するには、次のいずれかを実行します。

    • 複数の条件セットのいずれかに一致するレコードをすべて取得するには、最初の条件セットを入力して抽出条件を指定し、[または] タブをクリックして、次の条件のセットを入力します。 フィールド値を他のフィールド値とは別にフィルターとして操作する場合は、[ 検索対象] タブおよび各タブに値を入力する必要があることに注意してください。 つまり、 [検索] タブとそれぞれの [または] タブは、フィルター値の代替セットを表します。

    • また、 [または] タブにフィールド抽出条件を追加するたびに、Access によって別のまたはタブが作成されることに注意してください。 これで、複数の "or" 抽出条件を指定できます。 フィルターは、[ 検索] タブで指定されたすべての値、または最初またはタブで指定されたすべての値、または2番目のタブまたタブで指定されたすべての値を含むレコードを返します。

フィルターを削除してすべてのレコードを表示するには、[フィルターの切り替え] をもう一度クリックします。

フォームフィルターを変更するには、 [詳細設定] をクリックし、[フォームフィルター ] をもう一度クリックします。 現在のフィルター抽出条件セットが表示されます。

高度なフィルター

場合によっては、高度なフィルターの種類であるフィルターを適用することが必要な場合があります。また、フィルター条件を自分で作成する必要がある場合もあります。 たとえば、過去7日間または過去6か月以内に発生した日付を含むレコードを検索するには、次のようにします。

高度なフィルターを使用するには、式を記述する必要があります。 式は Excel の数式と似ています。また、クエリの設計時に指定した抽出条件にも似ています。

高度なフィルターを使用する例として、過去7日間に誕生日を迎えた連絡先の名前を検索することができます。 高度なフィルターを適用した後で、国/地域が USA であるものに結果をさらに制限することができます。

高度なフィルターを適用する

  1. データシート、フォーム、レポート、またはレイアウトのいずれかのビューで、テーブル、クエリ、フォーム、またはレポートを開きます。

  2. ビューにフィルターが適用されていないことを確認します。 レコード ナビゲーター バーで [フィルターなし] が淡色表示されている (使用不可である) ことを確認します。 レコード ナビゲーター バーが表示されていない場合は、[ホーム] タブの [並べ替えとフィルター] で [詳細設定] をクリックし、[すべてのフィルターのクリア] をクリックします ([すべてのフィルターのクリア] が淡色表示されている場合、有効なフィルターはありません)。

  3. [ ホーム] タブの [ 並べ替え & フィルター ] で [ 詳細設定] をクリックし、ショートカットメニューの [フィルター/並べ替えの設定] をクリックします。

  4. フィルターを適用するフィールドをグリッドに追加します。

  5. 各フィールドの [抽出条件] 行で、抽出条件を指定します。 抽出条件はまとめて適用され、すべての抽出条件に一致したレコードだけが [抽出条件] 行に表示されます。 代替的な抽出条件を単一のフィールドに対して指定するには、[抽出条件] 行に最初の抽出条件を入力し、[または] 行に 2 番目の抽出条件を入力します。

    ヒント: 

    • [または] 行のすべての抽出条件のセットが、[抽出条件] 行の代替抽出条件のセットとして適用されます。 両方の抽出条件のセットとして適用する抽出条件については、[抽出条件] 行と [または] 行の両方に入力する必要があります。 フィルターが適用された行を表示するには、[フィルターの切り替え] をクリックします。

    • 抽出条件の作成方法を学ぶには、希望に近い結果を生成する共通フィルターまたは選択フィルターを適用します。 次に、ビューにフィルターが適用されている状態で、[フィルターオブジェクト] タブを表示します。

[ドキュメントのフィルター] タブの特殊なコマンド

[ドキュメントのフィルター ] タブでは、2つの特別なコマンドを使用できます。 タブ上のデザイングリッドの上の任意の場所を右クリックすると、ショートカットメニューで [クエリからのロード] および [クエリとして保存] コマンドを使用できます。

特殊なフィルターオプション

[クエリから読み込み] をクリックすると、選択したクエリのデザインがグリッドに読み込まれます。 これにより、クエリ条件をフィルター条件として使うことができます。

[クエリとして保存] をクリックすると、フィルター設定を新しいクエリとして保存できます。

ページの先頭へ

フィルターを削除または再適用する

フィルター処理されていないデータのビューに切り替えるには、レコードナビゲーターバーの [フィルター ] をクリックして、完全なビューに戻します。

現在のフィルターを削除すると、フィルターはビュー内のすべてのフィールドから一時的に削除されます。 たとえば、まず [国または地域] フィールドと [生年月日] フィールドでフィルターを適用してから、フィルターを削除すると、すべてのレコードが再び表示されます。

最新のフィルターを再適用するには、レコードナビゲーターバーの [フィルター処理なし] をクリックします。

ページの先頭へ

フィルターをクリアする

不要になったフィルターはクリアします。 フィルターをクリアすると、ビューからフィルターが削除され、ステータス バーの [フィルター処理なし] をクリックしてもフィルターを再適用できなくなります。 単一のフィールドから単一のフィルターをクリアすることも、ビュー内のすべてのフィールドからすべてのフィルターをクリアすることもできます。

  • 1つのフィールドから単一のフィルターをクリアするには、フィルター処理された列またはコントロールを右クリックし、[フィールド名からフィルターをクリア] をクリックします。

  • すべてのフィールドからすべてのフィルターをクリアするには、[ホーム] タブの [ 並べ替え & フィルター ] で [ 詳細設定] をクリックし、ショートカットメニューの [ すべてのフィルターをクリア] をクリックします。

ページの先頭へ

フィルターを保存する

フィルターをもう一度使用する場合は、保存しておくと便利な場合があります。 テーブル、クエリ、フォーム、またはレポートを閉じるときに有効になっているフィルターの設定は、オブジェクトと共に自動的に保存され、再適用することができます。 ただし、既定では、オブジェクトを次回開いたときにフィルター設定が自動的に適用されるわけではありません。

次にテーブル、クエリ、フォーム、またはレポートを開くときに現在のフィルターが自動的に適用されるようにするには、オブジェクトのプロパティシートで、オブジェクトのFilterOnLoadプロパティを[はい]に設定します。 FilterOnLoadプロパティは、次回オブジェクトを開いたときに適用されます。 この設定を変更するたびに、オブジェクトを閉じてもう一度開くことにより、新しい設定を適用する必要があります。

注: FilterOnLoadプロパティの設定は、オブジェクトを読み込むときにのみ適用されます。 デザイン ビューでオブジェクトにこのプロパティを設定し、別のビューに切り替えると、設定は適用されません。 FilterOnLoadプロパティ設定の変更を有効にするには、オブジェクトを閉じてからもう一度開く必要があります。

ページの先頭へ

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×