次の方法で共有


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