Ver Mensaje Individual
  #2  
Antiguo 20-06-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Reputación: 26
ContraVeneno Va por buen camino
Código Delphi [-]
En el botón o evento de búsqueda:

with TuConsulta do begin
   if active then close;
   SQL.Clear;
   SQL.Add('Select ID, Descripcion');
   SQL.Add('From TuTabla');
   SQL.Add('where ID like :vID');
   SQL.Add('Order By ID');
   ParamByName('vID').AsString := edtEnfermedad.Text +'%';
   Open;
    case RecordCount of
    0:
     begin
      messagebox('no existe');
     end; //case 0
    1:
     begin
      edtEnfermedad.Text:=FieldByName('ID').AsString;
      edtDescripcion.Text := FieldByName('Descripcion').AsString;
     end; //case 1
    else
     begin
       DM.qryBuscar.SQL:=SQL;
       DM.qryBuscar.Open;
      //Generar la ventana de búsqueda si existen elementos
      //if not(Assigned(frmBuscar)) then begin
       frmBuscar:=TfrmBuscar.create(Application);
       OpcionBusqueda:=3;
       frmBuscar.ShowModal;
      //end;
      if Seleccionado then begin
       edtEnfermedad.Text:=FieldByName('ID').AsString;
       edtDescripcion.Text := FieldByName('Descripcion').AsString;
      end else begin
       Close;
      end; //if
     end; //case else
    end; //case
   end; //with

Aquí estoy tomando un formulario que se llama "frmBuscar", el cuál contiene un DBGrid asociado a un TQuery que se llama "qryBuscar". Al seleccionar un registro en este formulario, hago lo siguiente, dependiendo de la opción de búsqueda:

Código Delphi [-]
 case OpcionBusqueda of 
  3: begin
      with TuConsulta do begin
        if active then close;
        SQL.Clear;
        SQL.Add('Select ID, Descripcion');
        SQL.Add('From TuTabla');
        SQL.Add('where ID = :vID');
        SQL.Add('Order By ID');
        ParamByName('vID').AsString := DM.qryBuscar.Fields[0].AsString;
       Open;
      end; //with
    end; //case 3
  Seleccionado := True;
__________________

Responder Con Cita