Control + " no refleja que el campo ha cambiado.

Hola compañeros.
En un formulario tengo un campo de comentarios de libre alimentación, y otro que tiene la fecha automática de cuando se modifica el campo comentarios.
Todo me funciona cuando se escribe un comentario o con el control V pegando información de otro registro, pero.. Sorpresa, cuando realizo control+" no funciona. No detecta que el campo haya cambiado aunque haga un F9.
Se os ocurre algo.
Gracias.

1 respuesta

Respuesta
1
Tienes una posibilidad. Debes de usar una variable en código y situarla a nivel de las declaraciones del módulo (debajo de Option...) y antes de cualquier procedimiento o función. Llámala por ejemplo miOldValue y dejala sin definir tipo de datos para que quede como Variant (ya que debe de poder admitir valores nulos).
Carga el valor de esa variable en el evento 'Al activar registro' del formulario. Para ello vasta conque escribas en ese evento:
=========================
miOldValue= Me.Comentarios.Value
=========================
En mi ejemplo denomino a los campos Comentarios y FxActualizacion
Ahora debes de escribir lo siguiente en el evento 'Antes de actualizar' del campo Comentarios:
=========================
If (Me.Comentarios.Value <> miOldValue) Or (IsNull(Me.Comentarios.Value) = False And IsNull(miOldValue)) Or (IsNull(Me.Comentarios.Value) And IsNull(miOldValue) = False) Then
   Me.FxActualizacion= Now()            'aquí añade esto o el código que uses para asignar la fecha-hora al campo FxActualizacion.
end if
=========================
Esto debiera de coger cualquier tipo de cambio que hagas en el campo Comentarios a pesar de que algunos tipos de edición (como la que comentas) no activen eventos como el Dirty...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas