Devuelve un tipo de dato Variant (Date) que contiene una fecha a la que se ha agregado un intervalo de tiempo especificado.

Sintaxis

DateAdd ( intervalo, número, fecha )

La sintaxis de la función AgregFecha tiene estos argumentos:

Argumento

Descripción

intervalo

Requerido. Expresión de cadena que es el intervalo de tiempo que desea agregar.

número

Obligatorio. Expresión numérica que es el número de intervalos que desea agregar. Puede ser positivo (para obtener fechas en el futuro) o negativo (para obtener fechas en el pasado).

fecha

Requerido. Variant (Date) o literal que representa la fecha a la que se agrega el intervalo.

Configuración

El intervaloargumento tiene esta configuración:

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

Comentarios

Puede usar la función AgregFecha para sumar o restar un intervalo de tiempo especificado a una fecha. Por ejemplo, puede usar AgregFecha para calcular una fecha 30 días a partir de hoy o una hora de 45 minutos desde ahora.

Para agregar días a la fecha, puede usar Día del año ("y"), Día ("d") o Día laborable ("w").

La función AgregFecha no devolverá una fecha no válida. En el ejemplo siguiente se suma un mes al 31 de enero:

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

En este caso, AgregFecha devuelve 28-feb-95, no 31-feb-95. Si la fecha es 31 ene-96, devuelve 29-feb-96 porque 1996 es un año bisiesto.

Si la fecha calculada precede al año 100 (es decir, resta más años de los que hay en la fecha), se produce un error.

Si número no es un valor Largo, se redondea al número entero más cercano antes de evaluarse.

Nota: El formato del valor devuelto para AgregFecha viene determinado por la configuración del Panel de control , no por el formato que se pasa en el argumento de fecha .

Nota: Para la fecha, si el valor de la propiedad Calendario es gregoriano, la fecha proporcionada debe ser gregoriana. Si el calendario es Hijri, la fecha suministrada debe ser Hijri. Si los valores de mes son nombres, el nombre debe ser coherente con el valor actual de la propiedad Calendario . Para minimizar la posibilidad de que los nombres de meses entren en conflicto con el valor de la propiedad Calendario actual, escriba valores numéricos de mes (formato Fecha corta).

Ejemplos de consulta

Expression

Resultados

SELECT DateAdd("AAAA",1,[DateofSale]) AS Expr1 FROM ProductSales;

Devuelve los resultados sumando 1 año a los valores de fecha del campo "DateofSale".

SELECT DateAdd("AAAA",-1,[DateofSale]) AS Expr1 FROM ProductSales;

Devuelve los resultados restando 1 año a los valores de fecha del campo "DateofSale".

SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales;

Devuelve los resultados de la columna "NewDate" agregando 10 días a los valores de fecha del campo "DateofSale".

SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales;

Devuelve los resultados de la columna "Nueva Fecha" restando 1 semana (7 días) de los valores de fecha del campo "FechaDeVentas".

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, vea Referencia de VBA de Access.

Este ejemplo toma una fecha como entrada y usa la función AgregFecha para mostrar una fecha correspondiente 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

Vea también

Elegir la función de fecha correcta

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.