Função ToText Crystal Reports

ToText Crystal Report
ToText Crystal Report
  • There is an error in this formula. Do you want to save it anyway?
  • Existe um erro na fórmula. Você quer salvá-lo de qualquer maneira?
  • A string is required here.
  • Uma string é necessária aqui.

A função ToText pode ser usado para converter número, data, boolean, ou valores de tempo para uma string (texto). Ele fornece controles que permitem controlar a forma como a cadeia resultante parece.

É usado principalmente para de concatenação (por exemplo, você pode criar um título para o relatório que mostra os registros coberto, ou um nome de grupo que mostra o intervalo de datas incluídas).

  • Adicionar parâmetros para um título de relatório
  • Controlar a forma como os nomes de grupos aparecer (você pode forçar as suas datas para aparecer no formato de 3/7/10 ou 20100901.

No meu caso por exemplo, estava tentando criar um título concatenando algumas informações:

'Grupo: '+{CONSULTA_PRINCIPAL.GRUPO}+'  -  '+ {CONSULTA_PRINCIPAL.DESCRIÇÃO DO GRUPO} + {CONSULTA_PRINCIPAL.ANO}

E o erro “A string is required here.” ou “Uma string é necessária aqui.” me retornava.

Esse erro estava atrelado a informação de ANO, como esta concatenando, precisava traduzir tudo com string, e para isso é necessário acrescentar ToText antes de {CONSULTA_PRINCIPAL.ANO}, e o resultado fica assim:

'Grupo: '+{CONSULTA_PRINCIPAL.GRUPO}+'  -  '+ {CONSULTA_PRINCIPAL.DESCRIÇÃO DO GRUPO} + ToText({CONSULTA_PRINCIPAL.ANO},0,"")

Vamos ver mais sobre a função ToText

ToText para valores booleanos

Sintaxe
ToText (x)

Exemplos

Exemplo Resultar
ToText ({Concluído}) Verdadeiro quando o campo Concluída é verdade.False quando o campo Concluída é falsa.

ToText para números (e moedas)

Sintaxe Variável Opcional
ToText (x, y, z, w) x O número de converter em texto
y O número de casas decimais a incluir no resultado (opcional). O valor será arredondado para que a casa decimal.
z O personagem a ser usado como separador de milhares. Se você não especificar um, ele vai usar o seu padrão de aplicação. (Opcional)
w O personagem a ser usado como separador decimal. Se você não especificar um, ele vai usar o seu padrão de aplicação.(Opcional)

Exemplos

Exemplo Resultar
ToText (12345.678) “12345.678”
ToText (12345.678,2) “12.345,67”
ToText (12345.678,0) “12345”
ToText (12345.678, 0, ‘,’, ‘.’) “12,345.67”
ToText (12345.678,0, “”) “12345”
“O tempo registrado para a Mudança #” & ToText (12345.567,0, “”) “O tempo registrado para a Mudança # 12345”

ToText para datas

Sintaxe Variável Opcional
ToText (x, y) x O valor de data a ser convertido.
y Uma cadeia de texto que define como o valor a ser formatado.(Opcional)

Exemplos (onde datefield = 15 janeiro de 2011)

Exemplo Resultar
ToText (datefield {} “, yyyymm”) “201101”
ToText (datefield {}, “dd-MMM-yyyy”) “15-Jan-2011”
ToText (datefield {}, “DD MMM yyyy”) “15 de janeiro de 2011”
ToText (datefield {}, “MM / dd / aa”) “01/15/11”
ToText (datefield {}, “dddd, MMM d, yyyy”) “Sábado, 1 de janeiro, 2011”

Isto parece um pouco confuso no início. Às vezes pode retornar o dia da semana e às vezes eles retornam um número. Isto é porque o formato é determinado pelo padrão específico:

Padrão Resultar
d Dia numérico do mês sem zero à esquerda (1, 7, 31)
dd Dia numérico do mês, com zero à esquerda (01, 07, 31)
ddd Três abreviatura dia do dia da semana (Mon, Sat)
dddd O nome completo do dia da semana (segunda-feira, Sábado)
M Mês numérico sem o zero à esquerda (1, 7, 12)
MM Mês numérico com zero à esquerda (01, 07, 12)
MMM Três abreviatura carta do mês (janeiro, fevereiro, março)
MMMM Nome completo do mês (janeiro, fevereiro, março)
yy Dois últimos dígitos do ano (11, 14, 22)
aaaa Total de quatro dígitos do ano (2011, 2014, 2022)

 

ToText para tempos

Sintaxe Variável Opcional
ToText (x, y, z, w) x O valor de tempo a ser convertido.
y Uma cadeia de texto que define como o valor a ser formatado.(Opcional)
z Uma cadeia de texto que define a string AM. (Opcional)
w Uma cadeia de texto que define a string PM. (Opcional)

Exemplos (onde TimeField = 14:43:23)

Exemplo Resultar
ToText (TimeField {}, “HH: mm: ss”) “14:43:23”
ToText (TimeField {}, “hh: mm: ss tt”) “02:43:23”
ToText (TimeField {}, “h * mm * ss tt”, ‘sou’, ‘pm’) “2 * 43 * 23 horas”

Aqui estão os padrões usados ​​por ToText ao converter tempo:

Padrão Resultar
h Horas sem zeros à esquerda em formato de 12 horas (1, 7, 12)
hh Horas, com zeros à esquerda em formato de 12 horas (01, 07, 12)
H Horas sem zeros à esquerda em formato de 24 horas (1, 12, 17, 24)
HH Horas, com zeros à esquerda em formato de 24 horas (01, 12, 17, 24)
m Minutos sem zeros à esquerda (5, 15, 55)
mm Minutos, com zeros à esquerda (05, 15, 55)
s Segundos sem zeros à esquerda (5, 15, 55)
ss Segundos, com zeros à esquerda (05, 15, 55)
t, tt Inclui um único ou multi-caráter AM / PM string.

Se você quiser incluir qualquer um dos caracteres padrão em sua cadeia resultante, você pode. Você só precisa colocá-los entre aspas.

Com informações de http://crystaltricks.com/wordpress/?p=149