Ir para conteúdo
Fórum Script Brasil
  • 0

[resolvido] Relatório, Reportbuilder


Guest --felipe --

Pergunta

Guest --felipe --

preciso saber como faço pra listar em um relatório

uma tabela (HEADPCB) com primary key composta

campos primarios: HEAD, IDPCB (relacionado com IDPCB da tabela PCB)

para cada idpcb tem 3 head(1,2,3).. por isso são 2 campos primarios

no relatorio eu quero que liste os campos da tabela PCB, e da tabela HEADPCB (as 3 linhas)

valeu =D

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
Guest --Jonas --
preciso saber como faço pra listar em um relatório

uma tabela (HEADPCB) com primary key composta

campos primarios: HEAD, IDPCB (relacionado com IDPCB da tabela PCB)

para cada idpcb tem 3 head(1,2,3).. por isso são 2 campos primarios

no relatorio eu quero que liste os campos da tabela PCB, e da tabela HEADPCB (as 3 linhas)

valeu =D

Use uma banda group header para a tabela PCB e uma banda de detalhe para a tabela HEADPCB e em

QRGroup1 (Expression) coloque o campo da tabela ou query que será o controle.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Jonas --
em QRGroup1 (Expression) coloque o campo da tabela ou query que será o controle.

não entendi essa parte

voce disse ....para cada idpcb tem 3 head(1,2,3)..

então o campo idpcb fica no group header e os 3 head vão aparecer na banda de detalhe ... neste caso o controle é o campo idpcb ou seja, clique na banda group header, tecle F11, apareçe o object inspector, em properties na clausula < Expression >

voce da 2 cliques e ele vai mostrar a query que voce jogou dentro do QRP com os campos da sua tabela, então você seleciona o campo idpcb como controle... ok ?

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --felipe --
clique na banda group header, tecle F11, apareçe o object inspector, em properties na clausula < Expression >

.....

não aparece a propriedade Expression, deve ser porque uso a versão demo

mas mesmo assim deu certo

meu problema é que alem da tabela Head

eu tenho a tabela Feeder, que é relacionada a PCB também

e essa tabela tambem precisa ser listada no relatorio

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --felipe --
tem como botar 2 selects em um só SQL???

acho que isso resolveria o meu problema

to a manhã inteira tentando e não do jeito :S

ou então juntar 2 ppViewer em um só????

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --felipe --
em QRGroup1 (Expression) coloque o campo da tabela ou query que será o controle.

não entendi essa parte

Felipe, talvez seja porque QRGroup e expression existem no QuickReport e não no Report Builder ao qual se refere sua questão.

aah claro ;P

veja se consegue me tirar essa duvida:

preciso gerar um relatorio que liste as caracteristicas da placa (tabela PCB); Cada placa possui obrigatoriamente 3 heads (tabela HEADPCB, os campos IDPCB e HEAD -check 1,2,3- são primarios); Cada placa possui um determinado numero de feeders, de acordo com a quantidade de componentes montados.

depois de testar e tentar varias coisas cheguei a seguinte conclusão:

se eu uso esse SQL (para listar apenas as tabelas PCB e HEADPCB), o relatorio fica certo(mas os feeders não são listados é claro):

s:=s +'select pcb.*, maquina.data, headpcb.*'+
       ' from pcb, maquina, headpcb' +
       ' where pcb.idmaq=maquina.idmaq';
  if (Trim(Edit1.Text)<>'') then
    s:=s + ' and pcb.idpcb=' + Trim(Edit1.Text);
  s:=s+' and pcb.idpcb=headpcb.idpcb'+
           ' order by nome,head'
  dm.auxQuery.close;
  dm.auxQuery.SQL.Clear;
  dm.auxQuery.sql.Add(s);
  dm.auxQuery.open;
se eu uso esse SQL (para listar apenas as tabelas PCB e FEEDERPCB), também da certo(heads não listados):
s:=s +'select pcb.*, maquina.data, feederpcb.*'+
       ' from pcb, maquina, feederpcb' +
       ' where pcb.idmaq=maquina.idmaq';
  if (Trim(Edit1.Text)<>'') then
    s:=s + ' and pcb.idpcb=' + Trim(Edit1.Text);
  s:=s+' and pcb.idpcb=feederpcb.idpcb'+
       ' order by nome,feeder'
  dm.auxQuery.close;
  dm.auxQuery.SQL.Clear;
  dm.auxQuery.sql.Add(s);
  dm.auxQuery.open;
mas se eu junto os dois(é o que eu preciso) assim:
s:=s +'select pcb.*, maquina.data, headpcb.*, feederpcb.*'+
       ' from pcb, maquina, headpcb, feederpcb' +
       ' where pcb.idmaq=maquina.idmaq';
  if (Trim(Edit1.Text)<>'') then
    s:=s + ' and pcb.idpcb=' + Trim(Edit1.Text);
  s:=s+' and pcb.idpcb=feederpcb.idpcb'+
           'and pcb.idpcb=headpcb.idpcb'+
       ' order by nome,head,feeder'
  dm.auxQuery.close;
  dm.auxQuery.SQL.Clear;
  dm.auxQuery.sql.Add(s);
  dm.auxQuery.open;

os heads listam corretamente, mas os feeders listam todos iguais

resolvi aplicas o SQL diretamente no banco de dados

e vi que ele lista os feeders 3 vezes (talvez por terem 3 heads, apesar de as duas tabelas não terem nenhuma ligaçao)

alguma sugestão???

valeu!

Link para o comentário
Compartilhar em outros sites

  • 0
alguma sugestão???

valeu!

felipe, sem conhecer a estrutura e relacionamento das tabelas está difícil. Tem como você colocar estas informações aqui? Seja como imagem ou digitado mesmo (pelo menos os campos principais de relacionamentos).

Aparentemente, está faltando mais alguma ligação da tabela Feeders com as demais. Isto faz com que o relacionamento atual (que você colocou no SQL) satisfaça a todas as condições (para todos os headers) e, então, sejam repetidas.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --felipe --
sem conhecer a estrutura e relacionamento das tabelas está difícil. Tem como você colocar estas informações aqui? Seja como imagem ou digitado mesmo (pelo menos os campos principais de relacionamentos).

Aparentemente, está faltando mais alguma ligação da tabela Feeders com as demais. Isto faz com que o relacionamento atual (que você colocou no SQL) satisfaça a todas as condições (para todos os headers) e, então, sejam repetidas.

a unica relaçao que tem é essa (IDPCB).

já resolvi o problema

apenas mudei de gerador de relatorio

e usei o que veio junto com o DELPHI

Rave Reports

obrigado pela atençao!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...