filter

Status
Niet open voor verdere reacties.

Noel Prove

Gebruiker
Lid geworden
16 jul 2006
Berichten
98
Hallo,

Ik gebruik een zoekformulier met verschillende comboboxen om de gegevens te filteren.
Tot zover werkt alles prima.

Nu wil ik dit uitbreiden met een cbobox om een datumveld te filteren op maand.
Ik heb dus een datumveld [datum] en cbobox met de maanden "januari", "februari", enz.

Ik heb geprobeerd dit te doen op dezelfde manier als dat ik de txtvelden filter, maar dit lukt niet.

If Not IsNull(Me.cboMaand) Then
strWhere = strWhere & "((Month([Datum]) = """ & Me.cboMaand) & """) AND "
End If

Kan iemand mij hierbij helpen a.u.b. ?
 
Hoi, datumvelden worden geflankeerd door #, maar de maandfunctie genereert een integer , ik zou het volgende proberen:

Code:
strWhere = strWhere & "((Month([Datum]) =  month( #" & Me.cboMaand & "#) ) AND "
 
Hallo, bedankt voor het mailtje.

Ik krijg een foutmelding (zie bijlage)
 

Bijlagen

  • foutmelding.jpg
    foutmelding.jpg
    15,4 KB · Weergaven: 32
Als ik het goed begrijp staat in je dropdown cboMaand dus een lijst met maandnamen als tekst? En in het veld Datum een gewone datum? Dan kan je geen gebruik maken van de functie month, want die geeft een integer als resultaat (1, 2, 3,...) en je kan geen peren met appels vergelijken. Je kan dus de format functie daar gebruiken als Format([Datum], "MMM"), maar dan werkt het niet meer als je dit op een computer zet met een andere Regional Setting bv. en de maanden in het Engels genereert.
Daarom zou ik in je drop-down combo box 2 kolommen zetten, eerste kolom het maand nummer (1,2, … 12) en de tweede kolom de naam van de maand. Je toont de tweede kolom, maar gebruikt de eerste als bound column.
Dan kan je heel eenvoudig:
Code:
strWhere = strWhere & "(Month([Datum]) = " & Me.cboMaand & ") AND "
 
Hallo, Bedankt voor het mailtje,

Werkt prima deze keer.
Bedankt voor de support !!!

Met vriendelijke groeten,

Noël.
 
En nu maar hopen dat de datums niet geconverteerd worden naar Amerikaanse Datumnotatie, zodat je Maand = 9 krijgt bij 9 juni :).
 
De functie Month geeft altijd de correcte maand, ongeacht de formatering.
 
Daar gaat het ook niet om in deze situatie, als jij het verkeerde datumformat aanlevert dd-mm-yy of mm-dd-yy) dan ben je alsnog de sjaak. Maar dat weet dat leger programmeurs van je vast wel :).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan