こんにちは、Accessブロガーのなかぜんです。
「データが多すぎて、見たい情報を探すのが大変…」そんな経験ありませんか?
Accessではフィルター機能を使えば、見たいデータだけをサッと表示することができます。
今回は、初心者の方でもすぐに使えるように、フィルター機能の使い方とポイントを丁寧にご紹介します。
Accessのフィルター機能とは?
Accessのフィルター機能は、テーブルやフォーム、クエリで条件を設定し、特定の条件に合致するレコードだけを表示する機能です。
例えば、売上テーブルから「2024年のデータだけを表示したい」「顧客Aの購入履歴だけを見たい」といった場合に活用できます。
基本の使い方:フォームで簡単フィルター
1. フォームのフィルター機能を使う
以下のようにフォーム上で直接フィルターを設定できます。
- フォームを開く
- 任意のフィールドにカーソルを合わせて右クリック
- 「選択フィルター」→「”○○” に等しい」を選択
これだけでその値だけに絞った表示になります!
2. VBAでフィルターを設定する
より柔軟な制御をしたい場合は、VBAでのフィルター設定も便利です。
' フォームを開いたときにフィルターを設定
Private Sub Form_Open(Cancel As Integer)
Me.Filter = "顧客名 = '株式会社〇〇'"
Me.FilterOn = True
End Sub
解説:このコードはフォームを開いたときに「顧客名が株式会社〇〇のレコードだけ」を表示します。
応用:複数条件でのフィルター
複数の条件でフィルターを設定したい場合は、以下のように書きます。
Me.Filter = "担当者 = '田中' AND 受注日 >= #2024/01/01#"
Me.FilterOn = True
ポイント:日付の条件は # で囲むのがAccessの書き方です。
注意点とよくあるミス
- フィルターをかけたまま保存すると、次回開いたときもその条件が残ってしまう
- 日付のフォーマットミスでフィルターが機能しない(例:#2024-01-01# → 正しくは #2024/01/01#)
- VBAでFilterOn = True を忘れて「フィルターが反映されない!」というケース
トラブルが起きたら、まずはフィルターの条件式とフィルターONになっているかを確認してみましょう。
中級者向けTips:フィルターとコンボボックス連携
フォームに配置したコンボボックスの選択値に応じて、フィルターを自動で切り替えることもできます。
' コンボボックスのAfterUpdateイベント
Private Sub cbo担当者_AfterUpdate()
If Not IsNull(Me.cbo担当者) Then
Me.Filter = "担当者 = '" & Me.cbo担当者 & "'"
Me.FilterOn = True
Else
Me.FilterOn = False
End If
End Sub
業務アプリではこうした使い方をすることで、ユーザーにとって操作性の高いフォームを作ることができます。
まとめ:フィルター機能を使いこなそう!
今回はAccessのフィルター機能について、基本から応用まで紹介しました。
- フォームの右クリックメニューから簡単に使える
- VBAで柔軟な条件指定が可能
- コンボボックスと連携することで操作性アップ
「たくさんのデータの中から必要な情報だけを効率的に見たい!」
そんな時こそ、フィルター機能の出番です。ぜひ一度、自分のAccessで試してみてくださいね。
¥2,178 (2025/04/21 20:15:11時点 | 楽天市場調べ)
