Guardar dato anterior y posterior al Actualizar(2)
(continuación...)
6. En el Dw_1, evento updatestart (antes que empiece la actualización de la BD) , Obtenemos el estado del DW.
Int i
FOR i = 1 to dw_1.rowcount()
dwItemStatus l_estado
l_estado = dw_1.getitemstatus(i, 0, Primary!)
CHOOSE CASE l_estado
CASE new!
//Esta fila i, es nueva sin datos
CASE newmodified!
//Esta fila i, es nueva con datos
//CASE notmodified!
// DW no fue modificado (no interesa)
CASE datamodified!
//DW fue modificado, en la fila i".Trabajamos en esto:
//Insertamos una nueva fila en el dw_2
ii_n=dw_2.InsertRow(0)
dw_2.ScrollToRow(ii_n)
//copiamos la fila modificada al dw_2
dw_2.SetItem(ii_n,"nombre_antes",is_NombreActual)
dw_2.SetItem(ii_n,"nombre_despues",dw_1.GetItemString(dw_1.GetRow(),"nombre"))
dw_2.SetItem(ii_n,"fecha",Today())
END CHOOSE
NEXT
dw_2.Update()
7. Cuando el usuario, pulse el botón Guardar o actualizar del dw_1(dw_1.Update()), trasbasará sin darse cuenta la fila modificada al dw_2 oculto.
El ejemplo no muestra el nombre de la tabla (supongo que tendrás que crear una copia de cada tabla), y mejorar las actuales limitantes. Te repito que es sólo una idea. Es probable que existan otras.