Ik zie deze vraag vaker staan, maar ik heb nog niet het antwoord gezien op mijn versie van dit probleem.
Ik heb een formulier waarop ik een periode invul d.m.v. de velden 'Datum_van' en 'Datum_tot'.
Deze velden gebruik in in de query van het subformulier om records te selecteren.
De Datum is in de database opgeslagen met een Korte datumnotatie en de velden op het formulier hebben die ook.
De eerste poging:
Hierop krijg ik de foutmelding: geen geldige veldnaam of expressie.
Dus:
Hierop krijg ik de foutmelding: Gegevenstypen komen niet overeen in criteriumexpressie.
Blijkbaar is voor datums nog iets extra's nodig voor de juiste vertaling, maar wat?
Verschillende mogelijkheden geprobeerd:
hekje #:
CDate:
Double:
Cdate EN Double:
Allemaal leveren ze hetzelfde op, foutmelding: Gegevenstypen komen niet overeen in criteriumexpressie.
Ik weet eigenlijk niet meer waar ik mee bezig ben. Het is gewoon op basis van Trial and Error.
Kan iemand mij de juiste syntax leveren en een verklaring?
Ik heb een formulier waarop ik een periode invul d.m.v. de velden 'Datum_van' en 'Datum_tot'.
Deze velden gebruik in in de query van het subformulier om records te selecteren.
De Datum is in de database opgeslagen met een Korte datumnotatie en de velden op het formulier hebben die ook.
De eerste poging:
Code:
WHERE (((Datum) Between [Forms]![Formulier1]![Datum_van] And [Forms]![Formulier1]![Datum_tot] ))
Dus:
Code:
WHERE (((Datum) Between ' & [Forms]![Formulier1]![Datum_van] & ' And ' & [Forms]![Formulier1]![Datum_tot] & '))
Blijkbaar is voor datums nog iets extra's nodig voor de juiste vertaling, maar wat?
Verschillende mogelijkheden geprobeerd:
hekje #:
Code:
WHERE (((Datum) Between ' & #[Forms]![Formulier1]![Datum_van]# & ' And ' & #[Forms]![Formulier1]![Datum_tot]# & '))
CDate:
Code:
WHERE (((Datum) Between CDate(' & [Forms]![Formulier1]![Datum_van] & ') And CDate(' & [Forms]![Formulier1]![Datum_tot] & ')))
Double:
Code:
WHERE (((Datum) Between ' & CDbl([Forms]![Formulier1]![Datum_van]) & ' And ' & CDbl([Forms]![Formulier1]![Datum_tot]) & '))
Cdate EN Double:
Code:
WHERE (((Datum) Between CDate(' & CDbl([Forms]![Formulier1]![Datum_van]) & ') And CDate(' & CDbl([Forms]![Formulier1]![Datum_tot]) & ')))
Ik weet eigenlijk niet meer waar ik mee bezig ben. Het is gewoon op basis van Trial and Error.
Kan iemand mij de juiste syntax leveren en een verklaring?
Laatst bewerkt door een moderator: