Ver Mensaje Individual
  #8  
Antiguo 15-05-2005
Avatar de vtdeleon
vtdeleon vtdeleon is offline
Miembro
 
Registrado: abr 2004
Ubicación: RD & USA
Posts: 3.236
Reputación: 26
vtdeleon Va por buen camino
Lightbulb Solucionado

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;//Edit
     Codigo:='';//DECLARADA PRIVATE
     cadena:=TStringList.Create;//DECLARADA PRIVATE
       Query1.Close;
       with Query1.SQL do begin
         Clear;
         Add('select Codemp, Nombre, apellidos');//+column );
         Add('from empleados');//+tabla);
       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;{ else key:=  #0;}
   end;

Hasta Luego
__________________
Van Troi De León
(Not) Guía, Code vB:=Delphi-SQL, ¿Cómo?
Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto!

Última edición por vtdeleon fecha: 19-05-2005 a las 22:24:05. Razón: Aclarar un poco & corregir
Responder Con Cita