Encantado Maria Antonieta:
te explico con mas detalle:
digamos que tienes una tabla donde guardas los datos de tus clientes:
clientes.dbf
codigo nombre apellidos direccion telefono
0001 juan ramirez roma 501 999-999
puedes crear una tabla paralela (clon) de la primera y le agregas algunos campos adicionales, como usuario, maquina, fecha y hora. cada vez que actuas sobre la primera ya sea ingresando data nueva, modificando o eliminando, agregas un nuevo registro a la segunda.
para este primer registro quedaria asi
clientes2.dbf
codigo nombre apellidos direccion telefono usuario maq fecha hora
0001 juan ramirez roma 501 999-999 maria 001 28/11/08 8.05
el mismo usuario luego decide cambiar el apellido.
clientes.dbf
codigo nombre apellidos direccion telefono
0001 juan perez roma 501 999-999
para este segundo registro quedaria asi
clientes2.dbf
codigo nombre apellidos direccion telefono usuario maq fecha hora
0001 juan ramirez roma 501 999-999 maria 001 28/11/08 8.05
0001 juan perez roma 501 999-999 maria 001 29/11/08 10.0
si comparas un registro con otro obtendras una diferencia, el apellido ademas de quien modifico, que modifico, desde que maquina y cuando lo hizo.
esto seria lo mas facil, pero tu segunda tabla creceria de tal forma que en un momento determinado ver un reporte de la misma demoraria, ten en cuenta que los registros de esta tabla aumentarian considerablemente y si tiene muchos campos peor aun.
aparte que no registraria las anulaciones
vamos a ver ahora un segundo caso:
siguiendo la misma logica, creamos una segunda tabla (clientes2.dbf), con los siguientes campos:
clientes2.dbf
usuario maq fecha hora accion antes despues
para el primer caso registrariamos lo siguiente:
clientes2.dbf
usuario maq fecha hora accion campo antes despues
maria 001 28/11/08 8.05 nuevo (0001 juan ramirez)
para el segundo caso registrariamos lo siguiente:
clientes2.dbf
usuario maq fecha hora accion campo antes despues
maria 001 28/11/08 8.05 nuevo (0001 juan ramirez)
maria 001 29/11/08 10.00 editar apellido ramirez perez
y si hubiera habido alguna anulacion:
clientes2.dbf
usuario maq fecha hora accion campo antes despues
maria 001 28/11/08 8.05 nuevo (0001 juan ramirez)
maria 001 29/11/08 10.00 editar apellido ramirez perez
maria 001 30/11/08 9.00 anular (0001 juan ramirez)
esta ultima solo tiene 8 campos no importando la cantidad de la tabla original
si a esta ultima le agregas un encriptamiento, entonces nadie podra entebder el contenido y mucho menos vulnerarlo a voluntad.
espero te sirva
santiago