Funções do Visual Basic

Existe uma grande variedade de funções do Visual Basic (VB) que você pode usar no SunSystems Reporting Services. Esta é apenas uma amostra dos tipos de função disponíveis:

  • Geral
  • Data
  • Decisão

Funções gerais

Estas funções gerais e operadores são comumente usados:

Função geral do VB Descrição
ABS(Expression) Retorna o valor absoluto de uma expressão.
MOD Você pode usar a expressão RowNumber(Nothing) MOD 2 para determinar a linhas pares e ímpares de um conjunto de dados.
MID, LEFT, RIGHT, LEN and TRIM Essas são funções de sequência que manipulam dados textuais.
LCASE, UCASE Essas convertem os valores de sequência para minúsculas e maiúsculas.
FORMAT(Expression, "Standard") Formata uma sequência numérica com o formato de número padrão.
CSTR, CDATE, CDBL Essas convertem expressões para uma sequência, data ou um duplo numérico.
Nota: Talvez seja necessário converter uma complexa instrução IF, da qual espera-se retornar um valor numérico, ao incorporar a instrução IF numa função CDBL.
ME.Value Esta expressão retorna o valor atual da caixa de texto e é útil em uma expressão de Visibilidade ou Formatação condicional quando a condição depende do valor da caixa de texto.

Funções de data

As funções de data mais comumente usadas são:

Funções de data Descrição
DAY(Date) Retorna um valor inteiro de 1 a 31 que representa o dia do mês.
MONTH(Date) Retorna um valor inteiro de 1 a 12 que representa o mês.
MONTHNAME(Date) Retorna o nome do mês; por exemplo, Setembro.
WEEKDAY(Date) Retorna um valor inteiro de 1 (que representa domingo) a 7 (que representa sábado).
WEEKDAYNAME(Date) Retorna o nome do dia da semana; por exemplo, terça-feira.
YEAR(Date) Retorna um valor inteiro de 1 a 9999 que representa o ano da data especificada.
DATEPART("interval", Date) Retorna um valor inteiro contendo o componente especificado de um determinado valor de dados onde o intervalo é:
  • d: Dia (do mês)
  • a: Dia (do ano)
  • h: Hora
  • n: Minuto
  • m: Mês
  • q: Trimestre
  • s: Segundo
  • w: Semana (dia da semana)
  • ww: Semana do calendário (semana do ano, 1-53)
  • yyyy: Ano
DATEADD("interval", number, Date) Retorna um valor de Data contendo um valor de data e hora para o qual foi adicionado um intervalo de tempo especificado, onde o intervalo é:
  • d: Dia; truncado para valor inteiro
  • y: Dia (do ano); truncado para valor inteiro
  • h: Hora; arredondado para o milissegundo mais próximo
  • n: Minuto; arredondado para o milissegundo mais próximo
  • m: Mês; truncado para valor inteiro
  • q: Trimestre; truncado para valor inteiro
  • s: Segundo; arredondado para o milissegundo mais próximo
  • w: Dia (da semana); truncado para valor inteiro
  • ww: Semana (do ano); truncado para valor inteiro
  • yyyy: Ano; truncado para valor inteiro
DATEDIFF("interval", Date1, Date2) Retorna um valor Longo que especifica a diferença nas unidades de intervalo de tempo entre a Data2 e Data1, onde o intervalo é:
  • d: Dia
  • y: Dia (do ano, tratado como Dia)
  • h: Hora
  • n: Minuto
  • m: Mês
  • q: Trimestre
  • s: Segundo
  • w: Semana
  • ww: Semana do calendário do ano (usa o primeiro dia da semana)
DATESERIAL(Ano, Mês, Dia) Onde
  • Ano é necessário. Expressão inteira de 1 a 9999. Entretanto, valores abaixo desse intervalo também são aceitos. Se o Ano for de 0 a 99, ele é interpretado como entre 1930 e 2029. Se o Ano for menor que 1, ele é subtraído do ano atual.
  • Mês é necessário. Expressão inteira de 1 a 12. Entretanto, valores fora desse intervalo também são aceitos. O valor do Mês está com uma diferença de 1 e aplicado a Janeiro do ano calculado. Em outras palavras, (Mês - 1) é adicionado a Janeiro. O ano é recalculado, se necessário. Os resultados a seguir ilustram isso:
    • Se o Mês for 1, o resultado é Janeiro do ano calculado.
    • Se o Mês for 0, o resultado é Dezembro do ano anterior.
    • Se o Mês for -1, o resultado é Novembro do ano anterior.
    • Se o Mês for 13, o resultado é Janeiro do ano seguinte.
  • Dia é necessário. Expressão inteira de 1 a 31. Entretanto, valores fora desse intervalo também são aceitos. O valor do Dia está com uma diferença de 1 e aplicado ao primeiro dia do mês calculado. Em outras palavras, (Dia - 1) é adicionado ao primeiro do mês. O mês e o ano são recalculados, se necessário. Os resultados a seguir ilustram isso:
    • Se o Dia for 1, o resultado é o primeiro dia do mês calculado.
    • Se o Dia for 0, o resultado é o último dia do mês anterior.
    • Se o Dia for -1, o resultado é o penúltimo dia do mês anterior.
    • Se o Dia passar do final do mês atual, o resultado é o dia apropriado do mês seguinte. Por exemplo, se o Mês for 4 e o Dia for 31, o resultado é 1º de Maio.

A expressão a seguir também retorna um de três valores baseados no valor do Marcador, mas usa a função Switch, que retorna o valor associado com a primeira expressão de uma série que avalia como TRUE:

=Switch(Fields!Marker.Value >= 7, "Green", Fields!Marker.Value >= 5, "Amber", Fields!Marker.Value < 5, "Red")

Usar expressões com contadores

O recurso Contadores de relatório permite que você use uma expressão para especificar um número inicial no início da execução do relatório e incrementar o número à medida que cada documento é processado. Especifique se o número inicial deve ser inserido no tempo de execução como um parâmetro ou recuperado a partir de um valor de campo de dados.

Você pode incrementar um contador com base na alteração de valor de um campo e especificar que ele se aplica somente onde filtros específicos são aplicados no tempo de execução.

Quando você tiver criado um contador, você pode adicioná-lo ao relatório. Selecione Exibir > Campos especiais para exibir os contadores disponíveis no Navegador de campos especiais e, em seguida, arraste e solte o contador desejado no relatório.