GARANTIR DESCONTO

Fórum quickrep 3 tabelas mostrar 1 detail e depois outro tem como? #350769

18/12/2007

0

amigos to com um problemao aqui

tenho 3 tabelas, resumindo na verdade sao 7 tabelas associadas mas o problema ta nessas 3

ROMANEIO, TORASSERRADAS, MADEIRAPRODUZIDA

ROMANEIO id dataromaneio ____________________ TORASSERRADAS id idromaneio numerotora ____________________ MADEIDAPRODUZIDA id idromaneio idtorasserradas descricaomadeira


criei um sql

´ select romaneio.*, torasserradas.*, madeiraproduzida.* from romaneio left join torasserradas on torasserradas.idromaneio = romaneio.id left join madeiraproduzida on madeiraproduzida.idtorasserradas = torasserradas.id


entao eu tenho [b:7e04e5d3d1]1[/b:7e04e5d3d1] romaneio com [b:7e04e5d3d1]n[/b:7e04e5d3d1] toras serradas e [b:7e04e5d3d1]n[/b:7e04e5d3d1] madeiraproduzida


preciso de um relatorio que sai assim

-dataproducao
-todas as toras serradas
-e no final do relatorio todas as madeiras produzidas

ja tentei de todas as maneiras mas nao consegui, os subdetails ele sai logo abaixo do detail

do jeito que ta meu sql ele sai
dataromaneio tora1 madeiraproduzida1 madeiraproduzida2 tora2 madeiraproduzida1 madeiraproduzida2 tora3 madeiraproduzida1 madeiraproduzida2


e o que eu quero é assim

dataromaneio tora1 tora2 tora3 madeiraproduzida1 madeiraproduzida2


Por favor se alguem puder me ajudar eu agradeço muito, ou pelo menos digam que é impossivel fazer isso no quickreport.

desde ja agradeço...


Delphi 7.0, firebird 1.5


Marcusbraga

Marcusbraga

Responder

Posts

19/12/2007

Micheus

Sugestão:
- Utilize um dataset para cada tabela. Dê preferência a utilizar dataset´s do tipo Query;
- adicione um componente DataSource e ligue sua propriedade DataSet ao dataset Romaneio;
- nos datasets ´filhos´, como TorasSerradas e MadeiraProduzida, vc filtra (where) os dados, referenciando o ID em Romaneio. Ex.:
... 
FROM TORASSERRADAS
WHERE idromaneio = :id
...
Mas é importante que o nome do parâmetro seja exatamente o nome do campo de onde iremos buscar o valor (neste caso Romaneio);
Para que este valor seja buscado do dataset ´pai´, definimos nos dataset´s ´filhos´ a propriedade DataSource apontando para o datasource que citei no início (ligado a Romaneio);

Coloque no seu relatório:
- 01 banda Detal;
- 02 bandas Sub-detail;

Configurando:
- defina o dataset Romaneio como fonte de dados do seu QuickRep (propriedade DataSet);
- utilize um componente DataSource ligado ao seu dataset Romaneio;
- nos seus datasets ´filhos´ ligue a propriedade DataSource ao componente anteriormente mencionado;
- antes de mostrar seu relatório, abra os datasets - todos. Assim, para cada linha movida no dataset ´pai´ (Romaneio), automaticamente serão filtrados os dataset´s ´filhos´;
- Na banda detalhe vc coloca os QRDBText´s a serem utilizados para mostrar os dados do Romaneio;
- Para cada banda Sub-Detail, vc define sua propriedade DataSet para apontar para o respectivo dataset (no seu exemplo, TorasSerradas na primeira e MadeiraProduzidas na segunda) e adiciona os QRDBText conforme necessário;

Se não esqueci de nada, seria isto.

Teste e dê um retorno.

Abraços


Responder

Gostei + 0

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

Aceitar