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
と組み合わせて使うことが多いです。