Access VBA の DoCmd.ApplyFilter と DoCmd.ShowAllRecords は、データの表示内容を絞り込んだり、フィルターを解除するためのメソッドです。フォームやレポートで特定の条件のレコードだけを表示したいときなどに使います。
目次
🔹 DoCmd.ApplyFilter の基本構文と引数
DoCmd.ApplyFilter(FilterName, WhereCondition)
| 引数名 | 型 | 説明 |
|---|---|---|
FilterName | Variant (省略可) | 既存のフィルター名(Access に保存されているクエリなど) |
WhereCondition | Variant (省略可) | SQL の WHERE 句の条件に相当する文字列(例: "City = 'Tokyo'") |
✅ 使用例1:条件を指定してフィルター
DoCmd.ApplyFilter , "City = 'Tokyo'"
✅ 使用例2:保存済みのクエリをフィルターとして適用
DoCmd.ApplyFilter "FilterByTokyo"
🔹 DoCmd.ShowAllRecords の基本構文
DoCmd.ShowAllRecords
このメソッドには引数はありません。
✅ 使用例:すべてのレコードを表示(フィルター解除)
DoCmd.ShowAllRecords
✅ 補足ポイント
ApplyFilterは フォーム・レポート・テーブル・クエリ に適用可能。WhereConditionを使うことで、SQL感覚で絞り込みが可能。ShowAllRecordsはフィルターや抽出の状態を初期状態(全件表示)に戻すのに便利です。- 両方とも
DoCmd.OpenFormやDoCmd.OpenReportと組み合わせて使うことが多いです。
