Accessフォームで、テキストボックスに数字を入れるだけでデータを絞り込める方法を知りたい方向けの記事です。
営業日やIDでサッとレコードを絞りたいとき、コマンドボタンを使わずにスムーズに操作できます。Access初心者でもすぐ試せます。
目次
フォーム例
やりたいこと
- テキストボックスに営業日の数字を入力すると、その営業日のデータだけを表示
- 空欄にするとフィルターが解除され、全件表示に戻る

フォームの元になるクエリ名:Q1_TaskHistoryJoin
※これは T1_Tasks と T2_History を結合したクエリです。
Q1_TaskHistoryJoin

動作
第5営業日を抽出する例

テキストボックスに「5」と入力し、Enterキーを押します。

営業日が「5」のデータのみ表示します。
解除する場合は、テキストボックスの文字を消し、Enterキーを押します。
テキストボックスで営業日をフィルターする
STEP
テキストボックスをフォームに配置
名前:txtDayNo(←自由ですが例としてこれ)

STEP
フォームをデザインビューで開き、テキストボックスを選択 (非連結)

テキストボックスの名前:「txtDayNo」
STEP
プロパティシートのイベントタブの更新後処理よりコードビルダーを選択

STEP
コードを記述
Private Sub txtDayNo_AfterUpdate()
If Trim(Nz(Me.txtDayNo, "")) = "" Then
Me.FilterOn = False ' 空欄ならフィルター解除
Else
Me.Filter = "DayNo = " & Me.txtDayNo
Me.FilterOn = True ' 営業日でフィルター
End If
End Sub