Microsoft Access 掲示板

複数のサブフォームを同時にフィルタ / 1

2 コメント
views
4 フォロー
1

それぞれのサブフォームのレコードソースのクエリに抽出条件を設定する方法と、
VBAで抽出条件を生成してサブフォームのFilterプロパティに設定する方法が考えられます。

VBAタグが設定してあるのである程度VBAのスキルをお持ちだと思いますので、VBA利用の方法を提案しておきます。

各コントロールの名前は適当にこちらで決めてますので、実際のものに変更してご利用ください。

Private Sub cmdFilter_Click()
    Dim strFilter As String
    
    If Me.txtFromDate.Value <> "" Then
        strFilter = " And 日付>=#" & Me.txtFromDate.Value & "#"
    End If
    If Me.txtToDate.Value <> "" Then
        strFilter = strFilter & " And 日付<=#" & Me.txtToDate.Value & "#"
    End If
    If Me.txtPartsNim.Value <> "" Then
        strFilter = strFilter & " And 部品番号='" & Me.txtToDate.Value & "'"
    End If

    strFilter = Mid(strFilter, 6) '先頭の不要な" And "を削除
    
    Me.subForm1.Filter = strFilter
    Me.subForm1.FilterOn = strFilter <> ""
    Me.subForm2.Filter = strFilter
    Me.subForm2.FilterOn = strFilter <> ""
End Sub
通報 ...