Applies ToAccess voor Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Geeft een variant (lang) als resultaat die het aantal tijdsintervallen tussen twee opgegeven datums als resultaat geeft.

Syntaxis

DateDiff ( interval, datum1, datum2 [, eerstedagvanweek] [, eersteweekvanjaar] )

De syntaxis van de functie DateDiff bevat deze argumenten:

Argument

Beschrijving

interval

Vereist. Een tekenreeksexpressie die het tijdsinterval aangeeft dat u gebruikt om het verschil tussen datum1 en datum2 te berekenen.

datum1, datum2

Vereist. Variant (Datum). De twee datums die u in de berekening wilt gebruiken.

eerstedagvanweek

Optioneel. Een constante die de eerste dag van de week aangeeft. Als deze niet is opgegeven, wordt uitgegaan van zondag.

eersteweekvanjaar

Optioneel. Een constante die de eerste week van het jaar aangeeft. Als deze niet is opgegeven, wordt de week waarin 1 januari valt, als eerste week beschouwd.

Instellingen

Het intervalargument heeft de volgende instellingen:

Instelling

Beschrijving

jjjj

Jaar

k

Kwartaal

m

Maand

j

Dag van jaar

d

Dag

w

Weekdag

ww

Week

h

Uur

N

Minuut

s

Seconde

Het argument eerstedagvanweek heeft deze instellingen:

Constante

Waarde

Beschrijving

vbUseSystem

0

De NLS API-instelling gebruiken.

vbSunday

1

Zondag (standaard)

vbMonday

2

Maandag

vbTuesday

3

Dinsdag

vbWednesday

4

Woensdag

vbThursday

5

Donderdag

vbFriday

6

Vrijdag

vbSaturday

7

Zaterdag

Constante

Waarde

Beschrijving

vbUseSystem

0

De NLS API-instelling gebruiken.

vbFirstJan1

1

Beginnen met de week waarin 1 januari valt (standaard).

vbFirstFourDays

2

Beginnen met de eerste week die minimaal vier dagen in het nieuwe jaar heeft.

vbFirstFullWeek

3

Beginnen met de eerste volledige week van het jaar.

Opmerkingen

U kunt de functie DateDiff gebruiken om te bepalen hoeveel opgegeven tijdsintervallen er bestaan tussen twee datums. U kunt DateDiff bijvoorbeeld gebruiken om het aantal dagen te berekenen tussen twee datums, of het aantal weken tussen vandaag en het einde van het jaar.

Als u het aantal dagen tussen datum1 en datum2 wilt berekenen, gebruikt u de dag van het jaar ('y') of de dag ('d'). Als interval is ingesteld op een dag van de week ('w'), retourneert DateDiff het aantal weken tussen de twee datums. Als datum1 op een maandag valt, telt DateDiff het aantal maandagen tot datum2. datum2 wordt wel meegeteld, maar datum1 niet. Als interval echter is ingesteld op een week ('ww'), retourneert de functie DateDiff het aantal kalenderweken tussen de twee datums. De functie telt het aantal zondagen tussen datum1 en datum2. DateDiff telt datum2 mee als dit een zondag is, maar datum1 wordt niet meegeteld, ook niet als dit een zondag is.

Als datum1 verwijst naar een later tijdstip dan datum2, retourneert DateDiff een negatief getal.

Het argument eerstedagvanweek is van invloed op berekeningen waarin de intervalsymbolen 'w' en 'ww' worden gebruikt.

Als datum1 of datum2 een letterlijke datum is, wordt het opgegeven jaar een permanent onderdeel van die datum. Als datum1 of datum2 echter tussen dubbele aanhalingstekens (" ") staat, en u het jaar weglaat, wordt het huidige jaar ingevoegd in de code wanneer de expressie met datum1 of datum2 wordt geëvalueerd. Hierdoor kunt u code schrijven die in verschillende jaren kan worden gebruikt.

Als u DateDiff uitvoert voor de periode 31 december tot 1 januari van het volgende jaar, retourneert de functie voor jaar ("jjjj") altijd 1, zelfs als er maar één dag is verstreken.

Opmerking:  Als de eigenschap Calendar voor datum1 en datum2 is ingesteld op Gregoriaans, moet de opgegeven datum de Gregoriaanse kalender volgen. Als de kalender Hijri is, moet de opgegeven datum de notatie van de Hijri kalender volgen.

DateDiff-queryvoorbeelden

Expression

Resultaten

SELECT DateDiff("yyyyy",#01/01/2010#,[DateofSale]) AS Expr1 FROM ProductAles;

Retourneert het verschil tussen Datum2 en Datum1 (beschouw Datum1 als oudste en Datum2 als nieuwste) als aantal 'Jaren'. Resultaat: verschil tussen de waarden in het veld 'DateofSale' en de datum '01/01/2010' als aantal 'Years'.

SELECT DateDiff("q";[DateofSale];Date()) AS DaysSinceSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateofSale' als aantal 'Kwartalen' (op basis van het kalenderjaar) en wordt weergegeven in de kolom 'DaysSinceSale'. retourneert het verschil tussen de systeemdatum en 'DateofSale' als aantal 'Months' en wordt weergegeven in de kolom 'DaysSinceSale'.

SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSaleSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateofSale' als aantal 'Dagen' en wordt weergegeven in de kolom 'DaysSinceSale'.

SELECT DateDiff("d";[DateofSale];Date()) AS DaysSinceSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateofSale' als aantal 'Dagen' en wordt weergegeven in de kolom 'DaysSinceSale'.

SELECT DateDiff("w";[DateofSale];Date()) AS DaysSinceSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateofSale' als aantal 'Weekdagen' en wordt weergegeven in de kolom 'DaysSinceSale'. Als 'DateofSale' op een maandag valt, telt DateDiff het aantal maandagen tot de systeemdatum. De systeemdatum wordt geteld, maar niet de waarde in 'DateofSale'.

SELECT DateDiff("ww",[DateofSale],Date()) AS DaysSinceSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateofSale' als aantal 'Kalenderweken' en wordt weergegeven in de kolom 'DaysSinceSale'. Het aantal zondagen tussen 'DateofSale' en 'system date' wordt geteld. De systeemdatum wordt geteld als deze op een zondag valt; maar het telt niet 'DateofSale', zelfs niet als het op een zondag valt.

SELECT DateDiff("h";[DateTime];Date()) AS DaysSinceSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateTime' als aantal 'Hours' en wordt weergegeven in de kolom 'DaysSinceSale'.

SELECT DateDiff("n";[DateTime];Date()) AS DaysSinceSale FROM ProductSales;

Retourneert het verschil tussen de systeemdatum en 'DateTime' als aantal 'Minuten' en wordt weergegeven in de kolom 'DaysSinceSale'.

SELECT DateDiff("s";[DateTime];Date()) AS DaysSinceSale FROM ProductVerkoop;

Retourneert het verschil tussen de systeemdatum en 'DateTime' als aantal 'seconden' en wordt weergegeven in de kolom 'DaysSinceSale'.

Voorbeeld van een expressie

De functie DateDiff gebruiken in een expressie     U kunt de functie DateDiff overal gebruiken waar u expressies kunt gebruiken. Stel dat u een formulier hebt voor het invoeren van orders van klanten. De tabel Orders bevat een veld met de naam OntvangenVoor met daarin de datum waarop de order uiterlijk moet zijn bezorgd bij de klant. U kunt dan de functie DateDiff gebruiken met een tekstvak op het formulier om het aantal dagen weer te geven voordat de order moet worden verzonden.

Stel dat het gemiddeld tien dagen duurt om een order uit te leveren. U moet de eigenschap ControlSource van het tekstvak dan als volgt instellen:

=DateDiff(“d”, Now(), [Orders].[OntvangenVoor])-10

Wanneer u het formulier opent in de formulierweergave, bevat het tekstvak het aantal dagen dat nog resteert om de order te verzenden. Als er minder dan tien dagen resteren voordat de klant de order moet ontvangen, is de waarde in het tekstvak negatief en is dit het aantal dagen dat de order te laat wordt geleverd als deze nu direct wordt verzonden.

VBA-voorbeeld

De functie DateDiff gebruiken in VBA-code    

In dit voorbeeld wordt de functie DateDiff gebruikt om het aantal dagen tussen een bepaalde datum en vandaag weer te geven.

Dim TheDate As Date    ' Declare variables.Dim MsgTheDate = InputBox("Enter a date")Msg = "Days from today: " & DateDiff("d", Now, TheDate)MsgBox Msg

Zie ook

De juiste datumfunctie kiezen

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.