Ver Mensaje Individual
  #9  
Antiguo 13-11-2014
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Reputación: 13
engranaje Va por buen camino
Yo estas cosas suelo hacerlas asi:
Código Delphi [-]
var 
  bOtraCondicion:=boolean;
begin
  bOtraCondicion:=false; 
  with ADOQuery do  
  begin    
    Close;    
    SQL.Clear;    
    SQL.Add('SELECT APELLIDO, NOMBRE, DNI FROM CLIENTES');
 
    if ( (Edit1.Text <>'') and  (Edit2.Text <>'') (Edit3.Text <>'') ) then
    begin
      SQL.Add('WHERE');
   
      if  Edit1.Text <>'' then   
      begin
        SQL.Add('APELLIDO LIKE :PAPE ');
        bOtraCondicion:= true;        
        Parameters.ParamByName('PAPE').Value:= '%'+Edit1.Text+'%'; 
      end;
   
      if  Edit2.Text <>'' then   
      begin 
        if bOtraCondicion then
          SQL.Add('AND');     
        SQL.Add('NOMBRE LIKE :PNOM');     
        bOtraCondicion:= true;   
        Parameters.ParamByName('PNOM').Value:= '%'+Edit2.Text+'%';    
      end;
      
      if  Edit3.Text <>'' then   
      begin
        if bOtraCondicion then
          SQL.Add('AND');          
        SQL.Add('DNI LIKE :PDNI');   
        Parameters.ParamByName('PDNI').Value:= '%'+Edit3.Text+'%'; 
      end;
    end;
    Open;
  end;
end;
Responder Con Cita