Функция DateAdd

Отнася се за
Access за Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Връща стойност от тип Variant (Date), съдържаща дата с добавен зададен времеви интервал.

Синтаксис

DateAdd(interval, number, date)

Функцията DateAdd има следните аргументи:

Аргумент Описание
interval Задължително. Израз във формата на низ, представляващ интервала от време, който искате да добавите.
number Задължително. Числов израз, представляващ броя интервали, които искате да добавите. Може да е положително да имате дати в бъдещето или отрицателно да имате дати в миналото.
date Задължително. Variant (Date) или литерал, представящ датата, към която се добавя интервалът.

Настройки

Аргументът interval има следните настройки:

Настройка Описание
yyyy Година
q Тримесечие
m Месец
y Ден от годината
d Ден
w Weekday
ww Седмица
h Час
n Минута
s Секунда

Забележки

Можете да използвате DateAdd функцията за събиране или изваждане на определен времеви интервал от дата. Можете например да го използвате DateAdd за изчисляване на дата, която е 30 дни след днешната дата или след 45 минути от сега.

За да добавите дни към date, можете да използвате "Ден от годината" ("y"), "Ден ("d") или "Ден от седмицата" ("w").

Функцията DateAdd няма да върне невалидна дата. Следващият пример добавя един месец към 31 януари:

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

В този случай DateAdd връща 28-фев-95, а не 31-фев-95. Ако date е 31-януари-96, връща 29-фев-96, защото 1996 е високосна година.

Ако изчислената дата предшества 100 година, което означава, че изваждате повече години, отколкото са в date, ще възникне грешка.

Ако number не е стойност "Дълга", Access я закръглява до най-близкото цяло число, преди да изчисли израза.

Забележка

Форматът на върнатата стойност се DateAdd определя от настройките на Контролен панел, а не от формата, подаден в аргументаdate.

Забележка

Защото date, ако настройката на свойството Calendar е григорианска, предоставената дата трябва да е григорианска. Ако календарът е хиджра, предоставената дата трябва да е хиджра. Ако стойностите за месеца са имена, името трябва да съответства на текущата Calendar настройка на свойството. За да намалите вероятността от конфликти, въведете числовите стойности за месеца във формат на кратка дата.

Примери за заявки

Израз Резултати
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; Добавя 1 година към датите в полето DateofSale .
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; Изважда 1 година от датите в полето DateofSale .
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; Добавя 10 дни към датите в полето DateofSale и връща резултатите в колоната NewDate .
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; Изважда 1 седмица или 7 дни от датите в полето DateofSale и връща резултатите в колоната NewDate .

Пример на VBA

Забележка

Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация за работата с VBA вж. справката за Access VBA.

Този пример взема за входни данни дата и използва DateAdd функцията за показване на съвпадащата дата зададен брой месеци в бъдещето.

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

Вж. също

Избиране на правилната функция за дата