Ver Mensaje Individual
  #2  
Antiguo 18-11-2021
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.

Un código de ejemplo:
Código Delphi [-]
// Activar multiselección en el DBGrid
procedure TForm1.FormCreate(Sender: TObject);
begin
  DBGrid1.Options := DBGrid1.Options + [dgMultiSelect];
end;

// Insertar filas seleccionadas del DBGrid en la tabla DESTINO
procedure InsertSelected(grd: TDBGrid; des: TFDQuery);
var
  i: Integer;
begin
  if grd.SelectedRows.Count = 0 then Exit;
  for i := 0 to grd.SelectedRows.Count-1 do
  begin
    grd.DataSource.DataSet.GotoBookmark(TBookmark(grd.SelectedRows.Items[i]));
    des.SQL.Clear;
    des.SQL.Add('INSERT INTO DESTINO (NAME, CAPITAL)');
    des.SQL.Add('VALUES(:NAME, :CAPITAL)');
    des.ParamByName('NAME').Value    := grd.DataSource.DataSet.FieldByName('NAME').Value;
    des.ParamByName('CAPITAL').Value := grd.DataSource.DataSet.FieldByName('CAPITAL').Value;
    des.ExecSQL;
  end;
end;

// Ejemplo de llamada
procedure TForm1.btnInsertarClick(Sender: TObject);
begin
  InsertSelected(DBGrid1, FDQueryDestino);
end;

Saludos
__________________
Daniel Didriksen

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