Ver Mensaje Individual
  #12  
Antiguo 24-05-2011
Vales08 Vales08 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 133
Reputación: 14
Vales08 Va por buen camino
Smile Resuelto

Hola ecfisa!!!
Estoy contenta porque me ha funcionado perfecto tu codigo.. realemnte ah sido de muy gran ayuda..
te cuento que me ha hecho renegar, ya que yo tenia otro codigo para dar de altay todo lo demas, pero eh podido soluionarlo bien y me funciona muy bien..
El codigo:
Código:
   DModule.tbDetCober.CachedUpdates:= True;
   DModule.tbMedicos.CachedUpdates:= True;
   DModule.tbDetCober.Open;
   DModule.tbMedicos.Open;
no me ha hecho falta, yo tengo las tablas abiertas siempre desde el datamodue y aparte funciona bien sin él..

Te paso como me ha quedado el codigo para que lo veas, espero no haberme mandado ninguna macana jaja.

Código:
(*Boton que esta entre las grillas, el cual pasa las coberturas de una a otra*)
procedure TProfesional.pasar_cober_prof_aClick(Sender: TObject);
var
  i: Integer;
begin
  for i:= 0 to Grilla_cob_prof_aa.SelectedRows.Count -1 do
  begin
    Grilla_cob_prof_aa.DataSource.DataSet.GotoBookmark(Pointer(Grilla_cob_prof_aa.SelectedRows.Items[i]));
    with DM do
    begin
      DSET_prof_cober.DataSource:= nil; (* desconectar DataSource *)
      DSET_prof_cober.Append;
      DSET_prof_cober.FieldByName('ID_PROF').AsInteger:=DSET_prof.FieldByName('ID_PROF').AsInteger;
      DSET_prof_cober.FieldByName('COBERTURA_MEDICA').AsString:= DSET_cob_med.FieldByName('NOMBRE').AsString;
      DSET_prof_cober.Post;  (* guardar *)
      Base_datos.ApplyUpdates([DSET_prof_cober]); (* aplicar updates *)
      DSET_prof_cober.DataSource:= DM.DSET_prof.DataSource; (* reconectar DataSource *)
    end;
  end;
end;
 
(*Boton donde confirmo los datos ingresados del paciente antes de asignarle las coberturas*)
procedure TProfesional.ConfirmarClick(Sender: TObject);
begin
   if MessageDlg('¿Desea guardar los datos ingresados?',mtConfirmation,[mbYes,mbNo],0)= mrYes then
   begin
     DM.DSET_prof_cober.DataSource:=nil; (* desconectar DataSource *)
     DM.DSET_profESTADO.Value:=0;
     DM.DSET_profEDAD.Value:=edad_prof_a.Value;
     DM.Base_datos.ApplyUpdates([DM.DSET_prof, DM.DSET_prof_cober]);
     DM.DSET_prof_cober.DataSource:=DM.DSET_prof.DataSource; (* conectar detalle *)
     DM.Transaccion.CommitRetaining;
   end
   else
     DM.Transaccion.RollbackRetaining;
end;
A parte de eso, hice un append cuando cierro el formulario, ya que lo necesito para cuando vuelva a ingresar al form y no me aparezca el registro que cargue por ultima vez.

Mi ultima duda y 'creo' que no molesto mas: como hago para que se me vacie la grilla donde deposito las coberturas elegidas?? porque cada vez que voy a ingresar un profesional y a asignarle las coberturas, me figuran todas las anteriores ja.


Muchas gracias por todo..
saludos.-
Responder Con Cita