terça-feira, 21 de agosto de 2007

Relatórios em Delphi

Bom, esse tutorial irá explicar as bases de como gerar um relatório simples com QuickReport usando Delphi, com banco em Access.


Primeiro crie o banco em access. Se você não sabe como fazer isso o tutorial anterior tá ensinando.

O banco deve possuir apenas os campos:

................................................................|
CODIGO - NUMERO (INTEGER) |
NOME - TEXTO (VARCHAR) |
................................................................|


Agora no delphi coloque no form os componentes da paleta ADO: adoconnection e adotable.

Adoconnection é o componente que fará a conexão com o banco e adotable é que ligará diretamente os campos da tabela.

Agora é só configurar. Qualquer dúvida o tutorial anterior diz passo a passo como proceder.



Estando conectado ao banco de dados e com tudo funcionando (como no tutorial anterior) é hora do famigerado RELATÓRIO...

No fim das contas você deverá ter algo assim..


No Delphi 7 já vem incluso o Quick Report, ele apenas não instala os componentes automaticamente.

Para instalar, vá no menu Component -> Install Packages, clique
em ADD e localize o arquivo c:Arquivos de Programas/Borland/Delphi7/Bindclqrt70.bpl.



Crie um novo form que conterá a página do relatório, declare a unit1 no USES do form e adicione o componente QuickRep da paleta QReport.

No object inspector, mude a propriedade bands deixando apenas os HasDetail como true e selecione o dataset.

Adicione 2 componentes QRDBText e 2 QRLabel.

O QRDBText é o que vai linkar com o banco o QRLabel é uma label comum.


Coloque "Código" em um label e "Nome" no outro.
Nos QRDBs... mude a propriedade dataset pra a ADOtable que você está usando e datafield pro campo que você deseja que ele represente.


Deverá ficar como na imagem abaixo:




O restante do processo é muito simples.

No onclick do botão "Imprimir Relatório" coloque: Form2.QuickRep1.Preview; (lembre-se de declarar a unit2 no uses).

No final das contas deve ficar assim:

implementation
uses
unit2;

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Form2.QuickRep1.Preview;
end;




Agora é só cadastrar alguns registros e testar o relatório que ele estará funcionando. Qualquer dúvida mande pro e-mail do grupo criado pelo Narsh... falou!