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

QRComposite


Guest Ademir

Pergunta

Boa Tarde,

talvez vocês possam ajudar. Criei 3 relatórios diferentes utilizando o QuickReports e usei o componente QRComposite para juntar os três relatórios, até ai funcionou corretamente, mas ao terminar o conteúdo do segundo relatório, e ao começar o terceiro, este sai junto com os dados do segundo relatório.

Li em algumas mensagem para ativar a prorpiedade ForceNewPage mas não resolveu nada.

alguém teria alguma idéia de como resolver isso

obrigado

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

moifique o codigo para as suas necessidades ... é só um exemplo

procedure TForm1Report.QRCompositeReport1AddReports(Sender: TObject); 
begin 
   with QRCompositeReport1 do 
   begin 
      reports.Add(Form1.QuickRep1); 
      reports.Add(Form2.QuickRep2); 
      reports.Add(Form3.QuickRep3); 
   end; 
end;
e no botao imprimir do seu form, você coloca: QRCompositeReport1.Preview; ou QRCompositeReport1.Print; e no evento QuickRepEndPage de cada report coloque respectivamente
// primeiro report
procedure TQuickReport1.QuickRepEndPage(Sender: TCustomQuickRep);
begin
   QuickReport1.ForceNewPage;
end;


// segundo repórt
procedure TQuickReport2.QuickRepEndPage(Sender: TCustomQuickRep);
begin
   QuickReport2.ForceNewPage;
end;


// terceiro report
procedure TQuickReport3.QuickRepEndPage(Sender: TCustomQuickRep);
begin
   QuickReport3.ForceNewPage;
end;

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas,

valeu pela dica mas não funcionou, estou utilizando o delphi 5 e não possue essa propriedade (QuickReport2.ForceNewPage;

) para o componente quickreport só possue essa QRtermoenc.NewPage

obriga

Link para o comentário
Compartilhar em outros sites

  • 0

amigo.....só pra completar a ideia do JOnas...

Eu faço assim e funciona legal:

Insira no form:

2 quickrep

Duas Query´s uma para cada Quickrep e aponte o Dataset

Agora monte os dois relatorio...

Agora Insira o componente do Quickreport chamado QRCompositeReport no form

Va na propriedade dele chamada: OnAddReport e insira o codigo:

QRCompositeReport1.Reports.Add(QuickRep1);  // contas a receber
 QRCompositeReport1.Reports.Add(QuickRep2);  // contas a pagar
No Botão de imprimir ao invés de form2.quickrep1.preview coloque assim:
procedure TForm1.Button1Click(Sender: TObject);
begin
form2.Query1.Active:=true;
form2.Query2.Active:=true;
FORM2.QRCompositeReport1.Prepare;
FORM2.QRCompositeReport1.Preview;
end;

Espero que te ajude...

valeu

:D

Link para o comentário
Compartilhar em outros sites

  • 0

Ademir, é este mesmo que você deve utilizar (NewPage), o Jhonas deve apenas ter se confundido, com a propriedade ForceNewPage. Mas o procedimento é basicamente este que ele lhe passou.

Apenas acrescentaria, que se o avanço da página dever ocorrer apenas entre um relatório e outro, o evento mais adequado seria o AfterPrint - que ocorre depois que todo o relatório é impresso, então avançaria a página e iria imprimir o próximo relatório.

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0
valeu pela dica, mas também não funcionou, na passagem do 2º relatório para o 3º ainda fica mostrando na metade da página do 2º relatório
Experimenta o contrário. Nos 2º e 3º relatórios, no BeforePrint e BeforePreview chame o NewPage.

Teste esta situação.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest Visitante

Normalmente, no segundo/terceiro... relatório, eu coloco uma banda com tamanho 1 no início do relatório e no evento BEFOREPRINT desta banda, eu dou um Relatorio.NEWPAGE;

Link para o comentário
Compartilhar em outros sites

  • 0

Olá pessoal,

No caso aqui não está funcionando , pois eu estou utilizando apenas 1 quickreport, existe um FOR q preenche os campos dele, mostrando todos os resultados da "lista" normalmente são encontrados mais de 100 resultados para imprimir, seria inviavel criar quickreps desta maneira:

com isso eu tentei:

QRCompositeReport1.Reports.Add(QuickRep1);(colocando somente estalinha para repetir ao abrir o preview o programa trava)

QuickRep1.NewPage;(quando eu coloco este comando sempre da um erro na memoria),

Adicionar este comando ao final do meu FOR;

e não pegou alguma solução ou opinião???

Se realmente for nescessario por essecomando no evento OnAddReports, como eu posso fazer para chamar esse evento dentro do meu FOR, e conseguir adicionar o comando.

Editado por ricado ferreira
Link para o comentário
Compartilhar em outros sites

  • 0
estou utilizando apenas 1 quickreport, existe um FOR q preenche os campos dele, mostrando todos os resultados da "lista" normalmente são encontrados mais de 100 resultados para imprimir

se voce usar uma banda de detail com os campos necessarios dentro dele, haverá quebra automatica de paginas

nesse caso ( com apenas 1 quickreport ) não é aconselhavel utilizar o QrCompositeReport ... use somente o quickreport

faça uma busca no forum

http://scriptbrasil.com.br/forum/index.php...ite=quickreport

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas para q um mesmo quick report imprima todos os dados da lista , eu teria de usar BDE?? e os componentes QRDBLAbel?

pois meu sistema está todo pronto, usando QRLabels normais , e o select no Banco de Dados é Feito com comando sql .

assim retorna o valor , mais eu não estou sabendo como organizar.

por exemplo no banco de dados as data são armazenada 10/03/2010 mas na impressão ela tem q ter a formatação(10 de março de 2010);

eu não posso converter antes de por no banco pois esse sistema é gerador automatico de documentos , por exemplos a média dele são 100-150 inserções no banco com 1 click(e o sistema foi totalmente reduzido para q essa função de adicionar ocorrece o mais rápido possível.(ele consegue adicionar 350 registros em 3-4 segundos de uma vez) ). e depois é necessário imprimir todos os arquivos gerados, (cabem 2 registro em um página A4. )

eu já tentei por um QuickRep, usando os QRBD, mas não deu certo.

e outra surgio outro problema o qr está adicionando um folhe em branco antes da impressão e como o sistema manda gerar seguidas impressões isso é inviavel(pois puxa o dobro de folhas.)

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu consegui , agora só me falta raciocinar como farei as formatações de texto e mode de exibição de data , valor e outras cosias mais isso é coisa simples , abrigado pela ajuda.

agora só falta descobrir como exibir um foto como fundo de uma prewie mas q não apareça na impressão.....

já tentei os eventos afterPrint e beforePrint.

Link para o comentário
Compartilhar em outros sites

  • 0

Pessoal já tentei tudo deste tópico mesmo assim não estou conseguindo fazer meu 2º relatório sair no lugar certo. Estou usando dois relatórios com duas query destintas, meu segundo relatório se eu colocar uma banda do tipo title ele sai só o título no lugar certo e o resto do relatório sai em cima do 1º o que pode estar acontecendo?:??????

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,5k
×
×
  • Criar Novo...