Saludos.
Creo haber encontrado la solucion. Me he empe~ado un poco en eso hasta conseguirlo

.
Le mostrare el codigo para que el que le interese y para optimizar el mismo

.
Estoy habierto a sugerencias
Este formulario contiene: 1 edit, 1 dbgrid y 1 query
Código Delphi
[-]procedure Tfrmbuscar.FormCreate(Sender: TObject);
begin
vbusca.Clear; Codigo:=''; cadena:=TStringList.Create; Query1.Close;
with Query1.SQL do begin
Clear;
Add('select Codemp, Nombre, apellidos'); Add('from empleados'); end;
Query1.Open;
end;
procedure Tfrmbuscar.vbuscaKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
n:integer;
begin
if (Length(trim(vbusca.Text))>0) then
if key in [VkKeyScanA('A')..VkKeyScan('Z'), VkKeyScanA('0')..VkKeyScan('9'),
VK_BACK, vk_space, vk_delete] then begin
cadena.CommaText:=vbusca.Text;
with Query1 do begin
Close;
if cadena.Count<>nkey then begin
condi:=' (rtrim(nombre) ||'' ''|| rtrim(apellidos)) containing :data'+'0';
for n:= 1 to cadena.Count-1 do begin
condi:=condi +' and (rtrim(nombre) ||'' ''|| rtrim(apellidos)) containing :data'+inttostr(n);
end;
if SQL.Count>2 then
sql.Delete(2);
sql.Insert(2,'where '+condi);
end;
for n:=0 to ParamCount-1 do begin
ParamByName('data'+inttostr(n)).AsString:=cadena[n];
end;
nkey:=n;
if not Prepared then
Prepare;
Open;
end;
end;
end;
Hasta Luego