Propiedad value en before update

Quiero que cada vez que modifique el registro de una tabla se grabe la fecha actual en esa tabla (para ello ello hice el campo fecharegistro). Estoy en un formulario con tres páginas (fichas) y creo que es por esto por lo que el siguiente texto me da error (en otros formularios sin fichas no me da error):
Private Sub Form_BeforeUpdate(Cancel As Integer)
fecharegistro.value = now()
el error: " Update o Cancelupdate sin AddNew o Edit "
Estoy aquí atascada, la ayuda del access no me ayuda, no se casi nada de Visual Basic.
Muchas gracias de antemano, quizás os pueda yo ayudar con otras cosas.

1 Respuesta

Respuesta
1
No sé cuantos campos tiene la tabla que dices, pero te pongo un ejemplo:
Supongamos que tu tabla se llama "LIBROS" y que consta de 4 campos que se llaman "A", "B", "C" y "fecharegistro" y que cada vez que se modifique cualquiera de ellos (A, B o C), deseamos que se registre la fecha en el campo "fecharegistro"
Coloca este código en el evento "Antes de actualizar" del formulario
If Not [A].OldValue = [A].Value Then
' Guardar en la tabla libros
      DoCmd.SetWarnings False
      DoCmd.RunSQL "INSERT INTO LIBROS (fecharegistro) VALUES(CDate(Date()))"
      DoCmd.SetWarnings True
End If
If Not [B].OldValue = [B].Value Then
' Guardar en la tabla libros
      DoCmd.SetWarnings False
      DoCmd.RunSQL "INSERT INTO LIBROS (fecharegistro) VALUES(CDate(Date()))"
      DoCmd.SetWarnings True
End If
If Not [C].OldValue = [C].Value Then
' Guardar en la tabla libros
      DoCmd.SetWarnings False
      DoCmd.RunSQL "INSERT INTO LIBROS (fecharegistro) VALUES(CDate(Date()))"
      DoCmd.SetWarnings True
End If
Te puedo decir que ami me funciona perfecto. Si tienes alguna duda no dudes en volver a contactar conmigo en [email protected]
Ok, lo entiendo, mi tabla tiene bastantes campos pero así al menos saldrá bien, no había caído en hacerlo así !, a veces hay que pensar "con sencillez", seguro que me funciona. Mil millones de gracias, access puede ser un infierno sobre todo si estás pegado con el basic.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas