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

Relatorio por Group


Pirambu!

Pergunta

Estou elaborando um relatorio de Produto. e pra cada produto eu tenho as pecas e algumas peças eu tenho as sub peças,

usando codigo SQL. eu consiguir montar o relatorio, eu usei 3 "QRGroup" o exemplo

Produto

peça A - QRGroup1

Peça B

Peça B1 - QRGroup2

Peça B1.1 - Detalhe

Peça B1.2 - Detalhe

Peça B1.3 - Detalhe

Peca B2

Peca C

O Problema e quando no QRGroup não sub-peca fica um espaço enorme, queria saber se tem como eu ocultar o "QRGroup" quando o valor for Null?

fica Assim

Produto

peça A - QRGroup1

-

-

-

-

Peça B

Peça B1 - QRGroup2

Peça B1.1 - Detalhe

Peça B1.2 - Detalhe

Peça B1.3 - Detalhe

Peca B2

-

Peca C

Alguém sabe como posso resolver este problema?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Basta desabilitar o grupo

QuickReport1.QRGroup1.Enabled := FALSE;

Jhonas, Como eu posso usar esse código, pois estou listando as peças através de uma "AdoQuery"

e para abrir o relatório estou fazendo assim:

Querypecas.close;
Querypecas.parameters[0].value:= Form1.dbedit1.text;
Querypecas.open;

Onde eu colocaria esse Código?

Link para o comentário
Compartilhar em outros sites

  • 0
Onde eu colocaria esse Código?

Na verdade voce pode colocar isto em postos chaves do report

exemplo: No evento BeforePrint do report

procedure QuickReport1.QuickRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin

    //if  especifique a condição then  // se não existir valor, desabilitar o grupo 

          QuickReport1.QRGroup1.Enabled := FALSE;
   
end;
voce tambem pode colocar num campo do QRGroup exemplo: quando no QRGroup não tem sub-peca , voce pode usar um dos campos que estão nele e colocar um condição no evento OnPrint do componente
procedure QuickReport1.QRDBText1Print(sender: TObject; var Value: String);
begin

    //if  especifique a condição then   // se não existir valor, desabilitar o grupo 

          QuickReport1.QRGroup1.Enabled := FALSE;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

procedure TRel_ListaPecas.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
   if Query1peca1.Value = '' then
        begin
        QuickRep1.QRGroup1.Enabled := FALSE;
        end;
end;

Jhonas, não sei onde estou errando, não estar compilando estar identificando "QuickRep1.QRGroup1.Enabled := FALSE;"

o "QrGroup1" estar grifado como não declarado, como se faltasse uma Uses,

Link para o comentário
Compartilhar em outros sites

  • 0

Descupe a demora, mas tinha outros assuntos para resolver.

procedure TRel_ListaPecas.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
   if Query1peca1.Value = '' then
        begin
        QuickRep1.QRGroup1.Enabled := FALSE;
        end;
end;

Neste caso não funcionaria .. pois no evento BeforePrint não será feito um teste registro a registro na query, o ideal é colocar o teste no proprio grupo.

não sei onde estou errando, não estar compilando estar identificando "QuickRep1.QRGroup1.Enabled := FALSE;"

o "QrGroup1" estar grifado como não declarado, como se faltasse uma Uses,

isso porque voce não utilizou um componente QRGroup e sim um QRBand

abraço

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...