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

Returnerer en Variant (langt heltal), der angiver antallet af tidsintervaller mellem to angivne datoer.

Syntaks

DateDiff ( interval, dato1, dato2 [, førsteugedag] [, førsteuge] )

Syntaksen for funktionen DateDiff har disse argumenter:

Argument

Beskrivelse

interval

Påkrævet. Strengudtryk, der er det tidsinterval, du bruger til at beregne forskellen mellem dato1 og dato2.

dato1, dato2

Påkrævet. Variant (dato). To datoer, som du vil bruge i beregningen.

førsteugedag

Valgfrit. En konstant, der angiver den første dag i ugen. Hvis andet ikke er angivet, antages dette at være søndag.

førsteuge

Valgfrit. En konstant, der angiver den første uge i året. Hvis den ikke er angivet, forudsættes den første uge at være den uge, hvor den 1. januar forekommer.

Indstillinger

Der er følgende indstillinger for intervalargument:

Indstilling

Beskrivelse

åååå

År

k

Kvartal

m

Måned

y

Dag i året

d

Dag

w

Ugedag

ww

Uge

h

Time

n

Minut

s

Sekund

Argumentet førsteugedag har følgende indstillinger:

Konstant

Værdi

Beskrivelse

vbUseSystem

0

Brug indstillingen NLS API.

vbSunday

1

Søndag (standard)

vbMonday

2

Mandag

vbTuesday

3

Tirsdag

vbWednesday

4

Onsdag

vbThursday

5

Torsdag

vbFriday

6

Fredag

vbSaturday

7

Lørdag

Konstant

Værdi

Beskrivelse

vbUseSystem

0

Brug indstillingen NLS API.

vbFirstJan1

1

Start med uge, hvor 1 januar forekommer (standard).

vbFirstFourDays

2

Start med den første uge, der har mindst fire dage i det nye år.

vbFirstFullWeek

3

Start med den første hele uge i året.

Bemærkninger

Du kan bruge funktionen DateDiff til at bestemme, hvor mange angivne tidsintervaller der findes mellem to datoer. Du kan f.eks. bruge DateDiff til at beregne antallet af dage mellem to datoer eller antallet af uger mellem dags dato og slutningen af året.

Hvis du vil beregne antallet af dage mellem dato1 og dato2, kan du bruge enten Dag i året ("y") eller Dag ("d"). Når interval er Ugedag ("w"), returnerer DateDiff antallet af uger mellem de to datoer. Hvis dato1 falder på en mandag, tæller DateDiff antallet af mandage indtil dato2. Den tæller dato2, men ikke dato1. Hvis interval er Uge ("ww"), returnerer funktionen DateDiff antallet af kalenderuger mellem de to datoer. Den tæller antallet af søndage mellem dato1 og dato2. DateDiff tæller dato2, hvis det er en søndag, men den tæller ikke dato1, heller ikke selvom den falder på en søndag.

Hvis dato1 refererer til et senere tidspunkt end dato2, returnerer funktionen DateDiff et negativt tal.

Argumentet førsteugedag påvirker beregninger, der anvender intervalsymbolerne "w" og "ww".

Hvis dato1 eller dato2 er en datokonstant, bliver det angivne år en permanent del af den pågældende dato. Men hvis dato1 eller dato2 er omsluttet af dobbelte anførselstegn (""), og du udelader året, indsættes det aktuelle år i din kode, hver gang udtrykket dato1 eller dato2 evalueres. Det gør det muligt at skrive kode, der kan bruges i forskellige år.

Når du sammenligner 31. december med 1. januar i det efterfølgende år, returnerer DateDiff 1 for År ("åååå"), selvom det kun er én dag.

Bemærk!:  Den angivne dato skal være gregoriansk for dato1 og dato2, hvis egenskabsindstillingen Kalender er Gregoriansk. Hvis kalenderen er hijri, skal den angivne dato være hijri.

Eksempler på DateDiff-forespørgsel

Udtryk

Resultater

SELECT DateDiff("åååå",#01-01-2010#,[DateofSale]) AS Udtryk1 FRA ProduktSalg;

Returnerer forskellen mellem Dato2 og Dato1 (overvej Dato1 som ældste og Dato2 som nyeste) som antallet af 'År'. Resultat: Forskellen mellem værdierne i feltet "DateofSale" og datoen "01-01-2010" som antal 'År'.

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

Returnerer forskellen mellem systemdatoen og "DateofSale" som antal 'Kvartaler' (baseret på kalenderår) og vises i kolonnen "DaysSinceSale". returnerer forskellen mellem systemdatoen og "DateofSale" som antallet af "Måneder" og vises i kolonnen "DaysSinceSale".

SELECT DateDiff("y",[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Returnerer forskellen mellem systemdatoen og "DateofSale" som antallet af "Dage" og vises i kolonnen "DaysSinceSale".

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

Returnerer forskellen mellem systemdatoen og "DateofSale" som antallet af "Dage" og vises i kolonnen "DaysSinceSale".

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

Returnerer forskellen mellem systemdatoen og "DateofSale" som antal 'Hverdage' og vises i kolonnen "DaysSinceSale". Hvis "DateofSale" falder på en mandag, tæller DateDiff antallet af mandage indtil systemdatoen. Den tæller systemdato, men ikke værdien i "DateofSale".

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

Returnerer forskellen mellem systemdatoen og "DateofSale" som antal "Kalenderuger" og vises i kolonnen "DaysSinceSale". Den tæller antallet af søndage mellem "DateofSale" og "systemdato". Det tæller systemdatoen, hvis det falder på en søndag. men det tæller ikke "DateofSale", selvom det falder på en søndag.

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

Returnerer forskellen mellem systemdatoen og "DateTime" som antallet af "Timer" og vises i kolonnen "DaysSinceSale".

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

Returnerer forskellen mellem systemdatoen og "DateTime" som antallet af "Minutter" og vises i kolonnen "DaysSinceSale".

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

Returnerer forskellen mellem systemdatoen og "DateTime" som antal 'sekunder' og vises i kolonnen "DaysSinceSale".

Eksempel på et udtryk

Brug funktionen DateDiff i et udtryk     Du kan bruge funktionen DateDiff , uanset hvor du kan bruge udtryk. Lad os antage, at du har en formular, som du bruger til at indfri kundeordrer. I tabellen Ordrer har du et felt med navnet ReceiveBefore, der indeholder den dato, hvor kunden skal modtage ordren. Du kan bruge funktionen DateDiff med et tekstfelt i formularen til at vise antallet af dage, der er tilbage, før ordren skal afsendes.

Hvis det tager 10 dage at levere en ordre, skal du angive egenskaben Kontrolelementkilde for tekstfeltet således:

=DateDiff(“d”, Nu(), [Ordrer].[ReceiveBefore])-10

Når du åbner formularen i formularvisning, viser tekstfeltet antallet af dage, der er tilbage, før ordren skal afsendes. Hvis der er mindre end 10 dage tilbage, før kunden skal modtage ordren, er tallet i tekstboksen negativt, og det angiver, hvor mange dage ordren kommer for sent, hvis den afsendes straks.

VBA-eksempel

Brug funktionen DateDiff i VBA-kode    

I dette eksempel bruges funktionen DateDiff til at vise antallet af dage mellem en given dato og dags dato.

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

Se også

Vælg den rigtige datofunktion

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.

Communities hjælper dig med at stille og besvare spørgsmål, give feedback og høre fra eksperter med omfattende viden.