 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
fabiodurgante Aprendiz

Registrado: Sexta-Feira, 8 de Novembro de 2013 Mensagens: 197
|
Enviada: Seg Ago 07, 2017 4:39 pm Assunto: relatorio delphi 2 ibquery |
|
|
ola para ferar relatorio faço o seguinte
Código: |
form2.IBQuery1.close;
form2.IBQuery1.SQL.Clear;
form2.IBQuery1.SQL:=IBQuery1.SQL;
form2.IBQuery1.Prepare;
form2.IBQuery1.open;
Form2.QRPQuickrep1.Prepare;
Form2.QRLabel2.Caption := ' / '+IntToStr(Form2.QRPQuickrep1.QRPrinter.PageCount);
Form2.QRLabel3.Caption := IntToStr(ibquery1.RecordCount);
Form2.QRLabel7.Caption := DateToStr(DateTimePicker1.Date)+' ate '+DateToStr(DateTimePicker2.Date);
Form2.QRPQuickrep1.preview;
|
tudo OK na IBQuery1 tenho o sql que retorna as notas pelo cliente fabio, exemplo fabio1 numero nota data valor total
fabio2 numero nota data valor total
fabio 3 numero nota data valor total
gera relatorio com esses dados OK
a ibquery2 faco um select dos produtos que tem na nota fabio1 pel numero da nota porem so ostra os produtos da nota fabio1 tem 4 pordutos, mas fabio2 tem 2 produtosm fabio3 tem 3 produtos como poderia fazer relatorio
fabio1
produto1
produto2
produto3
produto4
fabio2
produto1
produto2
fabio3
produto1
produto2
produto3
tenho que enviar para o form2 a ibquery1 e ibquery2 ??
so que a ibquery2 precisa pegar o numero nota do dbgrid nmumero por numero feito na pesquiza do ibquery1 como fazer esse relatorio ??? |
|
Voltar ao Topo |
|
 |
fabiodurgante Aprendiz

Registrado: Sexta-Feira, 8 de Novembro de 2013 Mensagens: 197
|
Enviada: Ter Ago 08, 2017 3:09 pm Assunto: |
|
|
quero que fique relatorio assim achei na net
Código: |
+- Detail ----------------------------------------------------+
| Cliente: Francisco Almeida
| CNPJ: 999999
| Endereço: xccvcvcv cvvxv x
|-------------------------------------------------------------
| Qrd. Und Descrição Valor
+- SubDetail - Itens -----------------------------------------+
| 50,00 Bolacha R$ 65,00
| 20,00 Suco daFruta R$ 60,00
| 15,00 Cx Bombom R$ 100,00
+- SubDetail - HeaderBand ------------------------------------+
| Vencimento Valor
+- SubDetail - Parcela ---------------------------------------+
| 20/10/2008 R$ 75,00
| 20/11/2008 R$ 75,00
| 20/12/2008 R$ 75,00
+-------------------------------------------------------------+
|
IMEX disse isso
- QuickReport: DataSet = QueryEmpresas
- Primeira banda: PageHeader
- Segunda banda: QRBand do tipo Detail com QRDBText imprimindo dados de QueryEmpresas
- Terceira banda: QRBand do tipo GroupHeader, Name = BandaGrupo
- Quarda banda: QRSubDetail com DataSet = QueryFuncionarios, HeaderBand = BandaGrupo, imprimindo dados dos funcionários
A propriedade LinkBand de todas as bandas em branco.
Da forma acima o QuickReport le o DataSet QueryEmpresas e para cada registro imprime um Detail (segunda banda), um GroupHeader (terceira banda), e um SubDetail para cada funcionário da empresa.
eu fiz isso porem lista todos as vendas mas os itens das vendas lista somente o 1 item a ibquery2 nao vai pra frente junto com a ibquery1 entende, venda 1 venda 2 10 vendas somente com o item da ibquery2 teria q ter um while na query 2 para listar todos os itens ??? |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Ago 09, 2017 3:15 pm Assunto: |
|
|
Boa tarde,
Não sei qual tópico você viu, mas pelo que você disse me parece que está faltando fazer a ligação da IBQuery2 (através da propriedade DataSource) com a IBQuery1. Acho que deve ter alguma coisa nesse tópico que você viu sobre isso.
E o While não é utilizado nesse caso, a própria QRSubDetail vai varrer os registros do DataSet do início ao fim.
Espero que ajude
Editado pela última vez por imex em Seg Dez 04, 2023 11:51 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
fabiodurgante Aprendiz

Registrado: Sexta-Feira, 8 de Novembro de 2013 Mensagens: 197
|
Enviada: Qua Ago 09, 2017 3:25 pm Assunto: |
|
|
essa ligacao ibquery1 com a ibquery2 pelo datasource nao fiz vou tentar
ta mas tipo assim minha ibquery1 tem select vendas lista dbgrid venda cliente data valor, quando 2x dbgrid abre outro form e lista os produtos referente a linha dbgrid clicaco eu passo o id venda para o form2 ibqyery2 para fazer select referente aquele id_venda, com 1 2x clique funciona porque passo o ID_venda, porem quando filtro e mostraas vendas do fabio tem 3 vendas 2 produtos cada venda, tenho q passar o id-venda 3x para o form2 entendeu nao sei como passar as 3 linhas do form1 dbgrid, cada linha tenho que passar o id_venda porque sao vendas ids diferente como passar ???
eu juntei tudo em um unico sql 1 ibqyery somente mas deve existir uma maneira de passar os ids do dbgrid para o form2 ibquery2 |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Ago 09, 2017 4:10 pm Assunto: |
|
|
O parâmetro da IBQuery2 será preenchido automaticamente com o valor corrente na IBQuery1 configurando a propriedade DataSource da IBQuery2 com um DataSource da IBQuery1.
Espero que ajude |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|