Funkcja DateAdd

Dotyczy
Access dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Zwraca wartość typu wariant (data) zawierającą datę z dodanym określonym interwałem czasu.

Składnia

DateAdd(interval, number, date)

Funkcja DateAdd ma następujące argumenty:

Argument Opis
interval Argument wymagany. Wyrażenie ciągu będące interwałem czasu, który chcesz dodać.
number Argument wymagany. Wyrażenie liczbowe będące liczbą interwałów, które chcesz dodać. Uzyskanie dat w przyszłości lub ujemnych w celu uzyskania dat z przeszłości może być pozytywne.
date Argument wymagany. Wariant (data) lub literał reprezentujący datę dodania interwału.

Ustawienia

Argument interval ma następujące ustawienia:

Ustawienie Opis
yyyy Rok
q Kwartał
m Miesiąc
y Dzień roku
d Dzień
w Weekday
ww Tydzień
h Godzina
n Minuta
s Sekunda

Uwagi

Funkcji można używać DateAdd do dodawania lub odejmowania określonego interwału czasu od daty. Na przykład można obliczyć DateAdd datę 30 dni od dnia dzisiejszego lub godzinę 45 minut od teraz.

Aby dodać dni do datesystemu , możesz użyć funkcji Dzień roku ("y"), Dzień ("d") lub Dzień tygodnia ("w").

Funkcja DateAdd nie zwróci nieprawidłowej daty. W poniższym przykładzie do 31 stycznia dodano jeden miesiąc:

DateAdd("m", 1, "31-Jan-95")

W tym przypadku DateAdd zwraca wartość 28-lut-95, a nie 31-lut-95. Jeśli date jest to 31 sty 96, zwraca wartość 29 lutego 96, ponieważ rok 1996 jest rokiem przestępnym.

Jeśli data obliczeniowa poprzedza rok 100, co oznacza, że odejmujesz więcej lat niż wynosi date, występuje błąd.

Jeśli number nie jest to wartość typu Liczba długa, program Access zaokrągla ją do najbliższej liczby całkowitej, zanim zostanie obliczone wyrażenie.

Uwaga

Format zwracanej wartości DateAdd jest określany na podstawie ustawień Panel sterowania, a nie formatu przekazanego date w argumacie.

Uwaga

Calendar Jeśli dateustawieniem właściwości jest gregoriański, podanej datą musi być gregoriański. Jeśli kalendarz to Hidżry, podana data musi mieć wartość Hidżry. Jeśli wartościami miesiąca są nazwy, nazwa musi być zgodna z bieżącym Calendar ustawieniem właściwości. Aby zmniejszyć ryzyko konfliktów, wprowadź wartości liczbowe miesięcy w formacie Data krótka.

Przykłady zapytań

Wyrażenie Rezultat
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; Dodaje 1 rok do wartości dat w DateofSale polu.
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; Odejmuje 1 rok od wartości dat w DateofSale polu.
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; Dodaje 10 dni do wartości dat w DateofSale polu i zwraca wyniki w kolumnie NewDate .
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; Odejmuje 1 tydzień lub 7 dni od wartości dat w DateofSale polu i zwraca wyniki w kolumnie NewDate .

Przykład języka VBA

Uwaga

Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać więcej informacji na temat pracy z językiem VBA, zobacz Dokumentacja języka VBA w programie Access.

Ten przykład przyjmuje datę jako dane wejściowe i używa DateAdd funkcji do wyświetlania pasującej daty o określonej liczbie miesięcy w przyszłości.

Dim FirstDate As Date    ' Declare variables.
Dim IntervalType As String
Dim Number As Integer
Dim Msg
IntervalType = "m"    ' "m" specifies months as interval.
FirstDate = InputBox("Enter a date")
Number = InputBox("Enter number of months to add")
Msg = "New date: " & _
    DateAdd(IntervalType, Number, FirstDate)
MsgBox Msg

Zobacz również

Wybieranie odpowiedniej funkcji daty