Datums vergelijken Access

Status
Niet open voor verdere reacties.

Katorien

Nieuwe gebruiker
Lid geworden
25 okt 2006
Berichten
2
Hallo

Ik heb een Accessdatabase gemaakt met onder andere deze velden:

Kwartaal1
Kwartaal2
Kwartaal3
Kwartaal4
Laatste einddatum

Alle velden zijn datumvelden. In het veld Kwartaal1 kan enkel een datum staan uit kwartaal 1, dus van 1 januari tot 31 maart. De andere velden volgen uiteraard ook deze logica.

In het veld Laatste einddatum moet de meest recente datum uit de 4 kwartaalvelden komen te staan.

Het probleem is als volgt: de kwartalen horen niet bij een bepaald kalenderjaar. Als er nu bv in "Kwartaal1" datum 23/1/06 en in "Kwartaal3" 15/08/2005 staat moet het veld "Laatste einddatum" de datum 23/1/06 bevatten.

Het kan voorkomen dat een Kwartaal géén datum bevat en hier schuilt het probleem. Mijn Accesskennis is zeer beperkt en VBA ken ik niet dus ik had een if-constructie opgezet. Vrij vertaald: Als "Kwartaal4" groter is dan KW1, KW2, KW3 én "Kwartaal4" is verschillend van 0, plaats dan deze datum in het veld "Laatste einddatum". Maar blijkbaar kan ik geen datum vergelijken met een leeg veld. Ik kan niet zeggen: Als KW4 groter is dan "een leeg veld". Blijkbaar wordt een leeg veld niet als een 0 gezien.

Weet iemand hoe ik dit kan oplossen?

Alvast bedankt voor de reacties.

Met vriendelijke groet
Katrien
 
Datums vergelijken - opgelost

Beste forumbezoekers

Via een collega-forum heb ik een oplossing voor mijn probleem gevonden en aldus wil ik dit met jullie delen.

Het probleem wordt opgelost met de NZ-functie (omschrijving in Access-helpfunctie). Ik citeer: Gebruik de functie Nz om nul, een tekenreeks met lengte nul (" ") of een andere opgegeven waarde te retourneren wanneer een Variant Null is. U kunt deze functie bijvoorbeeld gebruiken om een Null-waarde te converteren naar een andere waarde en te voorkomen dat de waarde wordt doorgevoerd via een expressie.

In mijn query heb ik een kolom geplaatst met volgende expressie:

Laatste einddatum WK: IIf(nz([Vierde kwartaal])>0 And [Vierde kwartaal]>nz([Derde kwartaal]) And [Vierde kwartaal]>nz([Tweede kwartaal]) And [Vierde kwartaal]>nz([Eerste kwartaal]);[Vierde kwartaal];IIf(nz([Derde kwartaal])>0 And [Derde kwartaal]>nz([Tweede kwartaal]) And [Derde kwartaal]>nz([Eerste kwartaal]);[Derde kwartaal];IIf(nz([Tweede kwartaal])>0 And [Tweede kwartaal]>nz([Eerste kwartaal]);[Tweede kwartaal];[Eerste kwartaal])))

mvg
Katorien
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan