サブフォームのデータにフィルタをかける
メインフォームの中にサブフォームを一覧表形式で表示してあり、そのデータ量が多い場合、
その中で特定のデータを探し出すのは大変です。
このような時は、メインフォームに検索用のテキストボックスを作成し、
その値でサブフォームのデータにフィルタをかけます。
これは、テキストの一部一致で検索するので、データを絞り込んで表示する場合に役に立ちます。
メインフォームの検索用テキストボックスの 「更新後処理イベント」 に
以下のコードを記述してください。
(注意)
"txt検索" は、検索用テキストボックスの名称です。
"F_sub住所" は、サブフォームの名称です。
Private Sub txt検索_AfterUpdate()
' サブフォームのデータにフィルターを設定する
On Error GoTo Err_txt検索_AfterUpdate
Dim stDocName As String
stDocName = "住所1 Like '*" & Me![txt検索] & "*'"
Me![F_sub住所].Form.Filter = stDocName
Me![F_sub住所].Form.FilterOn = True
Exit_txt検索_AfterUpdate:
Exit Sub
Err_txt検索_AfterUpdate:
MsgBox Err.Description
Resume Exit_txt検索_AfterUpdate
End Sub
同時に、メインフォームに、フィルタ解除用のコマンドボタンを作って置けば便利です。
--------------------------------------------------------------------------------
Private Sub cmd解除_Click()
' フィルタ解除用 2001/05/05 pPoy
Docmd.ShowAllRecords
End sub