Relatório de três tabelas...

Delphi

12/11/2004

Saudações.

Uso Delphi 7 e Firebird 1.5.

Tenho o seguinte problema:
1. No meu aplicativo criei um módulo de vendas e este módulo consiste de um formulário que ´escreve´ em três tabelas: venda, vendaprodutos e parcelas.
2. Na tabela de vendas armazeno o número da venda, código do cliente, data, tipo, valor total e código do vendedor. Na tabela vendaprodutos armazeno o código da veda, código do produto, quantidade, valor, valortotal. Na tabela de parcelas armazeno o código da venda, valor da parcela, data de vencimento, data de pagamento e situação.
3. Preciso criar um relatório de cada venda feita. Lembrando que uma venda pode ter mais de um produto e mais de uma parcela.

Desde já agradeço a sua ajuda.


Horus

Horus

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

12/11/2004

Qual o relatório que você usa?


GOSTEI 0
Horus

Horus

12/11/2004

Geralmente uso o Quick Report, mas, posso fazer em Rave.

Obrigado.


GOSTEI 0
Gandalf.nho

Gandalf.nho

12/11/2004

No QuickReport, você usa uma banda Detail para a tabela principal (tabela mãe) e bandas QrSubDetail para as tabelas filhas. Basta relacionar as tabelas corretamente e pronto. Isso vale tb para uma tabela filha dependende de outra tabela filha, como o seu caso.


GOSTEI 0
Horus

Horus

12/11/2004

Oi, Gandalf.nho.

Quer dizer então que tenho que criar o relatório baseado em tabelas?
Não posso fazê-lo baseado em Queries?

Pode dar um exemplo levando em consideração os dados das tabelas que eu postei?

Fico muito agradecido pela sua colaboração.
Mais uma vez obrigado.


GOSTEI 0
Gandalf.nho

Gandalf.nho

12/11/2004

Tabela é modo de dizer, leia-se datasets...

No seu caso, coloque os datasets com os vínculos relacionais setados.
O dataset principal (Vendas) será colocado na banda Detail normalmente. Coloque 2 QRSubdetails e sete sua propriedade DataSet para cada um dos outros 2 datasets (vendaprodutos e parcelas). Sete a propriedade Master do primeiro QrSubdetail (vendaprodutos) para o próprio QuickReport (cujo dataset é o principal) e o Master do segundo Subdetail para o primeiro Subdetail (reproduzindo o vínculo entre os datasets). Se você optar por fazer uma query juntando as 2 tabelas filhas num só dataset, daí use apenas um Subdetail.


GOSTEI 0
Horus

Horus

12/11/2004

Oi, Gandalf.nho.

Fiz um teste improvisado em um projeto novo e funcionou.
Vou implementar agora no meu sistema.
Muito obrigado pela sua ajuda.

É que as vezes os problemas nos parecem tão complicados que esquecemos de procurar soluções simples para eles.

Você é 1000!!!

Valeu.


GOSTEI 0
Alan Azevedo

Alan Azevedo

12/11/2004

E aí horus blz, estou com o mesmo problema que o seu. Estou desenvolvendo um trabalho de conclusão de curso, e preciso gerar uma nota referente a venda, que tenha os dados da venda (tabela venda), os itens (vendaproduto) e as parcelas (tabela parcelas). Como você conseguiu fazer isso no quick report.
GOSTEI 0
Luis Godinho

Luis Godinho

12/11/2004

Olá Alan!

O usuário "Gandalf.nho" passou alguns detalhes nas respostas acima que irá funcionar perfeitamente, utilizando as bandas Detail e SubDetail. Caso não consiga resolver seguindo as dicas, volte a postar um comentário que eu adiciono um tutorial indicando.

Abs.!
GOSTEI 0
POSTAR