O Access fornece funções incorporadas que pode utilizar em expressões para formatar, criar, analisar e calcular datas e horas. Escolha uma tabela que corresponda ao que pretende fazer.
Eu quero...
- Apresentar uma data ou hora num formato específico
- Dividir uma data ou hora em partes
- Transformar números e texto em datas e horas
- Somar ou subtrair datas
- Inserir a data de hoje ou a hora atual
Apresentar uma data ou hora num formato específico
Apresente datas no formato que pretende. A coluna Resultado assume que o campo [DataInício] contém o valor Data/Hora de 11 de janeiro de 2012 17:30:15.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| Formato* | Função de formato multiusos utilizada para criar formatos personalizados de Data/Hora. | Formatar([DataDeInício],"aaaa-mm-dd") | 2012-01-11 |
| FormatDateTime* | Aplica um dos 5 formatos de Data/Hora incorporados a um valor. | FormatDateTime([DataInício],vbLongDate) | quarta-feira, 11 de janeiro de 2012 |
| NomeDoMês* | Converte um número no nome de um mês. Devolve um erro se fornecer um número fora do intervalo de 1 a 12. | NomeDoMês(12) | Dezembro |
| WeekdayName* | Converte um número no nome de um dia da semana. Devolve um erro se fornecer um número fora do intervalo de 1 a 7. | NomeDiadaSemana(2) | Segunda-feira |
* Não disponível nas aplicações Web do Access.
Dividir uma data ou hora em partes
Por vezes, só precisa de saber uma parte de um valor de Data/Hora, como o ano ou o minuto. Estas funções devolvem valores inteiros que correspondem ao intervalo que procura. A coluna Resultado assume que [DataInício] contém o valor de Data/Hora de 11 de janeiro de 2012 17:30:15.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| Ano | Devolve a parte do ano do valor de Data/Hora. | Ano([DataInício]) | 2012 |
| Mês | Devolve a parte do mês do valor Data/Hora (1 a 12). | Mês([DataInício]) | 1 |
| Dia | Devolve a parte do dia do valor Data/Hora (1 a 31). | Dia([DataInício]) | 11 |
| Dia da semana* | Devolve o dia numérico da semana (1 a 7). Por predefinição, o domingo é considerado o primeiro dia da semana, mas pode especificar um dia diferente como o primeiro dia. | DiaSemana([DataInício]) | 4 |
| Hora* | Devolve a parte da hora correspondente ao valor de Data/Hora (0 a 23). | Hora([DataDeInício]) | 17 |
| Minuto* | Devolve a parte dos minutos do valor Data/Hora (0 a 59). | Minuto([DataDeInício]) | 30 |
| Segundo* | Devolve a parte dos segundos do valor Data/Hora (0 a 59). | Segundo([DataDeInício]) | 15 |
| PartData | Uma versão configurável das funções acima, onde pode especificar qual a parte do valor de Data/Hora que pretende. | PartData("yyyy",[DataInício]) | 2012 |
* Não disponível em aplicações do Access.
Transformar números e texto em datas e horas
O Access armazena datas como números de vírgula flutuante de precisão dupla. Por exemplo, 11 de janeiro de 2012 17:30 é armazenado como 40919.72917. A parte inteira, à esquerda da vírgula decimal, representa a data. A parte fracionária, à direita da vírgula decimal, representa a hora. Estas funções ajudam-no a criar este número de vírgula flutuante a partir de outros valores, tais como números inteiros ou texto.
| Função | Utilize | Exemplo | Resultado (como o Access os armazena) |
|---|---|---|---|
|
DataSerial Observação: Numa aplicação do Access, utilize as funções DateFromParts ou DateWithTimeFromParts . |
Cria um valor de data a partir de números inteiros fornecidos para o ano, mês e dia. | DataSerial(2012,1,11) | 40919.0 |
| Álbum* | Converte texto num valor de Data/Hora. Trata da parte de Data e Hora do número. Sugestão:Utilize a função booleana ÉData para determinar se uma cadeia de texto pode ser convertida num valor Data/Hora. Por exemplo, DataÉ("11/01/2012") devolve Verdadeiro. |
CDate("1/11/2012 17:30") | 40919.72917 |
| ValorData* | Converte texto num valor de Data/Hora, mas não converte a parte de hora. | ValorData("1/11/2012 17:30") | 40919.0 |
| valor.tempo* | Converte texto num valor de Data/Hora, mas não converte quaisquer informações de data. | ValorTempo("1/11/2012 17:30") | 0.72917 |
|
SerieHora Observação: Numa aplicação do Access, utilize as funções TimeFromParts ou DateWithTimeFromParts . |
Cria um valor de tempo a partir de números inteiros fornecidos para a hora, minuto e segundo. | TimeSerial(17,30,15) | 0.72934 |
* Não disponível em aplicações do Access.
Somar ou subtrair datas
Estas funções permitem-lhe adicionar ou subtrair intervalos a datas e calcular a diferença entre dois valores de Data/Hora.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| SomData | Adiciona um intervalo específico (como 2 meses ou 3 horas) a um valor de Data/Hora. Para subtrair, utilize um número negativo como segundo argumento. | SomData("m"; 1; "1/11/2012") | 2/11/2012 |
| DifData | Determina o número de intervalos de tempo (como dias ou minutos) entre dois valores de Data/Hora. Observação: Tenha em atenção que também pode apenas subtrair um valor de data a outro para obter o número de dias entre eles, por exemplo, #15/2/2012# - #1/2/2012# = 14. |
DifData("d","11/01/2012","15/04/2012") | 95 |
Veja como calcular o número de dias entre duas datas.
Inserir a data de hoje ou a hora atual
Utilize estas funções para determinar a data ou hora atual. A coluna Resultado assume que a data/hora do sistema atual é 11 de janeiro de 2012 17:30:15.
| Função | Utilize | Exemplo | Resultado |
|---|---|---|---|
| Agora | Devolve a data e a hora do sistema atual. | Agora() | 11/01/2012 17:30:15 |
|
Data Observação: Numa aplicação do Access, utilize a função Hoje . |
Devolve a data do sistema atual. | Data() | 1/11/2012 |
| Horário* | Devolve a hora do sistema atual. | Tempo() | 17:30:15 |
| Temporizador* | Devolve o número de segundos decorridos desde a meia-noite. | Temporizador() | 63015 |
* Não disponível em aplicações do Access.