Retorna 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 de caracteres que é o intervalo de tempo que você deseja adicionar. |
number |
Obrigatório. Expressão numérica que é o número de intervalos que você deseja adicionar. Pode ser positivo obter datas no futuro ou negativo obter datas no passado. |
date |
Obrigatório. Variante (Data) ou literal que representa a data à qual o intervalo é adicionado. |
Configurações
O interval argumento tem estas configurações:
| Configuraçã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 |
Comentários
Você pode usar a DateAdd função para adicionar ou subtrair um intervalo de tempo especificado de uma data. Por exemplo, você pode usar DateAdd para calcular uma data de 30 dias a partir de hoje ou uma hora de 45 minutos a partir de agora.
Para adicionar dias ao date, você pode usar Dia do ano ("y"), Dia ("d") ou Dia da semana ("w").
A DateAdd função não retornará uma data inválida. O exemplo a seguir adiciona um mês a 31 de janeiro:
DateAdd("m", 1, "31-Jan-95")
Nesse caso, DateAdd retorna 28 de fevereiro de 95, não 31 de fevereiro de 95. Se date for 31 de janeiro de 96, ele retornará 29 de fevereiro de 96 porque 1996 é um ano bissexto.
Se a data calculada for anterior ao ano 100, o que significa que você subtrai mais anos do que estão em date, ocorrerá um erro.
Se number não for um valor Long, o Access arredondará para o número inteiro mais próximo antes de avaliar a expressão.
Observação
O formato do valor retornado para DateAdd é determinado pelas configurações do Painel de Controle, não pelo formato passado no date argumento.
Observação
Para date, se a configuração da Calendar propriedade for gregoriano, a data fornecida deverá ser gregoriano. Se o calendário for islâmico, a data fornecida deverá ser islâmico. Se os valores do mês forem nomes, o nome deverá corresponder à configuração de propriedade atual Calendar . Para reduzir a chance de conflitos, insira valores numéricos mensais 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 retorna os NewDate resultados na coluna. |
SELECT DateAdd("ww",-1,[DateofSale]) AS NewDate FROM ProductSales; |
Subtrai 1 semana, ou 7 dias, dos valores de data no DateofSale campo e retorna os resultados na NewDate coluna. |
Exemplo de VBA
Observação
Os exemplos a seguir demonstram o uso dessa função em um módulo do Visual Basic for Applications (VBA). Para obter mais informações sobre como trabalhar com o VBA, consulte Referência do Access VBA.
Este exemplo usa uma data como entrada e usa a DateAdd função para exibir a data correspondente 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