ray88’s diary

お仕事で困ったとき用の自分用の覚書

Docmdオブジェクト テーブル・クエリ・フォームにフィルタを設定・解除する。

■ApplyFilterメソッド アクティブなテーブル・クエリ・フォームにフィルタを設定する
■ShowAllRecordsメソッド フィルタの設定を解除する

【書式】

Docmd.ApplyFilter フィルタ名,抽出条件
Docmd.ShowAllRecords

【引数】
ApplyFilterメソッドの引数
※フィルタ名、抽出条件ともに省略可能だが必ずどちらかを指定する必要がある。

引数 説明
フィルタ名 カレントデータベースのフィルタまたはクエリ名を指定する
抽出条件 抽出条件のSQL文字列式のWHERE句以降の部分を記述する。「WHERE」は記述不要

※ShowAllRecordsメソッドには引数はない。

Sub Test11()
    DoCmd.OpenTable "T社員名簿"
    DoCmd.ApplyFilter , "年齢 >= 50"
    MsgBox "フィルタで[年齢]が50歳以上の社員を抽出しています"
    DoCmd.ShowAllRecords
    MsgBox "フィルタを解除してすべての社員を表示しています"
    DoCmd.Close acTable, "T社員名簿"
End Sub

f:id:ray88:20201123114032p:plain
f:id:ray88:20201123114100p:plain