SetFilter マクロ アクション
適用先: Access 2013、Office 2013
"SetFilter/フィルターの実行" アクションを使用すると、アクティブ データシート、アクティブ フォーム、アクティブ レポート、またはアクティブ テーブルのレコードに対してフィルターを適用できます。
設定
"SetFilter/フィルターの実行" アクションの引数は次のとおりです。
アクションの引数 | 説明 |
---|---|
Filter Name/フィルター名 | 指定した場合は、クエリの名前、またはクエリとして保存されているフィルターの名前。 この引数または WhereCondition 引数は、クライアント データベースで必要です。 Web データベースでは、この引数は使用できません。 |
Where Condition/Where 条件式 | 指定した場合は、データシート、フォーム、レポート、またはテーブルのレコードを制限する SQL WHERE 句。 Web データベースでは、この引数が必要です。 |
コントロール名 | 指定した場合は、フィルター処理するサブフォームまたはサブレポートに対応するコントロールの名前を示します。 指定しない場合は、現在のオブジェクトがフィルター処理されます。 |
注釈
Web データベースでは、Where Condition 引数の先頭に (=) を付けることはできません。
このアクションを実行すると、アクティブであり、かつフォーカスがあるテーブル、フォーム、レポート、またはデータシート (クエリ結果など) に対してフィルターが適用されます。
アクティブなオブジェクトの Filter プロパティを使用すると、"WhereCondition/Where 条件式" 引数を保存して、後で適用できます。 フィルターは、それを作成したオブジェクトに保存されます。 そのオブジェクトが開くと自動的に読み込まれますが、自動的に適用されることはありません。
クライアント データベースで、オブジェクトを開いたときにフィルターを自動的に適用するには、 FilterOnLoad プロパティを True に設定します。
Web データベースで、オブジェクトを開いたときにフィルターを自動的に適用するには、マクロに "SetFilter/フィルターの実行" アクションを追加し、このマクロをオブジェクトの OnLoad イベントに追加します。
例
次の例では、SetFilter アクションを使用して、マクロが定義されているフォームにフィルターを適用する方法を示します。
サンプル コードの提供元:Microsoft Access 2010 Programmer's Reference。
OpenForm
Form Name sfrmFoods
View Form
Filter Name
Where Condition
Data Mode
Window Mode Normal
SetFilter
Filter Name
Where Condition =[display_name] Like "*cheese*"
Control Name