Для Firebird\Interbase делаю так:
Код:
procedure TForm1.QFilterRecord(DataSet: TDataSet; var Accept: Boolean);
begin
Accept:=(Q.FieldByName('SPEC').AsString='строка');
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Q.Filtered:=True;
end;
Q - это IBQuery.
Для локальной БД раньше делал так:
Код:
procedure TForm1.Edit1Change(Sender: TObject);
begin
eQuery.Filter:='Icrtf_sht_num = '''+Ed_Pak.Text+'*''';
eQuery.Filtered:=True;
end;
Для IBQuery такая обработка почему-то не подходит и записи он не фильтрирует ... а нужно чтобы он это делал по принципу аналогичному как для локальной БД