meerdere filters in form

Status
Niet open voor verdere reacties.

klablabla

Gebruiker
Lid geworden
28 apr 2008
Berichten
116
Hallo,

Ik heb een Form waar data in staat. Nu wil ik kunnen filteren.
De eerste zoek criteria is tussen 2 datums.
De tweede zoek criteria is UNITA of UNITB

Deze gebruikte ik om tussen 2 data's te zoeken: Werkt goed.

Me.Filter = "([Datum] >= " & Format(Me![StartData], "\#mm\/dd\/yy\#") & _
") AND ([Datum] <= " & Format(Me![EindData], "\#mm\/dd\/yy\#") & ")"


Nu wil ik er een tweede zoek criteria bijzetten maar ik krijg het alleen werkend zoeken op 1 datum en niet tussen 2 data's

Dim strFilter As String, strOldFilter As String

strOldFilter = Me.Filter

If Me!CmbUnit > "" Then _
strFilter = strFilter & _
" AND ([Unit] Like '" & _
Me!CmbUnit & "*')"

If Me!EindData> "" Then _
strFilter = strFilter & _
" AND ([Datum]<=" & _
Format(CDate(Me!EindData), _
"\#m/d/yyyy\#") & ")"

If strFilter > "" Then strFilter = Mid(strFilter, 6)
If strFilter <> strOldFilter Then
Me.Filter = strFilter
Me.FilterOn = (strFilter > "")
End If

Kan iemand me helpen om deze 2 codes samen te voegen?
 
Dim strFilter As String, strOldFilter As String

strOldFilter = Me.Filter
If Me!CmbUnit > "" Then _
strFilter = strFilter & _
" AND ([Unit] Like '" & _
Me!Combo20 & "*')"
If Me!EindData> "" Then _
strFilter = strFilter & _
" AND ([Datum] >= " & Format(Me![StartData], "\#mm\/dd\/yy\#") & _
") AND ([Datum] <= " & Format(Me![EindData], "\#mm\/dd\/yy\#") & ")"
If strFilter > "" Then strFilter = Mid(strFilter, 6)
If strFilter <> strOldFilter Then
Me.Filter = strFilter
Me.FilterOn = (strFilter > "")
End If

Hij Werkt bijna nu.

In CmbUnit heb ik staan:
ALLE UNITS
UNITA
UNITB

UNITA en UNITB werken samen met de datums.

Maar ALLE UNITS werkt nu niet...
 
En wat moet het filter dan zijn als je Alle units kiest? Niet filteren op unit?
 
Als hij inderdaad op alle units staat moet hij van zowel unitA als van unitB alles weergeven.
 
Dat snap ik, maar sla je in het veld [Unit] de waarden "UnitA", "UnitB" en "Alle units" op, of alleen "UnitA" en "UnitB"?
 
Dan moet je dus een check maken die het Unit filter overslaat als je voor Alle Units kiest. Zelf zou ik die optie overigens niet eens gebruiken; als je de keuzelijst leeg maakt heb je ook geen selectie. En wordt die filterregel niet gemaakt. Maar die keuze maak je uiteraard zelf :)
In code:

Code:
If Me.cmbUnit > "" And Not Me.cmbUnit = "ALLE UNITS" Then
    strFilter = strFilter & " AND ([Unit] = '" & Me.Combo20 & "')"
End If
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan