Relatório Mestre Detalhe e Agrupado

Propaganda
Linguagem de Programação – Delphi
Professora: Lucélia Oliveira
Parte I - Relatório Mestre Detalhe
1. Crie um Data Module para comportar os componentes de acesso aos dados.
2. Agora insira e configure os seguintes componentes:
· Um ADOConection
Name: ADORelProdutos
LoginPrompt: false
Obtendo Conexão com o BANCO de Dados:
·
·
Clique sobre o ADOConection
·
Estabeleça a Conexão com o BANCO através da propriedade ConnectionString
Dois ADOTable
ADOTable1:
Connection: ADORelProdutos
Name: TBCategoria
TableName: Categoria
Active: true
ADOTable2:
Connection: ADORelProdutos
Name: TBProduto
TableName: Produto
Active: true
·
Dois DataSource:
DataSource1:
Name: DsCategoria
DataSet: TBCategoria
DataSource2:
Name: DsProduto
DataSet: TBProduto
Vamos Iniciar o Processo Mestre / Detalhe
·
Selecione o componente TBProduto e altere as seguintes propriedades:
o MasterSource: DsCategoria
o MasterFields:
§ em Detail Fields selecione o nome da chave estrangeira (neste caso codCat)
§ em Master Fields selecione a chave primária correspondente (neste caso codigo)
§ Clique em Add
§ OK.
o
Ficará assim:
§ MasterFields: codigo
§ IndexFieldName: codCat
3. Faça a importação do Data Module: File à Use Unit à escolha o Data Module
4. Agora insira um componente QuickRep no formulário e adicione as seguintes bands:
5. Alterar a propriedade Dataset do QuickReport para o dataset mestre (TBCategoria) e o Dataset da banda QRSubDetail para o
dataset detalhe (TBProduto).
ATENÇÃO! A QRSubDetail não pode ser uma QRBand comum e alterar a sua propriedade BandType! Tem que ser um
componente QRSubDetail, senão, não irá funcionar!
6. Insira os componentes que deseja mostrar no relatório, como pode ser observado na figura a seguir:
7. Se desejar apresentar os valores no formato de moeda, selecione o QRDBText do valor e insira a máscara R$###,##0.00 na
propriedade Mask
8. Altere as propriedades DataSet e DataField de todos os componentes QRDBText para mostrar os dados desejados.
9. Clique com o botão direito sobre o formulário e escolha a opção preview. Deverá aprecer um formulário como mostrado a seguir:
Parte II - Relatórios com Agrupados ou com Quebras
1.
2.
3.
4.
5.
Usando o mesmo contexto, vamos criar um novo formulário para comportar o novo relatório: File à New à Form
Altere as propriedades: Name: FRelOrigem e Caption: Relatório de Produtos por Origem
Selecione o formulário e faça a importação do Data Module: File à Use Unit à escolha o Data Module
Adicione um componente QuickRep no formulário
Adicione as seguintes bands no QuickReport:
6.
7.
o
o
Faça a propriedade DataSet do QuickReport apontar para a Query do QuickReport
Insira um componente ADOQuery no próprio formulário do QuickReport e altere as seguintes propriedades:
Connection: DM.ADOProdutos
SQL:
SELECT origem, nome
FROM produto
GROUP BY origem, nome
ORDER BY origem, nome
o
Active: true
8. Como o Delphi sabe a hora de mudar o grupo? Através da propriedade Expression da banda QrGroup. No nosso caso, o
grupo mudará dependendo do valor de um campo da tabela. Assim, abrimos a janela Expression Wizard (clicando nas
reticências da propriedade Expression), clicamos em “Database Field” e escolhemos o campo “origem”
9. Neste momento o relatório deverá estar parecido com o mostrado na figura abaixo:
10. Clique com o botão direito sobre o formulário e escolha a opção preview. Deverá aprecer um formulário como mostrado a seguir:
Download