Retorna uma Variante (Cadeia) que contém uma expressão formatada de acordo com as instruções contidas em uma expressão de formato.
| Advertência Existe um problema com a utilização desta função. A última segunda-feira em alguns anos civis pode ser devolvida como semana 53, quando deveria ser semana 1. Para obter mais informações e uma solução alternativa, consulte As funções Formatar ou PartData podem devolver o número de semana errado da última segunda-feira do ano. |
|---|
Sintaxe
Formatar( *expressão [, formato ] [, primeirodiadasemana ] [, primeirasemanadoano ] )
A sintaxe da função Formatar tem os seguintes argumentos:
| Argumento | Descrição |
|---|---|
| expressão | Obrigatória. Qualquer expressão válida. |
| Formato | Opcional. Uma expressão de formato com nome válido ou definida pelo utilizador. |
| 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, dependendo do tipo de dados do argumento de expressão . Consulte os artigos indicados na seguinte tabela para obter mais informações sobre expressões de formato válidas.
| Para expressões que usam esse tipo de dados... | Consulte o artigo |
|---|---|
| Qualquer tipo | Propriedade Format |
| Data/hora | Formatar um campo de data e hora |
| Numérico | Formatar um campo numérico ou monetário |
| Texto e memorando | Formatar um campo de texto |
| Sim/Não | Propriedade Format - tipo de dados sim/não |
O argumento primeirodiadasemana tem as seguintes definições:
| Constante | Valor | Descrição |
|---|---|---|
| vbUseSystem | 0 | Utilizar a definição NLS API. |
| 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 |
| vbSábado | 7 | Sábado |
O argumento da primeira semanadoano tem as seguintes definições:
| Constante | Valor | Descrição |
|---|---|---|
| vbUseSystem | 0 | Utilizar a definição NLS API. |
| vbFirstJan1 | 1 | Começar com a semana de 1 de Janeiro (predefinição). |
| vbFirstFourDays | 2 | Começar com a primeira semana que tenha, pelo menos, quatro dias no ano. |
| vbFirstFullWeek | 3 | Começar com a primeira semana completa do ano. |
Comentários
| Para Formatar | Faça o seguinte |
|---|---|
| Números | Utilize formatos numéricos com nomes predefinidos ou crie formatos numéricos definidos pelo utilizador. |
| Datas e horas | Utilize formatos de data/hora com nomes 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. |
| Cordas | Crie os seus próprios formatos de cadeia definidos pelo utilizador. |
Se tentar formatar um número sem especificar o formato, a função Formatar fornece funcionalidades semelhantes à função Cad , apesar de ter opções internacionais. No entanto, os números positivos formatados como cadeias com a opção Formato não incluem um espaço à esquerda reservado para o sinal do valor; aqueles convertidos usando Str mantêm o espaço principal.
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 Visual Basic Calendar for islâmico, a expressão fornecida deverá ser islâmico.
Se o calendário for gregoriano, o significado dos símbolos de expressão de formato permanecerá inalterado. Se o calendário for islâmico, todos os símbolos de formato de data (por exemplo, dddd, mmmm, aaaa) terão o mesmo significado, mas se aplicarão ao calendário islâmico. 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 alcance de certos símbolos muda quando o calendário é islâmico.
| Símbolo | Variação |
|---|---|
| d | 1-30 |
| dd | 1-30 |
| ss | 1-51 |
| mmm | Exibe nomes completos dos meses (os nomes dos meses islâmicos não têm abreviações). |
| nte misturada, | 1-355 |
| aaaa | 100-9666 |
Exemplos
Usar a função Formatar em uma expressão Você pode usar Formatar sempre que puder usar expressões. Por exemplo, você pode usá-la em uma consulta como parte de um alias de campo ou na propriedade Fonte do Controle de uma caixa de texto em um formulário ou 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 aos registros da semana anterior.
Format([Date],"ww")=Format(Now(),"ww")-1
Neste exemplo, a fonte de registro do relatório tem um campo chamado Data, 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 para o valor no campo Data (Format([Date],"ww")) é igual à semana anterior (Format(Now(),"ww")-1).
Use a função Formatar no código 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, 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 Formatar 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 no qual o código está sendo executado. Quando horas e datas são exibidas no ambiente de desenvolvimento, o formato de hora abreviada e o formato de data abreviada da localidade do código são usados. Quando exibido pela execução do código, o formato de hora abreviada e o formato de data abreviada 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 hora abreviada do sistema atual e a configuração de data abreviada.
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".
Usar Formato com cadeias de comprimento zero
No Microsoft Access versão 2.0 e anterior, você poderia usar a função Formatar para retornar um valor para uma cadeia de comprimento zero e outro 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")
No Microsoft Access versões 97 e posteriores, você deve testar separadamente o caso nulo e, em seguida, retornar o valor apropriado com base no resultado. Por exemplo, você pode usar a função SeImed em uma expressão com a função Formatar , como a seguir:
varX = IIf(IsNull(varStrX),"Null", Format(varStrX, "@;ZLS"))
Essa alteração se aplica somente quando você usa a função Formatar para formatar uma cadeia de caracteres, dependendo se é uma cadeia de comprimento zero ou um valor Nulo. Outras expressões de formato usadas com a função Formatar continuam funcionando como nas versões anteriores.
Se você converter um banco de dados do Microsoft Access versão 2.0 e anterior para o Microsoft Access 2002 ou posterior, deverá alterar o código para testar separadamente o caso Nulo.