適用対象
Form オブジェクト |
Report オブジェクト |
フィルターを、フォーム、レポートクエリまたはテーブルに適用するときに、Filter プロパティを使用して、レポートの一部を指定して表示することができます。 文字列型の値の読み取り/書き込みが可能です。
expression.Filter
expression 必ず指定します。 [適用先] リスト内のいずれかのオブジェクトを返す式。
解説
サーバー上にあるデータについて Microsoft Access プロジェクト (.adp) 内のサーバー フィルターを指定するには、ServerFilter プロパティを使用します。
Filter プロパティは、WHERE 句で構成され、WHERE キーワードを使用しない文字列式です。 たとえば、次の Visual Basic for Applications (VBA) コードでは、米国の顧客のみを表示するフィルターを定義し、適用します。
Me.Filter = "CountryRegion = 'USA'"
Me.FilterOn = True
このプロパティを設定するには、テーブルまたはフォームの プロパティ シート、マクロ、または VBA コードを使用します。
フォーム ビュー、レポート ビュー、データシート、ビュー、またはレイアウト ビューでこのプロパティを設定することもできます。設定するには、[データ] タブの [並べ替えとフィルター] で [フィルター] または [選択] をクリックします。
注: Filter プロパティを設定しても、ADO Filter プロパティに影響はありません。
Filter プロパティを使用してフィルターを保存し、後で適用することができます。 フィルターは、作成されたオブジェクトと共に保存されます。 オブジェクトを開くと自動的に読み込まれますが、自動的に適用されることはありません。
新しいオブジェクトが作成されると、作成元のテーブルまたはクエリの RecordSource、Filter、OrderBy、および OrderByOn プロパティを継承します。
保存されているフィルターをフォーム、クエリ、またはテーブルに適用するには、[データ] タブの [並べ替えとフィルター] の [フィルターの切り替え] をクリックするか、マクロまたは VBA コードを使用して FilterOn プロパティを True に設定します。 レポートの場合、フィルターを適用するには、レポートのプロパティ シートで FilterOn プロパティを Yes に設定します。
[フィルターの切り替え] ボタンは、Filter および FilterOn プロパティの状態を示します。 適用するフィルターが存在しない場合、ボタンは無効なままです。 既存のフィルターが現在適用されている場合、[フィルターの切り替え] ボタンは押された状態で表示されます。
フォームを開いたときにフィルターを自動的に適用するには、ApplyFilter アクションを使用するマクロまたは DoCmd オブジェクトの ApplyFilter メソッドを使用するイベント プロシージャで、フォームの OnOpen イベント プロパティ設定で指定します。
フィルターを削除するには、押された状態の [フィルターの切り替え] ボタンをクリックし、フィルターされたフィールドを右クリックし、[次のフィルターをクリア] をクリックするか、VBA コードを使用して FilterOn プロパティを False に設定します。