Código Delphi
[-]DM.TblPedidos.First;
while not DM.TblPedidos.Eof do
begin
DM.TblPedidos_seg.Insert;
DM.TblPedidos_seg.FieldByName('Id').AsString := DM.TblPedidos.fieldbyname('Id').AsString;
...
dm.TblPedidos_seg.Post; dm.tblArticulosPedidos.First; while not DM.TblArticulosPedido.Eof do
begin
DM.TblArticulosPedido_seg.Insert;
DM.TblArticulosPedido_seg.FieldByName('Articulo').AsString := DM.TblArticulosPedido.fieldbyname('Articulo').AsString;
...
DM.TblArticulosPedido_seg.Post;
DM.TblArticulosPedido_seg.Next; <<<<<end;
DM.TblPedidos_seg.Post;<<<<<<<<< esto sobra
DM.TblPedidos_seg.Next;<<<<<<<<< esto sobra
DM.TblPedidos.Next; end;
Solo me queda un par de dudas.
No sé ni me voy a parar en mirar que campos son los que actuan en la relación maestra-detalle y cuales son claves primarias. Tú debes saberlo exactamente y debes tener mucho cuidado. Si en tblPedidos-tblArticulosPedido lo une un código que tiene el valor 10, puede que ese ya exista en tblPedidos_seg No sé pero es algo a tener en cuenta.
Para los indices, asegurate de que todas las tablas tengan en el evento afterpost ttable.FlushBuffers.
saludos y espero se entienda