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: