Como poner la fecha y hora en un campo de la tabla según valor de otro campo

Esta vez estoy buscando como poner la fecha y hora en un campo de la tabla, según el valor de otro campo.

Tengo la tabla [Orden de Compra] en la cual tengo un campo llamado [Estatus] que puede tener valor "Abierto" o "Cerrado"y otro campo llamado [Fecha].

La idea es que cuando el campo [Estatus] sea igual a "Cerrado", el campo [Fecha] sea igual a la hora y fecha del sistema.

Me gustaría hacer esto en la tabla, ya que el campo Estatus puede cambiarse desde 3 formularios y la idea es que evite meter código en cada formulario.

1 respuesta

Respuesta
1

En la tabla lo puedes hacer con una macro de datos, siempre y cuando tu versión de access sea 2010 o superior, ya que en versiones anteriores no existían esas macros de datos.

En la vista diseño de la tabla, vas a "Crear macro de datos", luego eliges "antes del cambio"

Y configuras así la macro:

La parte del "si no" la añadí porque supuse que si el estatus no es "cerrado", el campo fecha debe quedar vacío. Si no fuera así lo quitas o lo modificas según tus necesidades.

Una cosa a tener en cuenta es que mientras no se guarde el registro, no aparecerá el dato en el campo fecha. Es decir, mientras no cambies de registro o pulses el botón guardar, no se mostrará/ocultará la fecha.

La ventaja de la macro de datos es que da igual desde dónde hagas el cambio de estado (en la tabla, en una consulta, en cualquiera de tus formularios, por código), que actuará sin que tengas que hacer nada más.

De todas formas, programar esa acción en código son solo 3 o 4 líneas, y podrías hacer un copia-pega en tus tres formularios:

If Me.Estatus="Cerrado" Then
Me.Fecha=Now
Else
Me.Fecha=Null
End If

o si lo prefieres en una única línea:

Me.Fecha=IIF(Me.Estatus="Cerrado",Now,Null)

Un saludo.


Muchas Gracias!

He optado por utilizar la macro, ya que el origen de datos del formulario es una consulta, voy a ver que tal trabaja con el hecho de que no se va a registrar el campo a hasta que se guarde el reguistro.

Muchas Gracias por la ayuda.

Saludos

El código te sirve igual, sea el origen del formulario una tabla o una consulta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas