Form.Filter プロパティ (Access)

フィルターをフォーム、レポート、クエリ、またはテーブルに適用するときに表示するレコードのサブセットを指定するには、 Filter プロパティを使用します。 読み取り/書き込みが可能な String です。

構文

.Filter

expressionForm オブジェクトを表す変数です。

注釈

Microsoft Office Access プロジェクト (.adp) でサーバー上にあるデータにサーバー フィルターを適用するには、" ServerFilter /サーバーフィルター" プロパティを使用します。

Filter プロパティの設定値は、WHERE 句から WHERE を省いた文字列式です。 たとえば、次の Visual Basic コードでは、米国の顧客のみを表示するフィルターを定義して適用します。

Me.Filter = "Country = 'USA'" 
Me.FilterOn = True

注:

Filter プロパティを設定しても、ADO Filter プロパティには影響しません。

Filter プロパティを使用してフィルターを保存し、後で適用します。 フィルターは、そのフィルターを作成したオブジェクトと共に保存されます。 オブジェクトを開くと、フィルターは自動的に読み込まれますが、自動的に適用されることはありません。

新しいオブジェクトが作成されると、作成元のテーブルまたはクエリの RecordSourceFilterOrderByおよび OrderByOn プロパティが継承されます。

保存したフィルターをフォーム、クエリ、またはテーブルに適用するには、ツール バーの [フィルターの適用] を選択するか、[レコード] メニューの [フィルター/並べ替えの適用] を選択するか、マクロまたは Visual Basic を使用して FilterOn プロパティを True に設定します。 レポートの場合、レポートのプロパティ シートの " FilterOn /フィルター適用" プロパティを [Yes/はい] に設定してフィルターを適用することができます。

[ フィルターの実行 ] ボタンは、" Filter /フィルター" および " FilterOn /フィルター適用" プロパティの状態を示します。 適用するフィルターが存在しない限り、ボタンは使用不可のままです。 現在既存のフィルターが適用されている場合、[ フィルターの実行 ] ボタンは押された状態で表示されます。

フォームを開いたときに、自動的にフィルターを適用するようにするには、"ApplyFilter/フィルターの実行" アクションを使用するマクロ、または DoCmd オブジェクトの ApplyFilter メソッドを使用するイベント プロシージャのいずれかをフォームの OnOpen イベント プロパティに指定します。

フィルターを削除するには、押された [フィルターの適用] ボタンを選択するか、[レコード] メニューの [フィルター/並べ替えの削除] を選択するか、Visual Basic を使用して FilterOn プロパティを False に設定します

"Filter/フィルター" プロパティがフォームのデザイン ビューで設定されていると、SQL 式は検証されません。 SQL 式が無効の場合は、フィルターを適用したときにエラーが発生します。

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。