Ver Mensaje Individual
  #5  
Antiguo 19-05-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Vales08.

Para hacer lo que buscas creo que tendrías que tener:
.- Una tabla MEDICOS.
.- Una tabla COBERTURAS.
.- Una tabla COBERT_X_MEDICO.

Donde la tabla COBERT_X_MEDICO está en relación Master/detail con MEDICOS por el campo ReferMedico / Medico_ID.

Para ejemplificar tu caso usemos:
.- DBGridMedicos.
.- DBGridCoberturas.
.- DBGridDetalle.

En DBGridCoberturas ponemos la propiedad: Options -> dgMultiSelect a True, así podrás elegir una, varias o todas las coberturas (Ctr+click o Shift+Flecha abajo).

Luego la asignación la podes hacer mediante Drag&Drop o en el evento OnClick de un TButton, esta última forma es la que uso para el ejemplo.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
begin
  for i:= 0 to GridCoberturas.SelectedRows.Count -1 do
  begin
    GridCoberturas.DataSource.DataSet.GotoBookmark(Pointer(GridCoberturas.SelectedRows.Items[i]));
    GridDetalle.DataSource.DataSet.Append;
    GridDetalle.DataSource.DataSet.FieldByName('ReferMedico').AsInteger:=
      GridMedicos.DataSource.DataSet.FieldByName('Medico_id').AsInteger;
    GridDetalle.DataSource.DataSet.FieldByName('Cobertura').AsString:=
      GridCoberturas.DataSource.DataSet.FieldByName('Cobertura').AsString;
    GridDetalle.DataSource.DataSet.Post;
  end;
end;

DBGridCoberturas, sólo debería mostrarse para que el usuario pueda realizar la elección de las posibles coberturas y luego cerrarse. Cuando quieras mostrar las coberturas que trabaja un médico usas un DBGrid u otro componente que haga referencia a la tabla COBERT_X_MEDICO y te las mostrará.

Espero haber interpretado lo que querías hacer...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita