Função Format

Aplica-se a
Access para Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Retorna uma Variante (Cadeia) que contém uma expressão formatada de acordo com as instruções contidas em uma expressão de formato.

Aviso Existe um problema com a utilização desta função. A última segunda-feira em alguns anos de calendário pode ser devolvida como semana 53 quando deve ser a semana 1. Para obter mais informações e uma solução alternativa, consulte As funções Format ou DatePart podem devolver o número da semana errada da última segunda-feira do ano.

Ver alguns exemplos

Sintaxe

Format( *expression [, format ] [, firstdayofweek ] [, firstweekofyear ] )

A sintaxe da função Formatar tem estes argumentos:

Argumento Descrição
expressão Obrigatória. Qualquer expressão válida.
formato Opcional. Uma expressão de formato com nome ou definida pelo utilizador válida.
primeirodiadasemana Opcional. Uma constante que especifica o primeiro dia da semana.
primeirasemanadoano Opcional. Uma constante que especifica a primeira semana do ano.

    

Configurações

O argumento de formato pode utilizar uma variedade de definições, consoante o tipo de dados do argumento de expressão . Consulte os artigos listados na tabela seguinte para obter mais informações sobre expressões de formato válidas.

Para expressões que utilizam este tipo de dados... Veja o artigo
Qualquer tipo Propriedade Format
Data/hora Formatar um campo de data e hora
Numérico Formatar um campo de número ou moeda
Texto e memorando Formatar um campo de texto
Sim/Não Propriedade Format - tipo de dados sim/não

    

O argumento firstdayofweek tem as seguintes definições:

Constante Valor Descrição
vbUseSystem 0 Utilize a definição da API NLS.
VbSunday 1 Domingo (predefinição)
vbMonday 2 Segunda-feira
vbTuesday 3 Terça-feira
vbWednesday 4 Quarta-feira
vbThursday 5 Quinta-feira
vbFriday 6 Sexta-feira
vbSaturday 7 Sábado

    

O argumento firstweekofyear tem as seguintes definições:

Constante Valor Descrição
vbUseSystem 0 Utilize a definição da API NLS.
vbFirstJan1 1 Comece com a semana em que ocorre 1 de janeiro (predefinição).
vbFirstFourDays 2 Comece com a primeira semana que tem, pelo menos, quatro dias por ano.
vbFirstFullWeek 3 Comece com a primeira semana completa do ano.

    

Comentários

Para Formatar Efetuar Este Procedimento
Números Utilize formatos numéricos com nome predefinidos ou crie formatos numéricos definidos pelo utilizador.
Datas e horas Utilize formatos de data/hora nomeados predefinidos ou crie formatos de data/hora definidos pelo utilizador.
Números de série de data e hora Utilize formatos de data e hora ou formatos numéricos.
Cadeias Crie os seus próprios formatos de cadeia definidos pelo utilizador.

    

Se tentar formatar um número sem especificar o formato, o Formato fornece funcionalidades semelhantes à função Str , embora tenha noção internacional. No entanto, os números positivos formatados como cadeias de carateres com o Formato não incluem um espaço à esquerda reservado para o sinal do valor; os convertidos com Str mantêm o espaço à esquerda.

Se estiver a formatar uma cadeia numérica não localizada, deve utilizar um formato numérico definido pelo utilizador para garantir que obtém o aspeto pretendido.

Observação

Se a definição da propriedade Calendar for Gregoriano e o formato especificar a formatação de data, a expressão fornecida tem de ser Gregoriana. Se a configuração da propriedade Calendar Visual Basic for Hijri, a expressão fornecida deverá ser Hijri.

Se o calendário for gregoriano, o significado dos símbolos de expressão de formato será inalterado. Se o calendário for Hijri, todos os símbolos de formato de data (por exemplo, dddd, mmmm, yyyy) terão o mesmo significado, mas se aplicam ao calendário Hijri. Os símbolos de formato permanecem em inglês; símbolos que resultam em exibição de texto (por exemplo, AM e PM) exibem a cadeia de caracteres (inglês ou árabe) associada a esse símbolo. O intervalo de determinados símbolos muda quando o calendário é Hijri.

Símbolo Gama
d 1-30
dd 1-30
ss 1-51
mmm Exibe nomes de mês completos (nomes de mês hijri não têm abreviações).
nte misturada, 1-355
aaaa 100-9666

Exemplos

Usar a função Format em uma expressão Você pode usar o Formato onde puder usar expressões. Por exemplo, você pode usá-lo em uma consulta como parte de um alias de campo ou na propriedade Fonte de Controle de uma caixa de texto em um formulário ou um relatório. Os exemplos a seguir mostram uma expressão que você pode usar na propriedade Filter de um relatório para limitar a saída a registros da semana anterior.

Format([Date],"ww")=Format(Now(),"ww")-1

Neste exemplo, a fonte de registro do relatório tem um campo chamado Date, que contém a data em que cada registro específico foi modificado e que é usado no relatório. Quando você executa o relatório, seus resultados são filtrados para mostrar apenas os registros em que a semana do valor no campo Date (Format([Date],"ww")) é igual à semana anterior (Format(Now(),"ww")-1).

Usar a função Format no código VBA 

Observação

Exemplos a seguir demonstram o uso dessa função em um módulo VBA (Visual Basic for Applications). Para obter mais informações sobre como trabalhar com o VBA, selecione Referência do Desenvolvedor na lista suspensa ao lado de Pesquisar e insira um ou mais termos na caixa de pesquisa.

Este exemplo mostra vários usos da função Format para formatar valores usando formatos nomeados e formatos definidos pelo usuário. Para o separador de data (/), separador de hora (:) e literal AM/PM, a saída formatada real exibida pelo sistema depende das configurações de localidade do computador em que o código está em execução. Quando os horários e datas são exibidos no ambiente de desenvolvimento, o formato de tempo curto e o formato de data curta da localidade de código são usados. Quando exibido executando o código, o formato de tempo curto e o formato de data curta da localidade do sistema são usados, o que pode ser diferente da localidade do código. Para este exemplo, a localidade em inglês dos EUA é assumida.

MyTime e MyDate são exibidos no ambiente de desenvolvimento usando a configuração de tempo curto do sistema atual e a configuração de data curta.

Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
' Returns current system time in the system-defined long time format.
MyStr = Format(Time, "Long Time")
' Returns current system date in the system-defined long date format.
MyStr = Format(Date, "Long Date")
MyStr = Format(MyTime, "h:m:s")    ' Returns "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM")    ' Returns "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy")    ' Returns "Wednesday,
    ' Jan 27 1993".
' If format is not supplied, a string is returned.
MyStr = Format(23)    ' Returns "23".
' User-defined formats.
MyStr = Format(5459.4, "##,##0.00")    ' Returns "5,459.40".
MyStr = Format(334.9, "###0.00")    ' Returns "334.90".
MyStr = Format(5, "0.00%")    ' Returns "500.00%".
MyStr = Format("HELLO", "<")    ' Returns "hello".
MyStr = Format("This is it", ">")    ' Returns "THIS IS IT".

      

Usando Formato com cadeias de caracteres de comprimento zero

No Microsoft Access versão 2.0 e anterior, você pode usar a função Format para retornar um valor para uma cadeia de caracteres de comprimento zero e outra para um valor. Por exemplo, você pode usar uma expressão de formato como a seguinte com a função Format para retornar o valor de cadeia de caracteres apropriado do código:

Dim varX As Variant
Dim varStrX As Variant
' Assign some value to varStrX and pass to Format function.
varX = Format(varStrX, "@;ZLS;Null")

Nas versões do Microsoft Access 97 e posteriores, você deve testar separadamente para o caso Null e retornar o valor apropriado com base no resultado. Por exemplo, você pode usar a função IIf em uma expressão com a função Format , como o seguinte:

varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))

Essa alteração se aplica somente quando você usa a função Format para formatar uma cadeia de caracteres dependente de se é uma cadeia de caracteres de comprimento zero ou um valor Nulo. Outras expressões de formato usadas com a função Format continuam funcionando como nas versões anteriores.

Se você converter um banco de dados do Microsoft Access versão 2.0 e anterior ao Microsoft Access 2002 ou posterior, deverá alterar o código para testar separadamente para o caso Null.

As funções de cadeia de caracteres e como usá-las