Ver Mensaje Individual
  #5  
Antiguo 10-09-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Por otra parte, te recomiendo:
  1. Usar SQL.Lines para agregar líneas a una consulta en lugar de concatenar con SQL.Text
  2. Evitar al máximo posible armar las consultas al vuelo
  3. Usar parámetros en la consulta
  4. Simplificar

Por ejemplo, aun cuando no conozco el resto del código, parecería que puedes usar el mismo evento OnChange para los tres Edit, además de que te puedes evitar la concatenación de la consuta SQL:

Código Delphi [-]
procedure TFrm_Consulta.EditChange(Sender: TObject);
const
  STRSQL = 'select * from Carnet where Codigo_Carnet like "%:codigo%"';

begin
  case RadioGroup1.ItemIndex of
    0:
    begin
      Qry_BuscarRegistro.Close;
      Qry_BuscarRegistro.ParamByName('codigo').AsString := Trim((Sender as TEdit).Text);
      Qry_BuscarRegistro.Open;
    end;
  end;   
end;

Si el control de edición (Edit) está vacío, la consulta quedará así:

Código SQL [-]
select * from Carnet where Codigo_Carnet like "%%"

que de todas maneras te dará todos los registros, así que no hace falta dividir en casos.

Fíjate que así, podrías entonces colocar el texto SQL directamente en el componente Query durante el diseño, en lugar de asignarlo en la ejecución, lo que da claridad a tu código.

// Saludos
Responder Con Cita