1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| Private Sub FiltrerFormulaire() Dim strFiltreDebut As String, _
strFiltreFin As String, _
strFiltrePeriode As String, _
strFiltreLibelle As String, _
strFiltreCategorie As String, _
strFiltreSousCategorie As String, _
strFiltre As String
With Me
strFiltreDebut = Format(Nz(.txtDateDebut.Value, DMin("DateValeur", "T_CCP_0291511637Y")), "mm/dd/yyyy")
strFiltreFin = Format(Nz(.txtDateFin.Value, Date), "mm/dd/yyyy")
strFiltrePeriode = "([DateValeur] Between #" & strFiltreDebut & "# And #" & strFiltreFin & "#)"
strFiltreLibelle = IIf(p_strFiltreLibelle <> "", "([Libelle] Like '*" & p_strFiltreLibelle & "*')", "")
strFiltreCategorie = Nz(.cboFiltreCategories.Value, "")
strFiltreCategorie = IIf(strFiltreCategorie <> "", "([Categorie]=" & Chr(34) & strFiltreCategorie & Chr(34) & ")", "")
strFiltreSousCategorie = Nz(.cboFiltreSousCategorie.Value, "")
strFiltreSousCategorie = IIf(strFiltreSousCategorie <> "", "([SousCategorie]=" & Chr(34) & strFiltreSousCategorie & Chr(34) & ")", "")
strFiltre = strFiltrePeriode
strFiltre = strFiltre & IIf(strFiltreLibelle <> "", " AND ", "") & strFiltreLibelle
strFiltre = strFiltre & IIf(p_strFiltreMontant <> "", " AND ", "") & p_strFiltreMontant
strFiltre = strFiltre & IIf(strFiltreCategorie <> "", " AND ", "") & strFiltreCategorie
strFiltre = strFiltre & IIf(strFiltreSousCategorie <> "", " AND ", "") & strFiltreSousCategorie
.Filter = strFiltre
.FilterOn = True
.cmdRazFiltresChamps.ForeColor = IIf(strFiltreLibelle <> "" Or _
p_strFiltreMontant <> "" Or _
strFiltreCategorie <> "" Or _
strFiltreSousCategorie <> "", _
RGB(255, 0, 0), _
RGB(0, 0, 0))
End With
DoCmd.GoToRecord , , acLast
On Error Resume Next
DoCmd.GoToRecord , , acPrevious, 20
On Error GoTo 0
DoCmd.GoToRecord , , acLast
End Sub |
Partager