Fórum Relatório Master/Detail #171982
28/07/2003
0
O relatório deve ficar assim, por exemplo:
Cliente: J. P. DA SILVA LTDA (Master)
Endereço: Av. Jordão, s/nº (Master)
Data: 28/07/03 - R$ 300,00 (Detail)
Cliente: TEIXEIRA S/A (Master)
Endereço: Rua Garça, s/nº (Master)
Data: 28/07/03 - R$ 198,00 (Detail)
E assim por diante...
Alguém pode me ajudar?
Desde já agradeço. :lol:
Delphi 5
Paradox
Osmar Cardoso
Curtir tópico
+ 0Posts
28/07/2003
Joilson_gouveia
1. Montar a Query com os dados a serem mostrados;
2. Montar o relatório com BAND QRGroup combinada com QRDetail
1.Montando a Query:
- Insira um componente TQuery no seu formulário de Relatório;
- na propriedade SQL.Text digite o código abaixo:
SELECT A.NOME,A.ENDERECO,B.DATA,B.VALOR FROM TBMASTER A,TBDETAIL B WHERE A.CDCLI=B.CDCLI ORDER BY NOME;
- Pronto, vc já tem a massa de dados
2. Montando o Relatório (QuickReport):
- Insira QRBAND, mude BandType para PageHeader
- Insira QRBAND, mude BandType para ColumnHeader
- Insira QRBAND, mude BandType para QRGroup
- Insira QRBAND, mude BandType para QRDetail
- Insira QRBAND, mude BandType para QRGroupFooter
- Insira QRBAND, mude BandType para QRSumary
- Insira QRBAND, mude BandType para PageFooter
- Na propriedade dataset do relatório associe a query acima;
- Na Band PageHeader, insira QRLabels e mude seus caption, fazendo um cabeçalho para seu relatório. Esse cabeçalho aparecerá em todas as páginas;
- Na Band ColumnHeader, acrescente QRLabels e mude seus caption para o nome das colunas que conterão os detalhes (Data e Valor, por exemplo)
- Na Band QRGroup, entre na propriedade ´expression´ e set o campo NOME, que será o campo agrupador do relatório (por isso o ORDER BY NOME na query);
- ainda no QRGroup, insira na disposição mais adequada os campos comuns do Mestre (Nome,Endereco etc) através de QRDBTexts devidamente ligados a query.
- ainda no QRGroup, altere o LINK Band para a band GroupFooter (QRBand4, por exemplo)
- Na band QRDetail, insira os DBTexts que conterão os detalhes (Data e Valor), devidamente ligados a query.
- Na Band GroupFooter, insira um componente QRExpression e em sua propriedade ´Expression´ use a função SUM(query1VALOR.AsFloat), para ter um totalizador por Cliente.
- Na Band QRSumary, faça o mesmo que na band GroupFooter acima,
gerando um totalizador geral dos valores
- Na band QRPageFooter, insira QRSYS e escolha datatype de Pagina ou outro datatype qualquer.
Mãos à obra!
Gostei + 0
29/07/2003
Osmar Cardoso
Vamos trabalhar, então.
Um grande abraço!
Gostei + 0
02/08/2007
Vagner.oliveira
------------------------------
Nome ------------ Detalhe
------------------------------
Fulano ----------- Masc
Ciclano ---------- Masc
------------------------------
Nome ----------- Detalhe 2
------------------------------
Fulano ---------- Rua tal n234
Ciclano --------- Av. tal n345
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)