GARANTIR DESCONTO

Fórum Mais uma dúvida com query #357797

29/04/2008

0

Talvez o mais difícil seja explicar minha dúvida, mas vou tentar. Havendo dúvida quanto ao meu post, tentarei estar esclarecendo.
Tenho uma tabela, onde eu armazeno as minhas vendas. Logo eu tenho um linha por venda. Tenho outra tabela onde armazeno as formas de pagamento. Ora, uma venda pode ter uma ou mais formas de pagamento. Na tabela forma eu tenho a descrição da forma. Se eu fizer um Join com essas duas tabelas, nos registros que houverem mais de uma forma de pagamento, eles serão duplicados, pois são formas diferentes. Preciso imprimir isso tudo da seguinte forma:
NumNota, NumBoleto,Valor,Vendedor e Forma. Sempre com uma linha pontilhada separando cada venda, mas se uma venda tem mais de uma forma, eu imprimo os itens acima uma única vez, e logo em seguida somente o nome da forma e o valor. Terminando, eu imprimo outra linha pontilhada e sucessivamente. Eu não posso fazer o Select junto, pois eu não posso repetir as vendas. Fiz duas querys uma para as vendas e outra para o pagamento, mas não consigo imprimir do jeito citado acima. Não sei o que fazer no momento. Se alguem tem algum modelo, agradeço. não é preciso postar as querys, pois qualquer exemplo me serve.


Paulo

Paulo

Responder

Posts

29/04/2008

Ferreia2

Qual gerador de relatório vc usa?


Responder

Gostei + 0

29/04/2008

Paulo

Nenhum. Uso TextFile.


Responder

Gostei + 0

29/04/2008

Ferreia2

Eu resolveria assim:

Faça uma query pegando as vendas
Select *
from Vendas

Faça outra query pegando a forma de pagamento por
Select *
from Forma_de_Pagamento
where cod_venda = :Cod_Venda

No evento AfterScroll da query vendas coloque
Query Forma_de_pagamento .close
query Forma_de_pagamento.parambyname(´Cod_Venda´).asstring := Query venda.fieldByname(´cod_venda´).asstring

Após abrir a query venda faça um while na mesma e vai montando o arquivo texto no lay-out que vc precisa,

qualquer coisa posta ai.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar