Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

natiii

[Resolvido] Imprimir vários relatórios

Recommended Posts

Olá amigos!

 

Minha dúvida de hoje é a seguinte:

 

Fiz um form em que o usuário pode digitar a faixa de cdc, data de vencimento e rotas que deseja gerar relatórios..

Ou seja:

 

fica:

De CDC __________ a ____________

De data de vencimento ________________ a ________________

Intervalo de Rotas: ________________ a _________________

e abaixo apareceria os registros em um DBGRID, a partir daí era só clicar no botão imprimir que todos esses relatorios seriam impressos

Primeiramente, não sei se é dessa forma, fiz o filtro, para mostrar os registros no DBGRID,ficou dessa maneira:

 

with AdoQueryImprimirOS do  begin	filter:= 'CDC= ' + EditImpCDC.Text + 'and CDC= ' + EditImpCDC2.Text + 'and DataVencimento= ' + EditDataVencOS.Text + 'and DataVencimento= ' + EditDataVencOS2.Text + 'and Rota= ' + EditRota1.Text + 'and Rota= ' + EditRota2.Text;	If not filtered then	filtered:= true;	end;end;

Sei que está errado, pois os campos estão em conflito, como faço para filtrar dentro de uma faixa de valores?

 

Alguém pode me dar uma luz?

 

[]'s

 

Natiii http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente usando o >= e <=

 

with AdoQueryImprimirOS do	begin	filter:='CDC>= ' + EditImpCDC.Text + 'and CDC<= ' + EditImpCDC2.Text + 'and DataVencimento>= ' + EditDataVencOS.Text + 'and DataVencimento<= ' + EditDataVencOS2.Text + 'and Rota>= ' + EditRota1.Text + 'and Rota<= ' + EditRota2.Text;	If not filtered then		filtered:= true;	end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu erro: Os argumento estão incorretos ou estão fora do intervalo válido ou em conflito...mesmo com as mudanças está dando o mesmo erro...Não sei o que pode ser...[]'s Natiii

Compartilhar este post


Link para o post
Compartilhar em outros sites

Teria como colocar o comando SQL que usa na Query ?

Somente precisa fazer:

AdoQueryImprimirOS.Close;AdoQueryImprimirOS.SQL.Clear;AdoQueryImprimirOS.SQL.Add('select *');AdoQueryImprimirOS.SQL.Add('from tabela');AdoQueryImprimirOS.SQL.Add('where CDC between ' + EditImpCDC.Text + ' and ' + EditImpCDC2.Text);AdoQueryImprimirOS.SQL.Add('and DataVencimento between ''' + EditDataVencOS.Text + ''' and ''' + EditDataVencOS2.Text + '''');AdoQueryImprimirOS.SQL.Add('and Rota between ' + EditRota1.Text + ' and ' + EditRota2.Text);AdoQueryImprimirOS.Open;
O erro anterior pode ter acontecido por falta de espaço entre as restrições, algo como:

 

with AdoQueryImprimirOS do	begin	filter:='CDC>= ' + EditImpCDC.Text + ' and CDC<= ' + EditImpCDC2.Text + ' and DataVencimento>= ' + EditDataVencOS.Text + ' and DataVencimento<= ' + EditDataVencOS2.Text + ' and Rota>= ' + EditRota1.Text + ' and Rota<= ' + EditRota2.Text;	If not filtered then		filtered:= true;	end;
Os comandos and estavam ficando colados a restrição...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia amigos, a etapa de filtro dos dados e mostrá-los no DBGrid consegui...

Ficou da seguinte forma:

AdoQueryFiltroOS.Close;
  AdoQueryFiltroOS.SQL.Clear;
  AdoQueryFiltroOS.SQL.Add('Select Numero, CDC, Rota, Competencia, DataVencimento, Valor');
  AdoQueryFiltroOS.SQL.Add('from Faturas');
  AdoQueryFiltroOS.SQL.Add('where CDC between :CDC and :CDC2');
  AdoQueryFiltroOS.SQL.Add('and DataVencimento between :VENCTO1 and :VENCTO2');
  AdoQueryFiltroOS.SQL.Add('and Rota between :Rota1 and :Rota2');
  AdoQueryFiltroOS.SQL.Add('and Status <> :STATUS');
  AdoQueryFiltroOS.Parameters.paramByName('CDC').value:= EditImpCDC.Text;
  AdoQueryFiltroOS.Parameters.paramByName('CDC2').value:= EditImpCDC2.Text;
  AdoQueryFiltroOS.Parameters.paramByName('VENCTO1').Value:= strToDate(EditDataVencOS.Text);
  AdoQueryFiltroOS.Parameters.paramByName('VENCTO2').Value:= strToDate(EditDataVencOS2.Text);
  AdoQueryFiltroOS.Parameters.paramByName('Rota1').Value:= EditRota1.Text;
  AdoQueryFiltroOS.Parameters.paramByName('Rota2').Value:= EditRota2.Text;
  AdoQueryFiltroOS.Parameters.ParamByName('STATUS').Value:= 'PG';
  AdoQueryFiltroOS.Open;

Coloquei esses dados não só no Código Delphi cmo no código do AdoQueryFiltro também..Senão não apareceria no DBGrid..

 

O que quero saber agora é como faço para jogar os valores desses filtros em um relatório quick report...

Pois coloquei: De CDC: ________________ a CDC ___________________-

de Data de vencimento _________________ a Data de vencimento _______________________

de Rota __________ a ______________

 

eu quero que cada linha do DBGrid seja gerado um relatorio...

tem como fazer isso com Quick Report?

 

Ah, e muito obrigada pela ajuda, serviu muito! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Natiii

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos...

Consegui gerar vários relatórios com o seguinte código

 

AdoQueryFiltroOS.Close;
  AdoQueryFiltroOS.SQL.Clear;
  AdoQueryFiltroOS.SQL.Add('Select Numero, CDC, Rota, Competencia, DataVencimento, Valor');
  AdoQueryFiltroOS.SQL.Add('from Faturas');
  AdoQueryFiltroOS.SQL.Add('where CDC between :CDC and :CDC2');
  AdoQueryFiltroOS.SQL.Add('and DataVencimento between :VENCTO1 and :VENCTO2');
  AdoQueryFiltroOS.SQL.Add('and Rota between :Rota1 and :Rota2');
  AdoQueryFiltroOS.SQL.Add('and Status <> :STATUS');
  AdoQueryFiltroOS.Parameters.paramByName('CDC').value:= EditImpCDC.Text;
  AdoQueryFiltroOS.Parameters.paramByName('CDC2').value:= EditImpCDC2.Text;
  AdoQueryFiltroOS.Parameters.paramByName('VENCTO1').Value:= strToDate(EditDataVencOS.Text);
  AdoQueryFiltroOS.Parameters.paramByName('VENCTO2').Value:= strToDate(EditDataVencOS2.Text);
  AdoQueryFiltroOS.Parameters.paramByName('Rota1').Value:= EditRota1.Text;
  AdoQueryFiltroOS.Parameters.paramByName('Rota2').Value:= EditRota2.Text;
  AdoQueryFiltroOS.Parameters.ParamByName('STATUS').Value:= 'PG';
  AdoQueryFiltroOS.Open;

 while not ADOQueryFiltroOS.Eof do
  begin
  FormRelatorioOS.QuickRepOS.Preview;
  AdoQueryFiltroOS.Next;
  end;
   
end;

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Natiii

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.