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

フィルター処理は、表示したいデータのみを表示するために役に立つ方法です。フィルターを使用してフォーム、レポート、クエリ、またはデータシートの特定のレコードを表示したり、レポート、テーブル、またはクエリからあるレコードのみを印刷することができます。フィルターを適用することによって、基になるオブジェクトのデザインを変更せずにビュー内のデータを制限できます。この記事では、Access のフィルターの種類および Access 2010 クライアント データベースのフィルターを適用、保存、または削除する方法を説明します。この記事は、Access 2010 Web データベースのレコードのフィルター処理には適用しません。

この記事の内容

フィルターが有効な場合

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

一般的なフィルター

一般的なフィルターを適用する

選択範囲で抽出する

選択フィルターを適用する

フォーム フィルター

フォーム フィルターを適用する

高度なフィルター

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

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

フィルターをクリアする

フィルターを保存する

フィルターが有効な場合

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

注: 式に連結されたフォームおよびレポート内のデータシートとコントロールの列は、フィルターをサポートしていません。

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

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

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

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

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

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

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

1. 列見出しおよびレコード ナビゲーション バーのフィルター アイコンによって、現在のビューが [生年月日] 列でフィルター処理されていることが示されます。

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

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

たとえば、居住地がイギリスで誕生日が 4 月である連絡先の名前を表示するには、[国] フィールドと [生年月日] フィールドの値に基づいて [連絡先] テーブルにフィルターを適用します。単一ビューの複数のフィールドにフィルターを適用すると、フィルターは AND 演算子を使って次のように結ばれます。

国 = イギリス AND 生年月日の月 = 4 月

フィルターが適用される前のビューに戻るには: フィルターを削除します。フィルターを削除すると、フィルターがビューから一時的に削除され、フィルターを適用する前の元のビューに戻ることができます。

フィルター適用後のビューと適用前のビューを切り替えるには: [ホーム] タブの [並べ替えとフィルター] で [フィルターの切り替え] をクリックします。

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

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

ページの先頭へ

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

データ型の既定のフィルターから選択できます。これらのフィルターは、データシート、フォーム、レポート、およびレイアウトの各ビューでメニュー コマンドとして使用できます。この他にも、フォームに必要な値を入力することによって、フォームまたはデータシートにフィルター (フォーム フィルター) を適用することもできます。

もっと柔軟にフィルターを作成したい場合や、式の記述に精通されている場合は、[フィルター] ドキュメント タブのオプションを使って独自のフィルターを作成できます。

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

一般的なフィルター: フィルターを適用して、特定の値または値の範囲を抽出します。

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

フォーム フィルター: フォームまたはデータシートの複数のフィールドにフィルターを適用する場合や、特定のレコードを検索する場合に使用します。

高度なフィルター: 独自のフィルター条件を定義する種類にフィルターを適用します。

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

一般的なフィルター

一般的なフィルターは、OLE オブジェクト フィールドや計算値を表示するフィールドを除くすべての種類のフィールドに備わっています。どのフィルターを使用できるかは、選択したフィールドのデータ型と値によって異なります。

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

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

日付の共通フィルター

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

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

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

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

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

一般的な長い形式および短い形式の日付フィルター リスト

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

一般的なフィルターを適用する

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

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

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

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

一般的なフィルターを適用するには: [テキスト フィルター]、[数値フィルター]、または [日付フィルター] をポイントして希望のフィルターをクリックします。[等しい] や [指定の範囲内] などのフィルターを選択すると、必要な値を入力するように求めるメッセージが表示されます。

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

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

ヒント:  長いリストの値のうち 1 つまたは少数だけにフィルターを適用するには、[(すべて選択)] チェック ボックスをオフにしてから、必要な値を選択します。

Null 値を抽出するフィルターをテキスト型、数値型、または日付型フィールドに適用するには: [(すべて選択)] チェック ボックスをオフにして、[(空白)] チェック ボックスをオンにします (Null 値はデータが存在しないことを示します)。

選択範囲で抽出する

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

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

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

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

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

1. フィールド値の最初...

2. ...フィールド値の中央...

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

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

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

選択フィルターを適用する

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

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

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

部分的な選択フィルターを適用するには、必要な文字を選択し、[ホーム] タブの [並べ替えとフィルター] で [選択] をクリックし、適用するフィルターをクリックします。

フォーム フィルター

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

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

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

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

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

フォーム フィルターを適用する

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

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

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

  4. データシート ビューとフォーム ビューのどちらを開いているかどうかによって、次のいずれかの操作を行います。

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

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

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

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

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

    • Null 値 (値なし)、非 Null 値、空白値 (空または "")、または非空白値を含むレコードを抽出するには、フィールドに「Is Null」「Is Not Null」「""」、または「Not ""」と入力します。

  5. たとえば、国/地域の値が "米国" で、誕生日が 4 月の連絡先だけを抽出して、その名前を表示する必要がある場合など、代替的な抽出条件を 2 つ指定する場合、次のいずれかの操作を行うことがでいます。

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

    • Access では、[または] タブにフィールドの抽出条件を追加するたびに、新しい [または] タブが作成されるため、複数の "or" 条件を指定できます。このフィルターを適用すると、[抽出条件] タブで指定したすべての値を含むレコード、[または] タブで指定したすべての値を含むレコード、または 2 番目の [または] タブで指定したすべての値を含むレコードが返されます。

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

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

高度なフィルター

高度なフィルターの種類のフィルターを適用し、フィルター条件を手動で作成する必要がある場合があります。たとえば、過去 7 日間または過去 6 か月間の日付を含むレコードを検索する場合などです。

高度なフィルターを使用するには、式を作成する必要があります。式は、Excel で作成する数式や、クエリを設計するときに指定する条件と似ています。

高度なフィルターを使用できるのは、過去 7 日間に誕生日を迎えた連絡先の名前を検索する場合などです。高度なフィルターを適用した後、その結果を国/地域の値が "米国" の連絡先にさらに限定できます。

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

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

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

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

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

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

    ヒント: 

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

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

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

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

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

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

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

ページの先頭へ

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

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

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

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

ページの先頭へ

フィルターをクリアする

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

  • 単一のフィールドから単一のフィルターをクリアするには: フィルターが適用された列またはコントロールを右クリックして、[<フィールド名> のフィルターをクリア] をクリックします。

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

ページの先頭へ

フィルターを保存する

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

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

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

ページの先頭へ

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

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

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

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

×