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

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

この記事の内容

フィルターの使い方

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

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

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

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

日付フィールドのフィルター

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

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

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

4 月でフィルター処理された BirthDate

1. 列見出しとレコード ナビゲーター バーのフィルター アイコンは、現在のビューが BirthDate 列でフィルター処理された状態を示します。

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

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

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

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

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

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

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

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

ページの先頭へ

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

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

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

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

一般的なフィルター: 特定の値または値の範囲をフィルター処理します。

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

フォームフィルター: フォームまたはデータシート内の複数のフィールドに対してフィルター処理を行う場合、または特定のレコードを検索する場合。

高度なフィルター: ユーザー設定のフィルター条件を定義するフィルターの種類。

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

共通フィルター

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

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

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

日付の共通フィルター

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

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

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

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

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

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

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

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

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

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

一般的なフィルターを適用するには、テキスト (または数値または日付) フィルターをポイントし、必要な フィルターをクリックします。 [次の値に 等しい] や[Between] などのフィルターを実行すると、必要な値を入力するように求めるメッセージが表示されます。

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

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

長いリストの値の 1 つ以上をフィルター処理するには、まず [(すべて選択)] チェック ボックスをオフにして、目的の値 を選択します。

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

選択フィルター

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

フォーム フィルター

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

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

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

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

入力に一致するレコードのみを表示するには:   [ホーム ] タブの [並べ替えとフィルター &で、[フィルターの切り替え ] をクリックします

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

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

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

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

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

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

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

    ヒント: フォームフィルターを使用して、複数値を持つフィールドのフィールド値を指定することはできませんが、レコードセットでは、複数値を持つフィールド以外のフィールドの値を指定できます。

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

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

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

  5. たとえば、"国または地域" の値が "米国" で誕生日が 4 月の連絡先の名前のみを表示するために、2 つの代替条件セットを指定する場合は、次の操作を行います。

    • 複数の条件セットのいずれかを満たすすべてのレコードを取得するには、最初の条件セットを入力して条件を指定し、[または] タブをクリックし、次の条件セットを入力 します。 フィールド値を他のフィールド値とは独立したフィルターとして動作する場合は、[検索] タブと [または] タブに値を入力する 必要があります。 つまり、[検索] タブと[または] タブは、フィルター値の代替 セットを表します。

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

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

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

高度なフィルター

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

高度なフィルターを使用するには、式を記述する必要があります。 式は、Excel の数式や、クエリのデザイン時に指定する条件に似ています。

高度なフィルターを使用する例の 1 つは、過去 7 日間に誕生日が発生した連絡先の名前を検索する方法です。 高度なフィルターを適用した後は、国/地域が米国であるユーザーに結果をさらに制限できます。

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

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

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

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

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

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

    ヒント: 

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

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

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

[ドキュメントのフィルター] タブには、2 つの 特別なコマンドがあります。 タブのデザイン グリッドの上の任意の場所を右クリックすると、[クエリから読み込み] コマンドと [クエリとして保存] コマンドがショートカット メニューに表示されます。

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

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

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

ページの先頭へ

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

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

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

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

ページの先頭へ

フィルターをクリアする

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

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

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

ページの先頭へ

フィルターを保存する

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

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

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

ページの先頭へ

ヘルプを表示

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

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

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

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

×