Microsoft Access 掲示板

フォーム上に複数の条件でフィルタをかけたい / 1

5 コメント
views
4 フォロー
1
hatena 2021/11/19 (金) 12:43:39 修正

とりあえず下記を参考にチャレンジしてみては。

複数条件の抽出フォームの設計 その1 - hatena chips

通報 ...
  • 4

    コード例

    Private Sub cmdFilter_Click()
        Dim strFilter As String
         
        If Not IsNull(Me.申込開始日検索) And Not IsDate(Me.申込開始日検索) Then
            MsgBox "日付ではありません。"
            Me.申込開始日検索.SetFocus
            Exit Sub
        End If
        If Not IsNull(Me.申込終了日検索) And Not IsDate(Me.申込終了日検索) Then
            MsgBox "日付ではありません。"
            Me.申込終了日検索.SetFocus
            Exit Sub
        End If
        If Not IsNull(Me.入金開始日検索) And Not IsDate(Me.入金開始日検索) Then
            MsgBox "日付ではありません。"
            Me.申込開始日検索.SetFocus
            Exit Sub
        End If
        
        If Not IsNull(Me.入金終了日検索) And Not IsDate(Me.入金終了日検索) Then
            MsgBox "日付ではありません。"
            Me.申込終了日検索.SetFocus
            Exit Sub
        End If
     
        If Not IsNull(Me.申込開始日検索) Then
            strFilter = strFilter & " AND 申込日 >= #" & Me.申込開始日検索 & "#"
        End If
        If Not IsNull(Me.申込終了日検索) Then
            strFilter = strFilter & " AND 申込日 <= #" & Me.申込終了日検索 & "#"
        End If
        If Not IsNull(Me.入金開始日検索) Then
            strFilter = strFilter & " AND 申込日 >= #" & Me.入金開始日検索 & "#"
        End If
        If Not IsNull(Me.入金終了日検索) Then
            strFilter = strFilter & " AND 申込日 <= #" & Me.入金込終了日検索 & "#"
        End If
         
        If Not IsNull(Me.使途検索) Then
            strFilter = strFilter & " AND 使途='" & Me.使途検索 & "'"
        End If
         
        Me.Filter = Mid(strFilter, 6)
        If strFilter = "" Then
            Me.FilterOn = False
        Else
            Me.FilterOn = True
        End If
    End Sub