Devuelve una variante (fecha) que contiene una fecha con un intervalo de tiempo especificado agregado.
Sintaxis
DateAdd(interval, number, date)
La DateAdd función tiene estos argumentos:
| argumento | Descripción |
|---|---|
interval |
Obligatorio. Expresión de cadena que es el intervalo de tiempo que desea agregar. |
number |
Obligatorio. Expresión numérica, es decir, el número de intervalos que desea agregar. Puede ser positivo obtener fechas en el futuro o negativo obtener fechas en el pasado. |
date |
Obligatorio. Variante (Fecha) o literal que representa la fecha a la que se añade el intervalo. |
Configuración
El interval argumento tiene estas configuraciones:
| Configuración | Descripción |
|---|---|
yyyy |
Año |
q |
Trimestre |
m |
Mes |
y |
Día del año |
d |
Día |
w |
Weekday |
ww |
Semana |
h |
Hora |
n |
Minuto |
s |
Segundo |
Observaciones
Puede usar la DateAdd función para sumar o restar un intervalo de tiempo especificado de una fecha. Por ejemplo, puede usarlo DateAdd para calcular una fecha dentro de 30 días o una hora dentro de 45 minutos.
Para agregar días a date, puede usar Día del año ("y"), Día () o Día de"d" la semana ("w").
La DateAdd función no devolverá una fecha no válida. En el ejemplo siguiente se agrega un mes al 31 de enero:
DateAdd("m", 1, "31-Jan-95")
En este caso, DateAdd devuelve el 28 de febrero de 95, no el 31 de febrero de 95. Si date es 31-Jan-96, devuelve 29-Feb-96 porque 1996 es un año bisiesto.
Si la fecha calculada precede al año 100, lo que significa que resta más años de los que están en date, se produce un error.
Si number no es un valor Long, Access lo redondea al número entero más próximo antes de evaluar la expresión.
Nota
El formato del valor devuelto viene DateAdd determinado por la configuración del Panel de control, no por el formato pasado en el date argumento.
Nota
Para date, si la configuración de la Calendar propiedad es gregoriana, la fecha proporcionada debe ser gregoriana. Si el calendario es Hijri, la fecha proporcionada debe ser Hijri. Si los valores del mes son nombres, el nombre debe coincidir con la configuración de propiedad actual Calendar . Para reducir la posibilidad de conflictos, escriba los valores numéricos del mes en el formato de fecha corta.
Ejemplos de consulta
| Expresión | Resultados |
|---|---|
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; |
Agrega 1 año a los valores de fecha del DateofSale campo. |
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; |
Resta 1 año de los valores de fecha del DateofSale campo. |
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; |
Agrega 10 días a los valores de fecha en el DateofSale campo y devuelve los resultados en la NewDate columna. |
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; |
Resta 1 semana, o 7 días, de los valores de fecha en el DateofSale campo y devuelve los resultados en la NewDate columna. |
Ejemplo VBA:
Nota
Los ejemplos siguientes muestran el uso de esta función en un módulo de Visual Basic para Aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, consulte la referencia de VBA de Access.
En este ejemplo se toma una fecha como entrada y se usa la DateAdd función para mostrar la fecha coincidente un número especificado de meses en el futuro.
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