Hola.
Creo que te va a resultar mas simple utilizar el evento
OnSetText del
TField en cuestíón:
Código Delphi
[-]
...
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
...
private
procedure CampoSetText(Sender: TField; const Text: String);
public
end;
...
implementation
procedure TForm1.FormCreate(Sender: TObject);
begin
...
IBDataSet1.FieldByName('CAMPO_BUSQUEDA').OnSetText:= CampoSetText;
end;
...
procedure TForm1.CampoSetText(Sender: TField; const Text: String);
begin
if not IBDataSet1.Locate('CAMPO_BUSQUEDA', Text, []) then
Abort;
end;
Para dar mayor claridad, en el ejemplo asigno el evento en tiempo de ejecución; pero si tenes creados los campos persistentes lo podes hacer en diseño desde el
Object Inspector.
Saludos.