CURSOMASTER_____________________________________________________________________

Crystal Reports - Gerando seus relatórios.

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.

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.

Índice

Criando um novo relatório. 2

Agrupando e ordenando registros. 5

Inserindo títulos e Legendas. 6

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

Trabalhando com fórmulas. 8

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

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

Criando um novo relatório.

Vamos gerar um relatório baseado em uma de nome agenda que se encontra no banco de dados de nome 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:

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:

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:

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.

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:

figura 4.0

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, selecione Text Field... novamente e digite Nome, clicando em Accept e posicionando a legenda mesmo local da legenda sobrenome.

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:

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 alterara 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:

Figura 6

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 (x2) 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 :

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 referência a campos da tabela é feita entre chaves ({}).

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.

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.

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 imprimi-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 (+).

11

Comentários