Hola de nuevo, con el Locate no vas a poder hacer la búsqueda que quieres. Y otra función que haga lo que quieres creo que no hay. Lo que se me ocurre es que te hagas tu la función y busques el registro, mas o menos así.
Código Delphi
[-]
var
Campo : String;
Encontrado : Boolean;
Marca : TBookMarkStr;
begin
Encontrado := False;
Try
Marca := Query.Bookmark;
Query.DisableControls;
Query.First;
While Not Query.Eof do
begin
Campo := Query.FieldByName('nombrecampo').AsString;
if AnsiPos(Edit1.Text, Campo)>0 then
begin
Encontrado := True;
break;
end;
Query.Next;
end;
finally
Query.EnableControls;
end;
if Not Encontrado then
Query.Bookmark := Marca;
Saluditos