A minha procedure para salvar é essa Procedure TFrmEntrada.Soma; begin DtModule.SimpleItem_entrada.Close; DtModule.SimpleItem_entrada.Open; DtModule.SimpleItem_entrada.Edit; DtModule.SimpleItem_entrada.Post; DtModule.SimpleItem_entrada.ApplyUpdates(0); DtModule.SimpleItem_entrada.First; DtModule.SimpleEntrada.Edit; DtModule.SimpleEntrada.Post; DtModule.SimpleEntrada.ApplyUpdates(0); While not DtModule.SimpleItem_entrada.Eof do Begin DtModule.SimpleProduto.FindKey([DtModule.SimpleItem_entradaPRODUTO.Value]); DtModule.SimpleProduto.Edit; DtModule.SimpleProduto.FieldByName('ESTOQUE').Value:=DtModule.SimpleProduto.FieldByName('ESTOQUE').Value+DtModule.SimpleItem_entrada.FieldByName('QUANTIDADE').Value; DtModule.SimpleProduto.Post; DtModule.SimpleProduto.ApplyUpdates(0); DtModule.SimpleItem_entrada.Next; End; Quando eu vou salvar eu faço isso procedure TFrmEntrada.Button1Click(Sender: TObject); begin Soma; DtModule.SimpleItem_entrada.Open; DtModule.SimpleItem_entrada.Post; DtModule.SimpleItem_entrada.ApplyUpdates(0); DtModule.SimpleEntrada.Edit; DtModule.SimpleEntrada.Post; DtModule.SimpleEntrada.ApplyUpdates(0);