filteren op een datum die valt tussen twee datumwaardes...

Status
Niet open voor verdere reacties.

assessor

Gebruiker
Lid geworden
7 jan 2007
Berichten
184
(Access 2003)

In een tabel/query heb ik een aantal kolommen met kandidaat gegevens en cursus gegevens, waarbij ook "start" en "eind" datums.

Nu wil ik in een rapport of formulier een lijst presenteren van cursisten die binnen een de opgegeven datum (deze datum is altijd maar 1 dag) vallen. Een lijst dus waar de opgegeven datum tussen de "start" en "eind" datums valt.

Wie kan mij in de goede richting wijzen?

vast dank, Jos
 
Als je cursus één dag duurt, dan is de startdatum toch gelijk aan de einddatum?
 
Ja, correct maar daar gaat het niet om.
Ik wil op de ingevoerde dag weten hoeveel mensen ik in de productie mis.
Dit kunnen cursisten zijn op cursussen van een dag tot wel drie maanden.

Dus als ik wil weten hoeveel man ik maandag a.s. op cursus heb zitten (ongeacht welke cursus). Ik voer 23-01-2012 in en wil dan een lijst zien van kandidaten die op deze datum op cursus zitten of het nu de eerste, de laatste of ergens tussenin dag is.

Ik hoop dat het zo iets duidelijker is.

mvg, jos
 
Nou, dat helpt niet echt want als de startdatum in je tabel gelijk is aan de einddatum, hoe bepaal je dan de reeks? In een query kun je een criterium maken op basis van twee vraagvelden bijvoorbeeld. Zo'n criterium zet je dan op het vel Startdatum:
Between [Begindatum] And [Einddatum]
 
Als ik het goed begrijp heb je bijvoorbeeld iets als volgt:

Student | Cursus | Startdatum | Einddatum
---------------------------------------------------------------------------------------
A | SQL for dummies | 01-01-2012 | 10-01-2012

Als jij nu bijvoorbeeld datum 05-01-2012 invult moet deze naar voren komen omdat hij tussen de start en einddatum valt?

Volgens mij (niet getest) zou zoiets moeten werken.
In het volgende voorbeeld heb ik de 05-01-2010 datum gebruikt, maar daar moet je jou input inzetten.

SELECT student, cursus, startdatum, einddatum FROM tabel WHERE '05-01-2012' BETWEEN startdatum AND einddatum;

Je zou dit nog kunnen uitbreiden door een exacte vergelijking uit te voeren op de begin en eind datum

SELECT student, cursus, startdatum, einddatum FROM tabel WHERE
startdatum = '05-01-2012' OR einddatum = '05-01-2012' OR '05-01-2012' BETWEEN startdatum AND einddatum;
 
Laatst bewerkt:
Michel, ik had heel knullig "[voer datum in]>=[startdate] And <=[enddate]" geprobeerd in het veld startdatum wat (denk ik) hetzelfde zou moeten geven wat jij voorstelt.
Als ik als datum 25-01-12 invoer krijg ik een lijst van 17 cursisten waarvan er twee niet aan deze criteria voldoen...

Het geeft exact hetzelfde resultaat als "[voer datum in] Between [startdate] And [enddate]"
Als ik hier als datum 25-01-12 invoer krijg ik een lijst van 15 cursisten, dezelfde 15 als hierboven minus de twee die niet aan de criteria voldoen.

de [startdate] en [enddate] van deze twee is resp. 23-01-12 en 23-01-12.......... oeps!!!

nu ik het uitschrijf zie ik eindelijk waarom, begin en einddata zijn in dit geval gelijk en nu zie ik ook wat je bedoelde :)

Michel, je hebt het weer voor elkaar, dank. Ik ga hiermee verder, als ik vast raak meld ik mij weer.

gast0195 jij ook dank voor je inbreng.

Goed weekend alle, Jos
 
Laatst bewerkt door een moderator:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan