Fórum Filtro Dados #430132

30/11/2012

0

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
Sidimar Cunha

Sidimar Cunha

Responder

Posts

30/11/2012

Luiz Menin

Você pretende fazer uma nova consulta SQL ou filtrar em memória?
Responder

Gostei + 0

30/11/2012

Deivison Melo

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;
Responder

Gostei + 0

30/11/2012

Sidimar Cunha

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
Responder

Gostei + 0

30/11/2012

Sidimar Cunha

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
Responder

Gostei + 0

30/11/2012

Roney Melo

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;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar