crystal reports

Upload: ana-carla-castanheira

Post on 30-Oct-2015

13 views

Category:

Documents


1 download

TRANSCRIPT

Crystal Reports - Gerando seus relatrios

Crystal Reports - Gerando seus relatrios.

O Crystal Reports o gerador de relatrios do Visual Basic e com ele desenhamos os relatrios de nossos aplicativos. Embora possua um objeto chamado Printer para imprimir dados, sua utilizao alm de complexa trabalhosa pois tudo deve ser codificado. Ao Contrrio, o Crystal Reports utiliza uma interface grfica a partir de onde podemos construir qualquer relatrio que necessitamos.

Podemos iniciar o Crystal Reports atravs da opo 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 distribuda a verso 4.6 do Crystal Reports.

ndice

Criando um novo relatrio.2

Agrupando e ordenando registros.5

Inserindo ttulos e Legendas.6

Formatao de campos, campos especiais e desenho de linhas e caixas. 7

Trabalhando com frmulas.8

Determinando o estilo e inserindo uma figura em seu relatrio.10

Imprimindo o relatrio a partir de sua aplicao no Visual Basic.11Criando um novo relatrio.

Vamos gerar um relatrio baseado em uma de nome agenda que se encontra no banco de dados de nome Controle . Nosso relatrio dever obedecer os seguintes parmetros:

1- Campos a serem impressos : sobrenome , endereo e a data de nascimento.

2- O relatrio dever ser ordenado pelo campo sobrenome.

3- Deveremos permitir inicialmente a visualizao do relatrio para posterior impresso.

4- O nome do relatrio ser agenda.rpt.

Selecionando a opo New do menu File teremos a tela da figura 1.0 abaixo:

figura 1.0

Aps selecionar o boto Standard , devemos selecionar a base de dados na opo 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 boto Next para prosseguir.

Como nosso relatrio esta baseado somente na tabela Agenda, o prximo passo Links, pode ser dispensado, portanto clique novamente no boto Next.

Vamos selecionar os campos da tabela que sero impressos no relatrio - selecione cada campo e clique no boto Add. Ao final devemos ter algo parecido com a figura 2.0 abaixo:

figura 2.0

A esta altura o relatrio esta praticamente terminado , para visualiz-lo clique no boto Preview Report. mostrada a tela da figura 3.0 onde aps clicarmos na aba Design podemos notar cinco sees:

figura 3.0

1-Title - para o ttulo da aplicao.

2-Page Header - contm os elementos do cabealho da pgina.

3-Details - contm os campos de dados a serem impressos.

4-Page Footer - refere-se ao rodap da pgina.

5-Summary - impresso de resumos.

Agrupando e ordenando registros.

Para agrupar registros , ordenando-os por uma determinada coluna selecione a opo Group Section do menu Insert. Agrupando pelo campo sobrenome em ordem ascendente veremos na tela a figura 4.0:

figura 4.0

Inserindo ttulos e legendas.

Vamos inserir um ttulo em nosso relatrio e uma legenda para o campo sobrenome, para isso selecione a opo Text Field... do menu Insert.

Na caixa de dilogo Enter Text digite o ttulo: Agenda Pessoal e clique no boto Accept. Ao lado do ponteiro do mouse acompanha um retngulo que voc dever posicionar no local desejado, ou seja, na seo Title.

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

Formatao de campos, campos especiais e desenho de linhas.

Para formatar campos basta selecionar o campo desejado e clicar na opo Format do menu ou clicando com o boto 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 opes pertinentes a um determinado campo do relatrio. Para o caso selecionamos o ttulo 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 opo Special Field... do menu Insert escolha a opo Print Date e posicione no local indicado.

Clique com o boto direito do mouse sobre o campo nascimento e selecione a opo Change Format... escolhendo o formato DMY (dia-ms-ano) e clique OK.

Finalmente vamos desenhar um retngulo ao redor do ttulo. Selecione a opo Box do Menu Insert , note que o ponteiro do mouse mudou para um lpis:

Desenhe o retngulo ao redor do ttulo mantendo o boto esquerdo do mouse pressionado.

Se quiser colorir o retngulo clique com o boto direito do mouse sobre o mesmo e preencha-o com uma cor de sua escolha.

Atravs do menu Insert podemos desenhar linhas, retngulos, quadrados , alm de inserir figuras e at grficos em nossos relatrios.

Podemos tambm usar os cones correspondentes da barra de ferramentas como na figura 6.0 abaixo:

Figura 6

Trabalhando com frmulas.

Vamos montar uma frmula para imprimir o nmero da pgina no rodap do relatrio.

Para isso usamos o editor de frmulas do Crystal Reports que pode ser disparado atravs do cone (x2) ou da opo Formula Field... do menu Insert.

Aps isso voc deve informar o nome da frmula no campo Formula Name para o nosso caso informe "pagina" e clique no boto OK.

O Editor mostrado na figura 7.0 :

figura 7.0

Agora basta digitar a frmula na caixa Formula Text, vamos l, digite:

"Pgina: " + e, a seguir selecione a funo TrimLeft na lista Functions;, ainda na lista Functions, selecione a funo ToText e finalmente selecione o item PageNumber no final da lista Functions. Ao final deveremos ter o seguinte na caixa Formula Text:

"Pgina: " + TrimLeft (ToText (PageNumber, 0 ) )

A funo PageNumber retorna um valor nmerico do nmero da pgina por isso usamos a funo ToText para convert-la em uma string , e a seguir usamos a funo TrimLeft para removermos os espaos a direita.

Vamos verificar a frmula clicando no boto Check , se tudo estiver correto o crystal informa com a mensagem No errors found indicando que a sintaxe est correta.

Agora basta clicar no boto Accept e posicionar a frmula no canto esquerdo da seo Page Footer.

Encerrado o relatrio basta salv-lo atravs da opo Save do menu File e informar o nome para o relatrio.(Nosso caso informa agenda).

Devemos ressaltar que a linguagem de frmulas do Crystal Reports diferente do Visual Basic , assim por exemplo , se usarmos a propriedade SelectionFormula do Crystal que permite definir condies para a impresso em nosso relatrio de forma a imprimir somente os nomes iniciados pela letra "J" teramos algo como:

CrystalReport1.SelectionFormula = "{AGENDA.NOME} >= " & "''" & "J" & "''"

Note que a referncia a campos da tabela feita entre chaves ({}).

Determinando o estilo e inserindo uma figura em seu relatrio.Voc pode utilizar a guia Style para escolher a forma de apresentao do relatrio.

figura 8.0

Para isto selecione um dos estilos na caixa de listagem style e veja direita o jeito do relatrio.

Se quiser pode inserir uma figura no relatrio clicando no boto Add Picture... com o cone.

A caixa de texto Title lhe permite inserir o ttulo para o relatrio.

Imprimindo o relatrio a partir de sua aplicao no Visual Basic.Agora que nosso relatrio esta pronto vamos associ-lo a nossa aplicao de forma a poder imprimi-lo a partir do Visual Basic.

Para isso devemos ativar o componente do Crystal Reports para a nossa aplicao na opo Components.. do menu Project e a seguir selecionar o controle Crystal Reports e copi-lo para nosso formulrio.

A seguir vamos definir algumas propriedades para o controle CrystalReport1

1-CopiesToPrinter - Determina o nmero de cpias do relatrio.Informe um (1)

2-Destination - Direciona a impresso: 0-na tela 1-na impressora 2-em arquivo. informe zero (0).

3-ReportFileName- Indica a localizao do relatrio (arquivo .RPT) a ser impresso.

4-WindowTitle - Ttulo a janela Preview , informe Agenda .

5-SortFields - Configura a ordem de classificao.(Ver abaixo.)

Finalmente crie um boto de comando no formulrio que ir disparar a impresso do relatrio com o nome de Imprime e a seguir associe o seguinte cdigo ao boto 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 impresso do relatrio.

Outra forma de ordenar os registros via cdigo utilizar a propriedade sortfields.

Na propriedade Sortfields , "+{Agenda.Sobrenome}" , indica que a ordem de impresso ser por campo sobrenome (Agenda.sobrenome) e em ordem ascendente (+).

111