Ver Mensaje Individual
  #4  
Antiguo 24-07-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Reputación: 0
coso Va por buen camino
Código Delphi [-]
procedure TForm1.DBGrid1Click(sender : TObject);
var
        db : TDBGrid;
        dato1 : string;
        dato2 : integer;
        dato3 : boolean;
        ...
begin
        db := sender as TDBGrid; // cogemos el argumento sender y lo interpretamos como dbgrid: sera tu dbgrid1, el origen
        
        // cogemos los datos desde el origen y los guardamos en variables para luego copiarlos.

        dato1 := db.DataSource.DataSet.FieldbyName('dato1').Asstring;
        dato2 := db.DataSource.DataSet.FieldByName('dato2').Asinteger;
        dato3 := db.DataSource.DataSet.FieldByName('dato3').Asboolean;
        ...

       // copiamos, insertando en la tabla/query destino, la cual se supone ligada a un datasource que a su vez esta ligado al segundo DBGrid
             
       tabla.Append;
       tabla.FieldValues['dato1'] := dato1;
       tabla.FieldValues['dato2'] := dato2;
       tabla.FieldValues['dato3'] := dato3;
       ...
       tabla.Post;
       tabla.Refresh;
end;

...creo q poco mas se puede decir saludos, a ver si te sirve. Tambien se puede hacer directamente con sentencias SQL, pero creo que si aun no lo dominas, mejor de esta manera. Ten en cuenta, por eso, que si existe algun identificador el cual no se pueda repetir, deberas crear uno nuevo para el registro nuevo en esa tabla destino.
Responder Con Cita