Conteúdo

Visual Basic 6 - Crystal Reports - Gerando seus relatórios.


Introdução:Gerando os seus relatórios com o Crystal Reports.

O Crystal Reports é o gerador de relatórios do Visual Basic e com ele desenhamos
os relatórios de nossos aplicativos. Embora possua um objeto chamado Printer para
imprimir dados, sua  utilização  além de  complexa é  trabalhosa  pois tudo  deve 
ser codificado.
Ao Contrário, o Crystal Reports  utiliza  uma interface  gráfica a
partir de onde podemos construir qualquer relatório que necessitamos.

Além disto o Crystal Reports pode ser usado em diversos ambientes, tais como:
Visual Basic, Delphi, Clipper, MSAccess, Paradox , SQLServer, etc.

Podemos iniciar o Crystal Reports através da opção Report Designer...  do menu
Add-Ins ou pelo ícone correspondente na pasta de trabalho do Visual Basic
no Windows.
Junto com o Visual Basic 5.0 é distribuída a versão 4.6 do Crystal Reports.
Conteúdo

Criando um novo relatório.

Vamos gerar um relatório baseado na tabela agenda que se encontra no banco de
dados Controle . Nosso relatório deverá obedecer os seguintes parâmetros:

1- Campos a serem impressos : sobrenome , endereço e a data de nascimento. 2- O relatório deverá ser ordenado pelo campo sobrenome. 3- Deveremos permitir inicialmente a visualização do relatório para posterior    impressão. 4- O nome do relatório será agenda.rpt.

Selecionando a opção New do menu File teremos a tela da figura 1.0 abaixo:
Crystal Report Designer
figura 1.0
Após selecionar o botão Standard , devemos selecionar a base de dados na opção Data File , para o nosso caso Controle.mdb. A seguir temos um lista de todas as tabelas e consultas gravadas na base de dados - exclua todos os elementos da lista , exceto a tabela Agenda e clique no botão Next para prosseguir.
Como nosso relatório esta baseado somente na tabela Agenda, o próximo passo Links , pode ser dispensado, portanto clique novamente no botão Next.
Vamos selecionar os campos da tabela que serão impressos no relatório - selecione cada campo e clique no botão Add. Ao final devemos ter algo parecido com a figura 2.0 abaixo:
Crystal Report Designer
figura 2.0
A esta altura o relatório esta praticamente terminado , para visualizá-lo clique no botão Preview Report. É mostrada a tela da figura 3.0 onde após clicarmos na aba Design podemos notar cinco seções:
Crystal Report Designer
figura 3.0
1-Title - para o título da aplicação. 2-Page Header - contém os elementos do cabeçalho da página. 3-Details - contém os campos de dados a serem impressos. 4-Page Footer - refere-se ao rodapé da página. 5-Summary - impressão de resumos.

Conteúdo

Agrupando e ordenando registros.

Para agrupar registros , ordenando-os por uma determinada coluna selecione a opção
Group Section do menu Insert. Agrupando pelo campo sobrenome
em ordem ascendente veremos na tela a figura 4.0:
Crystal Report Designer
figura 4.0
Conteúdo

Inserindo títulos e legendas.

Vamos inserir um título em nosso relatório e uma legenda para o campo sobrenome,
para isso selecione a opção Text Field... do menu Insert.

Na caixa de diálogo Enter Text digite o título: Agenda Pessoal e
clique no botão Accept. Ao lado do ponteiro do mouse acompanha um
retângulo que você deverá posicionar no local desejado, ou seja, na seção Title.

Para criar a legenda Nome para o campo sobrenome no cabeçalho de grupo,
selecionte Text Field... novamente e digite Nome, clicando em Accept e
posicionando a legenda mesmo local da legenda sobrenome.

Conteúdo

Formatação de campos, campos especiais e desenho de linhas.

Para formatar campos basta selecionar o campo desejado e clicar na opção Format
do menu ou clicando com o botão direito do mouse sobre o campo teremos um menu pop-up
como na figura 5.0 abaixo:
Crystal Report Designer
figura 5.0
Pelo menu podemos acessar as opções pertinentes a um
determinado campo do relatório.

Para o caso selecionamos o título Agenda Pessoal , vamos alterar
a fonte (Change Font...) para 14 e o estilo para negrito.

Para alterar mais de um campo selecione-os mantendo a tecla Shift
pressionada.

Aproveitando vamos inserir um campo referente a data no canto superior esquerdo. Selecione a opção Special Field... do menu Insert escolha a opção Print Date e posicione no local indicado. Clique com o botão direito do mouse sobre o campo nascimento e selecione a opção Change Format... escolhendo o formato DMY (dia-mês-ano) e clique OK. Finalmente vamos desenhar um retângulo ao redor do título. Selecione a opção Box do Menu Insert , note que o ponteiro do mouse mudou para um lápis: Desenhe o retângulo ao redor do título mantendo o botão esquerdo do mouse pressionado.

Se quiser colorir o retângulo clique com o botão direito do mouse sobre o mesmo e preencha-o com uma cor de sua escolha. Através do menu Insert podemos desenhar linhas, retângulos, quadrados , além de inserir figuras e até gráficos em nossos relatórios. Podemos também usar os ícones correspondentes da barra de ferramentas como na figura 6.0 abaixo:
Crystal Report Designer
figura 6.0

Conteúdo

Trabalhando com fórmulas.

Vamos montar uma fórmula para imprimir o número da página no rodapé do relatório.

Para isso usamos o editor de fórmulas do Crystal Reports que pode ser disparado
através do ícone  ou da opção Formula Field... do menu Insert.

Após isso você deve informar o nome da fórmula no campo Formula Name 

para o nosso caso informe "pagina" e clique no botão OK.
O Editor é mostrado na figura 7.0 :
Editor de Fórmulas
figura 7.0
Agora basta digitar a fórmula na caixa Formula Text, vamos lá, digite: "Página: " + e, a seguir selecione a função TrimLeft na lista Functions; , ainda na lista Functions, selecione a função ToText e finalmente selecione o item PageNumber no final da lista Functions. Ao final deveremos ter o seguinte na caixa Formula Text: "Página: " + TrimLeft (ToText (PageNumber, 0 ) ) A função PageNumber retorna um valor númerico do número da página por isso usamos a função ToText para convertê-la em uma string , e a seguir usamos a função TrimLeft para removermos os espaços a direita. Vamos verificar a fórmula clicando no botão Check , se tudo estiver correto o crystal informa com a mensagem No errors found indicando que a sintaxe está correta.

Agora basta clicar no botão Accept e posicionar a fórmula no canto esquerdo da seção Page Footer. Encerrado o relatório basta salvá-lo através da opção Save do menu File e informar o nome para o relatório.(Nosso caso informa agenda). Devemos ressaltar que a linguagem de fórmulas do Crystal Reports é diferente do Visual Basic , assim por exemplo , se usarmos a propriedade SelectionFormula do Crystal que permite definir condições para a impressão em nosso relatório de forma a imprimir somente os nomes iniciados pela letra "J" teríamos algo como: CrystalReport1.SelectionFormula = "{AGENDA.NOME} >= " & "''" & "J" & "''" Note que a refêrencia a campos da tabela é feita entre chaves ({}).

Conteúdo

Determinando o estilo e inserindo uma figura em seu relatório.

Você pode utilizar a guia Style para escolher a forma de apresentação do relatório.
Definindo estilos
figura 8.0
Para isto selecione um dos estilos na caixa de listagem style e veja á direita o jeitão do relatório. Se quiser pode inserir uma figura no relatório clicando no botão Add Picture... com o ícone. A caixa de texto Title lhe permite inserir o título para o relatório.
Conteúdo

Imprimindo o relatório a partir de sua aplicação no Visual Basic.

Agora que nosso relatório esta pronto vamos associá-lo a nossa aplicação de forma
a poder imprimí-lo a partir do Visual Basic.

Para isso devemos ativar o componente do Crystal Reports para a nossa aplicação na
opção Components.. do menu Project e a seguir selecionar o controle
Crystal Reports  e copiá-lo para nosso formulário.

A seguir vamos definir algumas propriedades para o controle CrystalReport1

1-CopiesToPrinter - Determina o número de cópias do relatório.Informe um (1)
2-Destination     - Direciona a impressão: 0-na tela  1-na impressora  2-em arquivo. Informe zero (0).   
3-ReportFileName  - Indica a localização do relatório (arquivo .RPT) a ser impresso.
4-WindowTitle     - Título a janela Preview , informe   Agenda .
5-SortFields      - Configura a ordem de classificação.(Ver abaixo.)

Finalmente crie um botão de comando no formulário que irá disparar a impressão do
relatório com o nome de Imprime e a seguir associe o seguinte código ao botão de comando:


Private Sub imprime_Click()
    CrystalReport1.Destination = 0
    CrystalReport1.ReportFileName = "c:\Controle\agenda.rpt"
    CrystalReport1.SortFields(0) = "+{Agenda.Sobrenome}"
    CrystalReport1.Action = 1
End Sub




A propriedade Action definida para 1 dispara a impressão do relatório.

Outra forma de ordenar os registros via código é utilizar a propriedade
sortfields.
Na propriedade Sortfields , "+{Agenda.Sobrenome}" , indica que a
ordem de impressão será por campo sobrenome (Agenda.sobrenome) e em
ordem ascendente (+).
Conteúdo
 
Veja os Destaques e novidades do SUPER DVD Visual Basic (sempre atualizado) : clique e confira !

Quer migrar para o VB .NET ?

Quer aprender C# ??

Quer aprender os conceitos da Programação Orientada a objetos ?

Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?

Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET MVC 5 ?

 

  Gostou ?   Compartilhe no Facebook   Compartilhe no Twitter


Retorna