Returnerar ett värde av datatypenVariant (Date) som innehåller ett datum med ett angivet tidsintervall.
Syntax
DateAdd(interval, number, date)
Funktionen DateAdd har följande argument:
| argument | Beskrivning |
|---|---|
interval |
Obligatoriskt. Ett stränguttryck som representerar det tidsintervall som du vill lägga till. |
number |
Obligatoriskt. Numeriskt uttryck som representerar antalet intervall som du vill lägga till. Det kan vara positivt att hämta framtida datum eller negativt att hämta passerade datum. |
date |
Obligatoriskt. Variant (datum) eller literal som representerar det datum som intervallet läggs till för. |
Inställningar
Argumentet interval har följande inställningar:
| Inställning | Beskrivning |
|---|---|
yyyy |
År |
q |
Kvartal |
m |
Månad |
y |
Dag på året |
d |
Dag |
w |
Veckodag |
ww |
Vecka |
h |
Timme |
n |
Minut |
s |
Sekund |
Kommentarer
Du kan använda DateAdd funktionen för att addera eller subtrahera ett angivet tidsintervall från ett datum. Du kan till exempel beräkna DateAdd ett datum som ligger 30 dagar framåt i tiden eller en tidpunkt som ligger 45 minuter framåt i tiden.
Om du vill lägga till datedagar i kan du använda Day of Year ("y"), Day ("d") eller Weekday ("w").
Funktionen DateAdd returnerar inte ett ogiltigt datum. I följande exempel adderas en månad till den 31 januari:
DateAdd("m", 1, "31-Jan-95")
I det här fallet DateAdd returneras 28-feb-95, inte 31-feb-95. Om date det är 31-jan-96 returneras 29-feb-96 eftersom 1996 är ett skottår.
Om det beräknade datumet skulle föregå år 100, vilket innebär att du subtraherar fler år än vad som finns i date, uppstår ett fel.
Om number det inte är ett långt värde avrundas det till närmaste heltal innan uttrycket utvärderas.
Obs
Formatet på returvärdet för DateAdd bestäms av kontrollpanelens inställningar, inte av formatet som skickas i argumentetdate.
Obs
Om dateegenskapsinställningen Calendar är gregoriansk måste datumet som anges vara gregorianskt. Om kalendern är Hijri måste det datum som anges vara Hijri. Om månadsvärdena är namn måste namnet matcha den aktuella Calendar egenskapsinställningen. Minska risken för konflikter genom att ange numeriska månadsvärden i kort datumformat.
Exempel på frågor
| Uttryck | Resultat |
|---|---|
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; |
Adderar 1 år till datumvärdena i fältet DateofSale . |
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; |
Subtraherar 1 år från datumvärdena i fältet DateofSale . |
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; |
Adderar 10 dagar till datumvärdena i fältet DateofSale och returnerar resultatet i kolumnen NewDate . |
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; |
Subtraherar 1 vecka, eller 7 dagar, från datumvärdena i fältet DateofSale och returnerar resultatet i kolumnen NewDate . |
VBA-exempel
Obs
I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Mer information om hur du arbetar med VBA finns i Access VBA-referens.
Det här exemplet tar ett datum som indata och använder DateAdd funktionen för att visa matchande datum ett angivet antal månader framåt i tiden.
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