Yo lo hago asi
voy buscando con el locate los campos que quiera y si necesito mas campos simplemente agrego las lineas con el codigo y los campos adicionales
Código Delphi
[-]procedure TfrmCatalogoAnexo.edtSearchChange(Sender: TObject);
var _Position :TBookmarkStr;
begin
if qryAnexos.Locate('Codigo', edtSearch.Text, [loPartialKey]) then
Begin
_position := qryAnexos.Bookmark;
qryAnexos.Sort := 'Codigo';
qryAnexos.Bookmark := _position;
dbgAnexo.Show;
End;
if qryAnexos.Locate('Ruc', edtSearch.Text, [loPartialKey]) then
Begin
_position := qryAnexos.Bookmark;
qryAnexos.Sort := 'Ruc';
qryAnexos.Bookmark := _position;
dbgAnexo.show;
End;
If qryAnexos.Locate('RazonSocial', edtSearch.Text, [loPartialKey]) then
Begin
_position := qryAnexos.Bookmark;
qryAnexos.Sort := 'RazonSocial';
qryAnexos.Bookmark := _position;
dbgAnexo.show;
End;
end;