Curso de dBASE II
Relatórios


Você está em: MarMSX >> Cursos >> dBASE II

10. Relatórios

O dBASE II é capaz de emitir relatórios, através do comando REPORT. A sintaxe desse comando é:

REPORT [form <tabela>] [escopo] [for <condição>] [to print]

Quando executado pela primeira vez, o comando REPORT irá perguntar ao usuário informações sobre o layout do relatório. Em seguida, ele grava as configurações em um arquivo no formato ".frm".

Vamos utilizar a tabela gerada no capítulo anterior, com os nomes e notas dos alunos. Entretanto, desejamos acrescentar antes dois novos campos a esta tabela: um chamado "MEDIA", contendo as médias dos alunos nos quatro bimestres e outro chamado "SITUACAO", classificando a situação em "Aprovado" ou "Reprovado".

Como não conseguimos alterar a estrutura de um arquivo sem apagar os registros, iremos copiar a estrutura de fulltab para uma nova tabela, adicionar os novos campos e finalmente copiar os registros da tabela antiga para a nova.

. use fulltab
. copy structure to fulltab2
. use fulltab2
. modify structure
Campo 11  :MEDIA      N  004  001 :
Campo 12  :SITUACAO   C  009      :
(ctrl + w)
. append from fulltab

Obviamente, o campo de média estará com os valores zerados. Vamos calcular a média e substituir os valores deste campo.

. replace all media with (bim1+bim2+bim3+bim4)/4

Obs: o campo "MEDIA" é um atributo do tipo derivado, ou seja, seu valor é obtido a partir do cálculo de outros valores da tabela.

O próximo passo é calcular o campo da situação:

. replace all situacao with "Aprovado" for media>=7.0
. replace all situacao with "Reprovado" for media<7.0

Uma vez finalizada a tabela com os novos campos, podemos gerar o relatório.

. report form fulltab2
Entre opções, M=margem esq. , L=linhas/pag. , W=tamanho pag.
Cabeçalho (Y/N) ? Y
Entre com o cabeçalho da página :Relação de Notas
Relatório com espaço duplo (Y/N) ?N
Totais requeridos(Y/N) ?N

Ao teclar return para as opções de margem e linhas, prevalecerão os padrões:

No caso dos cabeçalhos, o sinal de menor "<" antes do texto do título força o alinhamento à esquerda, enquanto que o sinal de maior ">" força o alinhamento à direita. Sem nada, o alinhamento padrão é centralizado.

O próximo passo do relatório é indicar quais serão os campos utilizados, bem como um cabeçalho (título) para cada um deles. Ex:

Coluna, Tamanho, Conteúdo
001     4,matricula
Entre com o cabeçalho :Mat.
002     30,nome
Entre com o cabeçalho :Aluno
003     5,media
Entre com o cabeçalho :Media
004     9,situacao
Entre com o cabeçalho :Situacao
005

Resultado na tela:

     Página No 00001
     13/10/17

                                    Relação de Notas

     Mat.                Aluno              Media  Situacao

     8361   Pablo Goncalves                   7.7 Aprovado
     4321   Ana Maria Silva                   6.6 Reprovado
     5543   Waldir Moraes                     6.9 Reprovado
     8437   Alvaro Schwarz                    9.0 Aprovado
     7193   Beatriz Saraiva                   9.9 Aprovado
     3398   Mauro Pontes                      7.8 Aprovado
     9001   Pedro Tavares                     5.8 Reprovado
     6567   Suely Albuquerque                 7.8 Aprovado
     6201   Pedro Borges                      7.2 Aprovado
     7766   Paula Tavares                     7.6 Aprovado
.


<< Anterior dBASE II Próxima >>