PR

フィルター機能で見たいデータだけを表示しよう【Access初心者向け】

Access

こんにちは、Accessブロガーのなかぜんです。

「データが多すぎて、見たい情報を探すのが大変…」そんな経験ありませんか?
Accessではフィルター機能を使えば、見たいデータだけをサッと表示することができます。

今回は、初心者の方でもすぐに使えるように、フィルター機能の使い方とポイントを丁寧にご紹介します。

Accessのフィルター機能とは?

Accessのフィルター機能は、テーブルやフォーム、クエリで条件を設定し、特定の条件に合致するレコードだけを表示する機能です。

例えば、売上テーブルから「2024年のデータだけを表示したい」「顧客Aの購入履歴だけを見たい」といった場合に活用できます。

基本の使い方:フォームで簡単フィルター

1. フォームのフィルター機能を使う

以下のようにフォーム上で直接フィルターを設定できます。

  1. フォームを開く
  2. 任意のフィールドにカーソルを合わせて右クリック
  3. 「選択フィルター」→「”○○” に等しい」を選択

これだけでその値だけに絞った表示になります!

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で試してみてくださいね。