Filtro Dados
Estou com uma dúvida seguinte tenho uma tabela chamada MATERIAL e quero fazer um filtro da seguinte forma tenho 2 Edit's 1 com código e outro com Status, ou seja no segundo Edit o status sempre vai ser P( Pendente). Por exemplo quero filtrar todos os códigos igual a 2 que estão com o Status 2.
Obs: Estou usando o componente IBQUERY
Obs: Estou usando o componente IBQUERY
Sidimar Cunha
Curtidas 0
Respostas
Luiz Menin
30/11/2012
Você pretende fazer uma nova consulta SQL ou filtrar em memória?
GOSTEI 0
Deivison Melo
30/11/2012
Com seus componentes dataset´s devidamente ligados, tenta o código abaixo:
with ibQuery do
begin
Close;
strSQL:='';
strSQL:='select codigo, status '+
' from material '+
' where codigo = :codigo '+
' and status = :status ';
ibQuery.SQL.Text:=strSQL;
ibQuery.ParamByName('codigo').AsInteger:=Trim(edtCodigo.Text);
ibQuery.ParamByName('status').AsString:=Trim(edtStatus.Text);
Open;
end;
with ibQuery do
begin
Close;
strSQL:='';
strSQL:='select codigo, status '+
' from material '+
' where codigo = :codigo '+
' and status = :status ';
ibQuery.SQL.Text:=strSQL;
ibQuery.ParamByName('codigo').AsInteger:=Trim(edtCodigo.Text);
ibQuery.ParamByName('status').AsString:=Trim(edtStatus.Text);
Open;
end;
GOSTEI 0
Sidimar Cunha
30/11/2012
Você pretende fazer uma nova consulta SQL ou filtrar em memória?
Luiz pretendo fazer uma consulta filtrando conforme citado e apresetar os dados em um DBGRID
GOSTEI 0
Sidimar Cunha
30/11/2012
Você pretende fazer uma nova consulta SQL ou filtrar em memória?
Luiz pretendo fazer uma consulta filtrando conforme citado e apresetar os dados em um DBGRID. também tenho outros campos que devem ser visualizados no DBGrid, porém estes 2 eu usária apenas para fazer a consulta
GOSTEI 0
Roney Melo
30/11/2012
tambem da para fazer assim:
Declare uma vareável qualquer do tipo String na seção private por exemplo SQLPadrao.
coloque dentro da propriedade SQL do componente IBQuery a seguinte instrução:
select codigo, status
from material
no Evento OnCreate do Form faça:
SQLPadrao := IBQuery.SQL.Text;
depois no click de um botão por exemplo vc coloca:
if (edtCodigo.Text <> EmptStr) and (edtStatus.Text <> EmptStr) then
begin
IBQuery.Close;
IBQuery.SQL.Text := SQLPadrao
+' where codigo = '+Trim(edtCodigo.Text)
+' and status = '+QuotedStr(Trim(edtStatus.Text));
IBQuery.Open;
end;
Declare uma vareável qualquer do tipo String na seção private por exemplo SQLPadrao.
coloque dentro da propriedade SQL do componente IBQuery a seguinte instrução:
select codigo, status
from material
no Evento OnCreate do Form faça:
SQLPadrao := IBQuery.SQL.Text;
depois no click de um botão por exemplo vc coloca:
if (edtCodigo.Text <> EmptStr) and (edtStatus.Text <> EmptStr) then
begin
IBQuery.Close;
IBQuery.SQL.Text := SQLPadrao
+' where codigo = '+Trim(edtCodigo.Text)
+' and status = '+QuotedStr(Trim(edtStatus.Text));
IBQuery.Open;
end;
GOSTEI 0