Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Фильтрация в IBQuery


Автор: EvoEvo 16.4.2008, 02:08
Здравствуйте!
Пишу вот такой код обработки нажатия кнопки:
Код

procedure TFormClients.Button3Click(Sender: TObject);
begin
IBQuery1.Filter:='F_NAME='''+Edit1.Text+'*';
IBQUERY1.Filtered:=True;
FormClients.IBQuery1.Close;
 FormClients.IBQuery1.Open;
end;


но фильтрации не происходит. Может кто подскажет в чем тут дело?

Автор: Savek 16.4.2008, 08:09
Код

procedure TFormClients.Button3Click(Sender: TObject);
begin

IBQUERY1.Filtered:=false;
IBQuery1.Filter:='F_NAME='+QuotedStr(Edit1.Text+'*'); //здесь у тебя нехватало апострофа, используй 
//quotedstr чтобы не заморачиваться с ними. Возможно вместо * нужен %
IBQUERY1.Filtered:=True;
//FormClients.IBQuery1.Close;  это лишнее
//FormClients.IBQuery1.Open;  и это тоже
end;

сразу забыл напомнить, запрос должен быть уже открыт

Автор: VitalianoK 25.4.2008, 16:59
Здравствуйте почти аналогичній вопрос только использую ADO 

Код

begin

ADOQuery1.Filtered:=false;
ADOQuery1.Filter:='KODTov='+QuotedStr(Edit1.Text+'*');
ADOQuery1.Filtered:=True;

end;


В чем загвоздка не пойму даже если Filtered пишу KODTov='10*' все из ADOQuery1 пропадает, а в BDE все работает

Автор: VitalianoK 25.4.2008, 17:24
Здравствуйте!
Delphi 6, Aсcess, ADO
Похожая ситуация только в ADO


Код

procedure TFormClients.Button3Click(Sender: TObject);
begin

ADOQUERY1.Filtered:=false;
ADOQuery1.Filter:=KODTov='+QuotedStr(Edit1.Text+'*');
ADOQUERY1.Filtered:=True;
 end;




но все записи исчезают и все. Может кто подскажет в чем тут дело? 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)