Fórum Pesquisa com dois filtros dbgrid com Delphi e firebird #608837
28/03/2020
0
Estou usando Firebird com TIBQuery. Estou usando o código abaixo mais eu não sei como incluir os filtros combobox na pesquisa sql.
procedure TfrmPesqIpasgo.btnLocalizarClick(Sender: TObject);
begin
with dm.ibIpasgo do
case rdPesqLocador.ItemIndex of
0 :Begin
close;
sql.Clear;
sql.Add(''''select * from ipasgo'''');
SQL.Add(''''where upper(CODIGOIPASGO) like upper(''''+ QuotedStr(''''%'''' + edtpesquisa.Text + ''''%''''));
sql.Add('''')'''');
sql.Add(''''order by upper(CODIGOIPASGO)'''');
open;
end;
1 :Begin
close;
sql.Clear;
sql.Add(''''select * from ipasgo'''');
sql.Add(''''where upper(descricao) like upper(''''+ QuotedStr(''''%'''' + edtpesquisa.Text + ''''%''''));
sql.Add('''')'''');
sql.Add(''''order by upper(descricao)'''');
open;
end;
end;
dm.ibIpasgo.Open;
if dm.ibIpasgo.IsEmpty then
ShowMessage(''''Nenhum registro encontrado não encontrado!'''');
End;
Vandeir
Curtir tópico
+ 0Posts
30/03/2020
Emerson Nascimento
procedure TfrmPesqIpasgo.btnLocalizarClick(Sender: TObject);
var
sFiltro: string;
sOrdem: string;
begin
sFiltro := '';
sOrdem := '';
case rdPesqLocador.ItemIndex of
0: begin
sFiltro := 'upper(CODIGOIPASGO) like '+ QuotedStr('%' + upper(edtpesquisa.Text) + '%');
sOrdem := 'upper(CODIGOIPASGO)';
end;
1: begin
sFiltro := 'upper(descricao) like '+ QuotedStr('%' + upper(edtpesquisa.Text) + '%');
sOrdem := 'upper(descricao)';
end;
end;
with dm.ibIpasgo do
begin
close;
SQL.Clear;
SQL.Add('select * from ipasgo');
SQL.Add('where '+sFiltro);
SQL.Add('order by '+sOrdem);
open;
end;
end;Gostei + 0
30/03/2020
Emerson Nascimento
procedure TfrmPesqIpasgo.btnLocalizarClick(Sender: TObject);
var
sFiltro: string;
sOrdem: string;
begin
sFiltro := '';
sOrdem := '';
case rdPesqLocador.ItemIndex of
0: begin
sFiltro := 'upper(CODIGOIPASGO) like '+ QuotedStr('%' + uppercase(edtpesquisa.Text) + '%'); // uppercase() ou ansiuppercase()
sOrdem := 'upper(CODIGOIPASGO)';
end;
1: begin
sFiltro := 'upper(descricao) like '+ QuotedStr('%' + uppercase(edtpesquisa.Text) + '%'); // uppercase() ou ansiuppercase()
sOrdem := 'upper(descricao)';
end;
end;
with dm.ibIpasgo do
begin
close;
SQL.Clear;
SQL.Add('select * from ipasgo');
SQL.Add('where '+sFiltro);
SQL.Add('order by '+sOrdem);
open;
end;
end;Gostei + 0
30/03/2020
Vandeir
TABELA VERSAO:
ID_VERSAO (chave primária)
DATA_VERSAO
TABELA IPASGO:
ID (chave primária)
ID_VERSAO ( FK - relacionamento) (Esse campo no formulário pesquisa eu precisava colocar um filtro na combobox)
CODIGO_MAT_MED
DESCRIÇÃO
TIPO (Aqui separa os dados por MAT ou MED - Onde precisava colocar um dos filtros no combobox do formulário de pesquisa)
VALOR
Então no código que vc me passou eu precisa incluir um filtro com a data de atualização, para que eu selecione a data, ue pesquisa apenas os registros referente a essa atualização, e dentro da tabela é divido em MAT e MED, ae precisa do segundo combobox para filtrar ou só mat ou só med, conforme necessidade do usuário.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)