Los filtros no aceptan like ni aproximaciones, eso lo tienes que hacer mediante SQL.
O por el contrario utilizar el evento OnFilterRecord del TTable.
Aquí tienes un ejemplo, utilizando la tabla Customers del Alias DbDemos de Delphi.
Necesitas un TTable conectado a dicho alias y a la tabla Customers y un Edit en donde escribiras la cadena a filtrar.
procedure TForm1.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
sp, ss: ShortString;
begin
with DataSet do
begin
//En el Tedit escribimos la cadena a filtrar
sp :=AnsiUpperCase(EdMifiltro.Text);
ss := AnsiUpperCase(FieldByName('Country').asString);
Accept := POS(SP,SS)>0 ;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Table1.Filtered:=True;
end;
Un Saludo.
|