Devolve uma Variante (Data) que contém uma data com um intervalo de tempo especificado adicionado.
Sintaxe
DateAdd(interval, number, date)
A DateAdd função tem estes argumentos:
| Argumento | Descrição |
|---|---|
interval |
Obrigatório. Expressão de cadeia que é o intervalo de tempo que pretende adicionar. |
number |
Obrigatório. Expressão numérica que corresponde ao número de intervalos que pretende adicionar. Pode ser positivo obter datas no futuro ou negativas para obter datas no passado. |
date |
Obrigatório. Variante (Data) ou literal que representa a data à qual o intervalo é adicionado. |
Definições
O interval argumento tem estas definições:
| Definição | Descrição |
|---|---|
yyyy |
Ano |
q |
Trimestre |
m |
Mês |
y |
Dia do ano |
d |
Dia |
w |
Dia da semana |
ww |
Semana |
h |
Hora |
n |
Minuto |
s |
Segundo |
Observações
Pode utilizar a DateAdd função para adicionar ou subtrair um intervalo de tempo especificado de uma data. Por exemplo, pode utilizar DateAdd para calcular uma data de 30 dias a partir de hoje ou uma hora a partir de agora 45 minutos.
Para adicionar dias ao date, pode utilizar o Dia do Ano ("y"), Dia ("d") ou Dia da Semana ("w").
A DateAdd função não devolve uma data inválida. O exemplo seguinte adiciona um mês a 31 de janeiro:
DateAdd("m", 1, "31-Jan-95")
Neste caso, DateAdd devolve 28-fev-95, não 31-fev-95. Se date for 31-Jan-96, devolve 29-Fev-96 porque 1996 é um ano bissexto.
Se a data calculada anteceder o ano 100, o que significa que subtrai mais anos do que em date, ocorre um erro.
Se number não for um valor Longo, o Access arredonda-o para o número inteiro mais próximo antes de avaliar a expressão.
Nota
O formato do valor devolvido para DateAdd é determinado por Painel de Controlo definições, não pelo formato transmitido no date argumento.
Nota
Para date, se a definição da Calendar propriedade for Gregoriana, a data fornecida tem de ser Gregoriana. Se o calendário for Hijri, a data fornecida tem de ser Hijri. Se os valores do mês forem nomes, o nome tem de corresponder à definição da propriedade atual Calendar . Para reduzir a probabilidade de conflitos, introduza valores de mês numéricos no formato Data Abreviada.
Exemplos de consulta
| Expressão | Resultados |
|---|---|
SELECT DateAdd("YYYY",1,[DateofSale]) AS Expr1 FROM ProductSales; |
Adiciona 1 ano aos valores de data no DateofSale campo. |
SELECT DateAdd("YYYY",-1,[DateofSale]) AS Expr1 FROM ProductSales; |
Subtrai 1 ano dos valores de data no DateofSale campo. |
SELECT DateAdd("d",10,[DateofSale]) AS NewDate FROM ProductSales; |
Adiciona 10 dias aos valores de data no DateofSale campo e devolve os resultados na NewDate coluna. |
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; |
Subtrai 1 semana ou 7 dias aos valores de data no DateofSale campo e devolve os resultados na NewDate coluna. |
Exemplo de VBA
Nota
Os exemplos seguintes demonstram a utilização desta função no módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, veja Access VBA reference (Referência do VBA do Access).
Este exemplo utiliza uma data como entrada e utiliza a DateAdd função para apresentar a data correspondente a um número especificado de meses no 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