quarta-feira, 22 de outubro de 2008

Aula 4 - Relatórios

Relatórios

Comando:

REPORT DISTINCT / UNIQUE

[ atributo(s) ]

REPORTTOP

PAGETOP

TOP

DETAIL

NONE

BOTTOM

PAGEBOTTOM

REPORTBOTTOM

FROM [ tabela(s) ]

[ WHERE clausula-where ]

[ GROUP BY clausula-grupo ]

[ ORDER BY clausula-order by ];


Como exemplo converteremos um simples Select em um Report, temos:

SELECT EMPNOME

FROM EMP

WHERE DEPNUME = 1000;

REPORT

DETAIL EMPNOME

WHERE DEPNUME = 1000;

Podemos direcionar a saida de um relatório tanto para um arquivo como para uma impressora.

Para um arquivo:

REPORT ON “RELAT.DAT” ...

Para uma impressora:

REPORT ON LP:” ...

Agora incrementando um report temos:

REPORT

REPORTTOP COL 10, “*** RELATORIO DE FUNCIONARIOS *** “,

TODAY %Q”DD/MM/YY”, SKIP,

COL 10, “=================================“, SKIP 2

DETAIL COL 10, NOME %C22, SALARIO %FS, ADMISSAO %Q”DD/MM/YY”

REPORTBOTTOM COL 10,

“=================================“, SKIP,

COL 20, “TOTAL:”, TOTAL(SALARIO)

FROM EMP

ORDER BY NOME;

Onde:

REPORTTOP - O que sera impresso no topo do relatório.

PAGETOP - Impresso em cada topo de pagina.

TOP - Impresso em cada Topo do Sort-Grupo do relatório.

DETAIL - O que sera impresso em cada linha.

NONE - Se não tiver resultado o select, não sera impresso o relatório.

BOTTOM - Impresso em cada Bottom do Sort-Grupo do relatório

PAGEBOTTOM - O que sera impresso no rodapé de cada pagina.

REPORTBOTTOM - O que sera impresso no rodape do relatório.

Formatos:

%C - caracter

%D - data

y - ano,

n - mes numérico,

a - mes alfanumérico,

d - dia,

j - dia e ano juliano

Exemplo: %D”dd/mm/yy”

%I - inteiro

%F - ponto flutuante

%FSZ onde: S - separador de 3 digitos e decimal point

Z - zeros serão suprimidos

%Q - data

%J - Hora

h - hora, m - minutos, s - segundos

%T - hora

E temos as funções: TOTAL, AVERAGE, MAXIMUM, MINIMUM.

Nenhum comentário: