VBA Datum

Status
Niet open voor verdere reacties.

sophierve

Gebruiker
Lid geworden
11 sep 2009
Berichten
42
Hallo,

Ik zou op mijn formulier graag een datum-filter in willen voegen. Nu heb ik dat telkens op de volgende manier gedaan, wat overigens uitstekend werkt. Alleen nu voor een datum-field werkt het niet, en volgens mij komt het omdat het een datum-veld is en ik ergens # moet invoegen...weet alleen niet waar. Kan iemand me helpen?

Private Sub Combo131_Click()
Me.filter = "[Deadline]= '" & Me![Combo131] & "'"
DoCmd.RunCommand acCmdApplyFilterSort

End Sub

Bedankt!

Sophie
 
Vervang in de regel met Me.Filter de enkele aanhalingstekens eens door een # en probeer het dan nog eens. De coderegel wordt dan:

Me.filter = "[Deadline]= "#" & Me![Combo131] & "#"

Rebmog
 
Ik zie dat er een aanhalingsteken teveel is blijven staan. Probeer het eens met de volgende regel:

Me.filter = "[Deadline]= #" & Me![Combo131] & "#"

Rebmog
 
Toch nog een vraagje: De filter werkt nu uitstekend, op een kleine zaak na: indien de datum met een getal begint (dus < 10), dan werkt de filter niet. Enig idee hoe ik dit kan verhelpen?

In de tabel is de datum gewoon een datum/tijd veld, met een medium format.

Merci!
 
Is het omdat het eerste getal <10 is, of het tweede >12?
Want in dat geval ligt het probleem in een amerikaanse datumverwerking.
Je kunt dat oplossen met onderstaande techniek:

Code:
Dim stDocName As String, sFilter As String
Dim sDatum As Date, iDatum As Double
    stDocName = "Rapport of formuliernaam"
    sDatum = CDate(Me.Combo131)
    iDatum = CDbl(sDatum)
    sFilter = " [Deadline]= cDate(" & iDatum & ")"
    DoCmd.OpenReport stDocName, acViewPreview, , sFilter

Of iets van die strekking...
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan