SetFilter メソッド (Access)DoCmd.SetFilter method (Access)

SetFilter メソッドを使用して、アクティブなデータシート、フォーム、レポート、またはテーブルのレコードにフィルターを適用します。Use the SetFilter method to apply a filter to the records in the active datasheet, form, report, or table.


SetFilter(FilterNameWhereConditionControlName)expression.SetFilter (FilterName, WhereCondition, ControlName)

expression: DoCmd オブジェクトを表す変数。expression A variable that represents a DoCmd object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
FilterNameFilterName 省略可能Optional VariantVariant 指定した場合は、クエリの名前、またはクエリとして保存されているフィルターの名前。If provided, the name of a query or of a filter saved as a query. この引数または_WhereCondition_引数は必須です。This argument or the WhereCondition argument is required.
WhereConditionWhereCondition 省略可能Optional VariantVariant 指定した場合は、データシート、フォーム、レポート、またはテーブルのレコードを制限する SQL WHERE 句。If provided, a SQL WHERE clause that restricts the records in the datasheet, form, report, or table.
ControlNameControlName 省略可能Optional VariantVariant 指定した場合は、フィルター処理するサブフォームまたはサブレポートに対応するコントロールの名前を示します。If provided, the name of the control that corresponds to the subform or subreport to be filtered. 指定しない場合は、現在のオブジェクトがフィルター処理されます。If empty, the current object is filtered.


このメソッドを実行すると、現在アクティブで、フォーカスを持っているテーブル、フォーム、レポート、またはデータシート (たとえばクエリ結果) にフィルターが適用されます。When you run this method, the filter is applied to the table, form, report or datasheet (for example, query result) that is active and has the focus.

アクティブオブジェクトのFilterプロパティを使用して、 _WhereCondition_引数を保存し、後で適用します。The Filter property of the active object is used to save the WhereCondition argument and apply it at a later time. フィルターは、それを作成したオブジェクトに保存されます。Filters are saved with the objects in which they are created. そのオブジェクトが開くと自動的に読み込まれますが、自動的に適用されることはありません。They are automatically loaded when the object is opened, but they are not automatically applied.

オブジェクトを開いたときに自動的にフィルターを適用するには、 FilterOnLoadプロパティをTrueに設定します。To automatically apply a filter when the object is opened, set the FilterOnLoad property to True.


次のコード例では、"NWTB" で始まるレコードのみを表示するように、アクティブなオブジェクトをフィルター処理します。The following code example filters the active object so that it displays only records that begin with "NWTB".

DoCmd.SetFilter WhereCondition:="[Product Code] Like ""NWTB*"""

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.