閉じる

サブフォームのデータにフィルタをかける


メインフォームの中にサブフォームを一覧表形式で表示してあり、そのデータ量が多い場合、

その中で特定のデータを探し出すのは大変です。



このような時は、メインフォームに検索用のテキストボックスを作成し、

その値でサブフォームのデータにフィルタをかけます。 

これは、テキストの一部一致で検索するので、データを絞り込んで表示する場合に役に立ちます。



メインフォームの検索用テキストボックスの 「更新後処理イベント」 に

以下のコードを記述してください。



(注意)

"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