Campo que me idique la fecha de la última modificación

Tengo una tabla en Access, y mediante un formulario voy modificando lo registros. Lo que quiero es que otro campo u otra tabla en la que me indique cual fue la fecha de la última modificación y que usuario la modificó. Adicionalmente, (esto no estoy seguro de que se pueda hacer), pero quiero que también me indique que fue lo último que se modificó, de tal forma que pueda tener una nueva tabla (o consulta o informe) en la que yo pueda ver las modificaciones que se han hecho en esa tabla, la fecha y quien las hizo.
Las modificaciones puede ser cambiarle el texto a un cuadro de texto y cosas así, pero también puede ser la eliminación del registro, en ese caso, también me gustaría tener algo que me diga quien y cuando eliminó ese registro.
Respuesta
1
Enfocalo de este modo. Crea un modulo nuevo con la función actualizaciones.
Ahora en esa función coloca las variables que quieres guardar
Nota. ¿Cómo sabes el usuario? Supongo que sea una variable publica y activa.
Bien ahora en todos los eventos de los campos que quieres guardar tienes que llamar al final a la función actualizaciones con los valores recopilados .
Nota. Para saber que campo estas modificando haz una lista anteriormente y numeralos.
No se si me explique bien, pero es una tarea laboriosa la que buscas.
Hola, gracias por tu respuesta...
Estoy bastante perdido en lo de crear un modulo con la función actualizaciones, no se a que te refieras.
Respecto a lo del usuario, actualmente no se registra nada, pero alguna vez vi que al tratar de limitar los usuarios que tienen acceso a la base de datos, automáticamente identifica el nombre del usuario conforme a como haya iniciado la sesión en su ordenador, pero vamos en este aspecto también estoy perdido.
Gracias
Saludos
Necesito saber tu conocimiento de VBA, entre 0 = Nada y 5= Experto, como te defines en esta escala?
... pues medio mal, yo creo que como 1
Pues empieza con estos ejemplos.
No son míos, están colgados en :
http://groups.google.es/group/mvp-access-archivos/files?hl=es&pli=1
Un saludo.
Ejemplos: http://planetainformatico.es/todoexpertos/control.rar

1 respuesta más de otro experto

Respuesta
Respecto de la primera pregunta creo que lo mejor es que no se modifique, sino que se añada un registro nuevo con la fecha y el usuario y si se elimina antes de borrarse en la tabla se añada a un histórico, también con la fecha y el usuario. De esta forma tendrías la tabla actualizada siendo los registros activos los de última fecha.
Respecto a la segunda... como el campo es autoincrementado los registros que borres no se vuelven a recuperar, es decir si borras el 5 el 5 no va a volver a existir y en el formulario lo que te da es el número de registro que en realidad existe con independencia del campo autoincrementado.
Hola gracias por tu ayuda...
Respecto de la primera, el crear otro registro me complicaría mucho otras cosas, ¿por lo que no se si exista otra forma?
Y de la segunda, ¿cómo puedo hacer para que si sea igual el de mi tabla con el del formulario? ¿Supongo tendré que quitar que sea autonumérico y meter alguna fórmula o algo así?
Saludos
Si modificas el registro una y otra vez únicamente tendrás el usuario último que lo haya modificado y no sabrás lo que ha modificado. Lo que puedes hacer es mantener el último registro en la tabla y los demás ir añadiéndolos al Histórico. Me explico: Modifico el registro A con fecha 25/10/2010 ---> Creo registro nuevo ---> Busco el anterior que sería por ejemplo del 23/10/2010 ---> Añado este al histórico ---> Lo borro. De este modo en la tabla solo tendríamos un registro y en Histórico todo su historial.
Respecto de lo 2º tendrías que poner el campo autoincrementado como numérico normal y cada vez que se borre un registro recalcularlo y cada vez que se añada incrementar en 1.
¿Hola nuevamente
Y como puedo hacer para el campo autoincrementado? ¿Y cómo se hace para recalcularlo automáticamente?
Gracias
El campo autoincrementado lo pones como numérico, supongamos que la tabla se llama Correlativo y el campo código, el código para recalcular el correlativo sería:
Dim db As Database
Dim rs As Recordset
Dim var As Double
Set db = CurrentDb
Set rs = db.OpenRecordset("Select Codigo from Correlativo")
var = 1
Do While Not rs.EOF
rs.Edit
rs!Codigo = var
rs.Update
rs.MoveNext
var = var + 1
Loop
Yo lo pondría después de eliminar un registro.
Me cuentas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas