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

filtro


cimplessistemahoteleiro

Pergunta

Boa tarde

 

So novato no fórum, estou precisando gerar um relatório dinâmico, e não estou conseguindo fazer, alguém pode me ajudar??

preciso do seguinte

filtro por intervalo de datas, e por cidade, depois do filtro realizado preciso filtrar novamente por bairro, so que o bairro eu preciso filtrar dinâmico, por exemplo

bairro A

ou Bairro A e B

ou Bairro A ,B e C

 

alguém pode me ajudar??

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

filtro por intervalo de datas, e por cidade, depois do filtro realizado preciso filtrar novamente por bairro, so que o bairro eu preciso filtrar dinâmico

exemplo de select usando parametros ( datas inicial e final e a cidade )

Select * from Tabela where data >= :dataini and data <= :datafin and cidade = :cid

 

agora incluindo um bairro

Select * from Tabela where data >= :dataini and data <= :datafin and cidade = :cid and bairro = :bair

 

agora incluindo mais de um bairro

Select * from Tabela where data >= :dataini and data <= :datafin and cidade = :cid and (bairro = :bair or bairro = :bair1)

voce deve passar por parametros ( dataini, datafin, cid, bar e bar1 ) a informação para a instrução Select

 

OBS: voce sabe montar a select no componente ZQuery ? 

os dados que aparecerem no DBgrid, são os mesmos que voce pode jogar dentro do Quick Report

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Não sei mostra não

os dados que estão no dbgrid vai para quick Report

 

este ultimo select eu coloco no botão de pesquisa

 

exemplo

 

uma edit com data inicio outra com data final

e mais 3 edit

para eu escolher bairro 1, bairro2, bairro3

se um ficar vazio  não pode dar erro

Link para o comentário
Compartilhar em outros sites

  • 0

Tentei montar assim no botão de filtro

Mas não retornou nada

o que pode esta errado

 

var
   D1,D2 : TDateTime;
      D3,D4,D5 :string;
begin
   D1 := edt2.Date;
    D2 := edt3.Date;
      D3 :=CBB1.Text;
       D4 :=edt1.Text;
        D5 :=edt4.Text;

   With ztbl1 do
   begin
     Close;
         SQL.Text := 'Select * from tbpagar where datavencimento >= :D1 and datavencimento <= :D2 and Tipopgto = :D3 and (responsavel = :D4 or responsavel = :D5)' ;
     Params.ParamByName('D1').Value := D1;
     Params.ParamByName('D2').Value := D2;
      Params.ParamByName('D3').Value := D3;
        Params.ParamByName('D4').Value := D4;
          Params.ParamByName('D5').Value := D5;

     ExecSQL;
     Open;
end;

Link para o comentário
Compartilhar em outros sites

  • 0

Devo supor que voce fez a conexão com o banco de dados usando o componente para acesso ao MYSQL com o componente ZConnection1 e fez certo todas as configurações .. ok ?

para as tabelas use os componentes:  ZQuery, DataSetProvider, ClientDataSet e DataSource  ( os 3 ultimos da paleta  Data Access )

mesmo que voce tenha usando apenas o componente ZQuery, voce deve liga-lo ao componente DataSource para obter o resultado da pesquisa em um DBGrid e posteriormente em um Quick Report

no código faça as correções:

procedure TForm1.Button1Click(Sender: TObject);
var
   D1,D2 : TDate;
   D3,D4,D5 :string;
begin
   D1 := strtodate(edit2.Text);
   D2 := strtodate(edit3.Text);
   D3 := CBB1.Text;
   D4 := edit1.Text;
   D5 := edit4.Text;

   With ZQuery1 do
   begin
     Close;
     SQL.Clear;
     SQL.Add('Select * from tbpagar where datavencimento >= :D1 and datavencimento <= :D2 and Tipopgto = :D3 and (responsavel = :D4 or responsavel = :D5)');
     Params.ParamByName('D1').AsDate := D1;
     Params.ParamByName('D2').AsDate := D2;
     Params.ParamByName('D3').Value := D3;
     Params.ParamByName('D4').Value := D4;
     Params.ParamByName('D5').Value := D5;

     ExecSQL;
     Open;
   end;

end;

 

OBS: Na passagem de parametros, atente para o tipos usados nos campos da sua tabela

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,3k
    • Posts
      652,3k
×
×
  • Criar Novo...