query opbouw met formulier

Status
Niet open voor verdere reacties.

bassie3

Gebruiker
Lid geworden
16 nov 2013
Berichten
49
goede dag
ik had even een korte vraag.
ik bouw nu mijn query op aan de hand van een formulier waartussen ik van te voren 2 data's kies:

>[Formulieren]![SubFrmPlanningLijst]![Datebegin] And <[Formulieren]![SubFrmPlanningLijst]![Dateeind]

nu wil ik de laatste datum eigenlijk 3 dagen verder laten kijken maar een simpele +3 werkt niet.
wat doe ik verkeerd?
bij voorbaat dank voor jullie hulp
 
>[Formulieren]![SubFrmPlanningLijst]![Datebegin] And <([Formulieren]![SubFrmPlanningLijst]![Dateeind]+3) zou toch moeten werken.
 
Hoi Octafish,
dank je voor de snelle reactie,
ik heb het nogmaals geprobeerd maar access geeft terug: " deze expressie is niet correct getypt of te complex voor evalutie. een numerieke expressie kan bijvoorbeeld te veel gecompliceerde elementen bevatten.
probeer de expressie te vereenvoudigen door verschillende delen van de expresssie toe te wijzen aan variabelen."
wat doe ik fout? of zijn er andere opties?
groeten,
 
Zonder de db te zien, wordt het lastig. Normaal gesproken, als alles goed is neergezet, zou dit moeten werken. Als het dat niet doet, heb je dus iets gedaan wat niet (helemaal) juist is, maar wij kunnen dan uiteraard niet ruiken wát precies :). Zelf gebruik ik de door jou gebruikte methode nooit, omdat ik hem niet betrouwbaar vind. Ik geef, als ik vanuit een formulier een filter op een query of ander formulier zet, de filtering altijd op basis van getallen mee. Dan weet ik zeker dat de datums goed gefilterd worden.
Dat ziet er dan ongeveer zo uit:
Code:
    If IsDate(Me.Datebegin.Value) Then
        sDatumFilter = "[Datumveld] >=" & "CDate(" & CDbl(Me.Datebegin.Value) & "))"
    End If
    If Not Me.einddatum.Value = "" And IsDate(Me.einddatum.Value) Then
        If Not sDatumFilter = vbNullString Then
            sDatumFilter = sDatumFilter & " AND (Datumveld] <=" & "CDate(" & CDbl(Me.einddatum.Value) & "))"
        Else
            sDatumFilter = "([Datumveld] <=" & "CDate(" & CDbl(Me.einddatum.Value) & "))"
        End If
    End If
Ik heb voor de datum maar even de veldnaam Datumveld gebruikt; je geeft alleen de objectnamen van de twee filtervelden. Overigens is dit geen code die je in een query kunt gebruiken; je krijgt hier een string mee die je als argument mee kan geven bij de code waarmee je een formulier opent, en dat formulier wilt filteren. Het filter komt dan bij de eigenschap Me.Filter van dat formulier te staan.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan