Két dátum között megadott időtartományok számát tartalmazó Variant (hosszú) értéket ad eredményül.

Szintaxis

DateDiff ( intervallum, dátum1, dátum2 [, hételsőnapja] [, évelsőhete] )

A DateDiff függvény argumentumai a következők:

Tipp:  Az Access 2010-ben a Kifejezésszerkesztő IntelliSense technológiával rendelkezik, így láthatja a kifejezéshez szükséges argumentumokat. 

Argumentum

Leírás

intervallum

Kötelező. Karakterlánc-kifejezés, amely meghatározza a dátum1 és dátum2 közötti különbség kiszámításához használt időintervallumot.

dátum1, dátum2

Kötelező megadni. Variant (Dátum). A számításhoz használni kívánt két dátum..

hételsőnapja

Nem kötelező. A hét első napját megadó állandó. Ha nincs külön megadva, akkor a rendszer vasárnap használatát feltételezi.

évelsőhete

Nem kötelező. Az év első hetét megadó állandó. Ha nincs megadva, akkor a rendszer azt a hetet feltételezi, amelyben január 1-je szerepel.

Beállítások

Az intervallum argumentum beállításai a következők:

Beállítás

Leírás

yyyy

Év

q

Negyedév

m

Hónap

y

Év napja

d

Nap

w

Hétköznap

ww

Hét

h

Óra

n

Perc

s

Másodperc

A hételsőnapja argumentum beállításai a következők:

Állandó

Érték

Leírás

vbUseSystem

0

Az NLS API beállítás használata

vbSunday

1

Vasárnap (alapértelmezett)

vbMonday

2

Hétfő

vbTuesday

3

Kedd

vbWednesday

4

Szerda

vbThursday

5

Csütörtök

vbFriday

6

Péntek

vbSaturday

7

Szombat

Állandó

Érték

Leírás

vbUseSystem

0

Az NLS API beállítás használata

vbFirstJan1

1

Az legyen az első hét, amelybe január 1. esik (alapértelmezett).

vbFirstFourDays

2

Az első hét legyen az első olyan hét, amelynek legalább négy napja az új évben van.

vbFirstFullWeek

3

Az első hét legyen az év első teljes hete.

Megjegyzések

A DateDiff függvény segítségével megállapíthatja, hogy a két dátum között hány telik el a megadott időintervallumból. A DateDiff függvénnyel például ki lehet számolni a két dátum között eltelt napok számát vagy a mai nap és az év vége közötti hetek számát.

A dátum1 és a dátum2 közötti napok számának kiszámítása esetén az év napját („y”) vagy a napot („d”) használhatja egységként. Ha az intervallum értéke hétköznap („w”), akkor a DateDiff függvény a két dátum közötti hetek számát adja eredményül. Ha a dátum1 hétfőre esik, akkor a DateDiff függvény megszámolja a dátum2 dátumig előforduló hétfőket. Beleszámítja a dátum2 dátumot, de a dátum1 dátumot nem. Ha azonban az intervallum értéke a hét („ww”), akkor a DateDiff függvény a két dátum közötti naptári heteket adja eredményül. Megszámolja a dátum1 és a dátum2 közötti vasárnapok számát. A DateDiff beleszámítja a dátum2 dátumot, ha vasárnapra esik, de a dátum1 dátumot még akkor sem számítja bele, ha vasárnapra esik.

Ha a dátum1 időben későbbi, mint a dátum2, akkor a DateDiff függvény negatív számot ad eredményül.

A hételsőnapja argumentum azokat a számításokat befolyásolja, amelyek a „w” és a „ww” intervallumszimbólumokat használják.

Ha a dátum1 vagy a dátum2 egy dátumkonstans, akkor a megadott év a dátum állandó része lesz. Ha viszont a dátum1 vagy a dátum2 idézőjelben áll (" "), és elhagyja az évet, a programkódba az aktuális év kerül minden esetben, amikor a rendszer kiértékeli a dátum1 vagy a dátum2 kifejezés értékét. Így írhat olyan kódot is, amely különböző években is használható.

Ha december 31-ét és a következő év január 1-jét hasonlítja össze, akkor a DateDiff függvény az év beállítás („yyyy”) használata esetén 1-et ad eredményül, annak ellenére, hogy csak egy nap telt el.

Megjegyzés:  A dátum1 és a dátum2 megadásánál vegye figyelembe, hogy ha a Calendar tulajdonság Gergely-naptárra van állítva, akkor a megadott dátumnak is Gergely-naptár szerintinek kell lennie. Iszlám naptár használata esetén a megadott dátumnak az iszlám naptár szerintinek kell lennie.

Példák a DateDiff-lekérdezésre

Kifejezés

Eredmény:

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

A Dátum2 és a Dátum1 közötti különbséget adja eredményül (a Dátum1 a legrégebbi és a Legújabb Dátum2 értéket veszi figyelembe) "Évek" számként. Eredmény: A "DateofSale" mező értékei és a "2010.01.01." dátum közötti különbség az "Évek" számban.

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

A rendszerdátum és a "DateofSale" között a "Negyedévek" száma (a naptárév alapján) különbségét adja eredményül, és a "DaysSinceSale" oszlopban jeleníti meg. Visszaadja a rendszerdátum és a "DateofSale" közötti különbséget a "Hónapok" számában, és a "DaysSinceSale" oszlopban jeleníti meg.

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

A rendszerdátum és a "DateofSale" közötti különbséget "Nap" számmal adja eredményül, és a "DaysSinceSale" oszlopban jeleníti meg.

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

A rendszerdátum és a "DateofSale" közötti különbséget "Nap" számmal adja eredményül, és a "DaysSinceSale" oszlopban jeleníti meg.

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

A rendszerdátum és a "DateofSale" között a "Hétköznapok" számában megadott különbséget adja eredményül, és a "DaysSinceSale" oszlopban jeleníti meg. Ha a "DateofSale" hétfőre esik, a DateDiff megszámolja a hétfők számát a rendszerdátumig. A rendszerdátum megszámol, de a "DateofSale" értéke nem.

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

Kiszámítja a rendszerdátum és a "DateofSale" közötti különbséget a "Naptár hetek" számában, és a "NapSinceSale" oszlopban jeleníti meg. Megszámolja a "DateofSale" és a "rendszerdátum" közötti vasárnapok számát. Megszámolja a rendszerdátumokat, ha vasárnapra esik; de nem számít bele a "DateofSale" szó, még akkor sem, ha vasárnapra esik.

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

Visszaadja a rendszerdátum és a "DateTime" közötti különbséget az "Órák" számában, és megjeleníti a "DaysSinceSale" oszlopban.

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

Visszaadja a rendszerdátum és a "DateTime" közötti különbséget a "Percek" számában, és megjeleníti a "DaysSinceSale" oszlopban.

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

Visszaadja a rendszerdátum és a "DateTime" közötti különbséget a "másodpercek" számában, és a "DaysSinceSale" oszlopban jeleníti meg.

Példakifejezés

A DateDiff függvény használata kifejezésben     A DateDiff függvényt bárhol használhatja, ahol használhat kifejezéseket. Tegyük fel például, hogy van egy űrlapja, amellyel a vevők rendeléseit rögzíti. A Rendelések táblában található egy KiszállításiHatáridő nevű mező, mely azt a dátumot tartalmazza, ameddig a vevőnek meg kell kapnia a rendelését. A DateDiff függvénnyel megjelenítheti az űrlapja egy szövegmezőjében a rendelés feladásához rendelkezésre álló napok számát.

Ha a rendelések kiszállítása tíz napot vesz igénybe, akkor a szövegmező Mező vagy kifejezés tulajdonságát a következő értékre állíthatja:

=DateDiff("d", Now(), [Rendelések].[KiszállításiHatáridő])-10

Amikor ezután megnyitja az űrlapot Űrlap nézetben, a szövegmező megjeleníti, hogy hány nap áll a rendelkezésére a rendelés feladására. Ha a vevőnek 10 napnál rövidebb idő alatt kell megkapnia a rendelését, akkor a szövegmezőben negatív érték jelenik meg, a szám pedig azt jelzi, hogy azonnali szállítás esetén hány nap késéssel fog megérkezni a rendelés.

VBA-példa

A DateDiff függvény használata VBA-kódban:    

Ebben a példában a DateDiff függvény megjeleníti egy adott nap és a mai nap közötti napok számát.

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

A megfelelő dátumfüggvény kiválasztása

További segítségre van szüksége?

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Csatlakozás a Microsoft Insiderek

Hasznos volt az információ?

Mennyire elégedett a fordítás minőségével?
Mi befolyásolta a felhasználói élményét?

Köszönjük visszajelzését!

×