Para ello tendras que usar la propiedad SelectedRows del DBGrid.
Este es el ejemplo de la ayuda de Delphi 5 sobre esa propiedad.
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: Integer;
s: string;
begin
if DBGrid1.SelectedRows.Count>0 then
with DBGrid1.DataSource.DataSet do
for i:=0 to DBGrid1.SelectedRows.Count-1 do
begin
GotoBookmark(pointer(DBGrid1.SelectedRows.Items[i]));
for j := 0 to FieldCount-1 do
begin
if (j>0) then s:=s+', ';
s:=s+Fields[j].AsString;
end;
Listbox1.Items.Add(s);
s:= '';
end;
end;
No obstante si fueran todas las filas del DBGrid las que quisieras pasar a otra tabla. Lo puedes hacer con un TBatchMove, teniendo como origen el mismo dataset que el dbgrid.
Espero a ver sido de alguna ayuda.
Un saludo.