Ver Mensaje Individual
  #5  
Antiguo 24-08-2013
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 de nuevo.

Para no dejar las tareas a medias, un ejemplo usando un TDBGrid con una sola columna, asociado a un TADOQuery y un TADODataSet asociado a la tabla destino.

Código Delphi [-]
procedure SaveCol(aGrid: TDBGrid; const ColNro: Integer;
  aDataSet: TADODataSet; const TargetFieldName: string);
var
  BM: Pointer;
  s : string;
begin
  // Armar cadena desde la tabla destino
  with aGrid.DataSource.DataSet do
  begin
    DisableControls;
    BM := GetBookmark;
    try
      First;
      while not Eof do
      begin
        s := s + aGrid.Columns[ColNro].Field.AsString + ',';
        Next;
      end;
      SetLength(s,Length(s)-1);
    finally
      GotoBookmark(BM);
      FreeBookmark(BM);
      EnableControls;
    end;
  end;
  // Guardar resultado en campo de tabla destino
  with aDataSet do
  begin
    Append;
    FieldByName(TargetFieldName).AsString := s;
    Post;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  SaveCol(DBGrid1, 0, ADODataSet1, 'NAME');
end;
El ejemplo está probado y funcionando.


Saludos.
__________________
Daniel Didriksen

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