Hola.
Tal como dice Neftali el tema pasa por capturar un evento para buscar y filtrar el resultado.
Podrías usar el evento
OnSetText del campo asociado, y realizar allí los pasos pertinentes.
Con un TTable:
Código:
{ TTABLE: Usando DBDEMOS, customer.db }
procedure TForm1.Table1StateSetText(Sender: TField; const Text: String);
begin
with Table1 do
begin
DisableControls;
Filter:=Format('[%s] %s %s', ['State', '=', QuotedStr(Text)]);
Filtered:= True;
EnableControls;
Append;
end;
end;
Con un TIBTable:
Código:
{ TIBTABLE: Usando EMPLOYEE.GBD, CUSTOMER}
procedure TForm1.IBTable1COUNTRYSetText(Sender: TField;
const Text: String);
begin
with IBTable1 do
begin
DisableControls;
Filter:= Format('%s %s %s',['COUNTRY', '=' ,QuotedStr(Text)]);
Filtered:= True;
EnableControls;
Append;
end;
end;
Con algunas modificaciones no veo problema para que funcione con un IBDataSet.
Faltarían asimismo ajustar OnKeyPress del DBGrid (mayúsculas o minúsculas) y algún detalle más que puedas encontrar.
Saludos.