Access - Rellenar campo con fecha al actualizar un campo checkbox

 
Vista:

Rellenar campo con fecha al actualizar un campo checkbox

Publicado por turnpl (5 intervenciones) el 26/09/2017 12:11:52
Buenas a todos,

Tengo una tabla con 3 campos: ID, TERMINADA, FECHA_FIN. Donde el campo TERMINADA es del tipo SI/NO.
Lo que quiero hacer es que al marcar TERMINADA se me guarde la fecha actual en el campo FECHA_FIN.

Muchas gracias

Saludos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Rellenar campo con fecha al actualizar un campo checkbox

Publicado por Anonimo (3316 intervenciones) el 26/09/2017 13:37:52
Lo mas adecuado al nivel actual, es crear una macro con la sentencia 'establecer valor' que se asignaría al evento del campo 'terminada'

El campo que recibiría el valor seria 'fecha_fin' y el valor:
.- o bien DATE() (devuelve la fecha del sistema)
.- o bien NOW() (devuelve la fecha del sistema + la hora, minuto y segundo)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Rellenar campo con fecha al actualizar un campo checkbox

Publicado por turnpl (5 intervenciones) el 26/09/2017 14:36:09
Gracias por la respuesta,

Como se le asigna un evento al elemento de tabla?

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Rellenar campo con fecha al actualizar un campo checkbox

Publicado por Anonimo (3316 intervenciones) el 26/09/2017 15:01:19
Los eventos no se asignan, simplemente 'se activan'

Y su 'activacion' (o se activan) cuando se les asigna 'algo que hacer' ....

Para llegar a los eventos hay que poner el formulario/informe en modo diseño, seleccionar el objeto con el que se desea interactuar y ver sus PROPIEDADES, entre todas ellas (y tienen una pestaña para ellos solitos) están 'los eventos'.

Por cierto, plantéate la idea básica de que:
.- las tablas son 'el producto en bruto' que esta en el almacén
.- las consultas equivalen a la selección y preparación de condimentos
.- que los formularios son la comida ya finalizada o en proceso de ser servida
.- los informes ... esa comida ya finalizada y servida a domicilio.

1.) no se cocina en el almacén JAMAS
2.) se puede prescindir de las consultas en función de los condimentos
3.) solo se debería manipular la preparación, mediante los formularios
4.) si (por ejemplo: una pizza) sale defectuosa y la sirven a domicilio (un informe), seria una marranada (que Access no consiente) el reciclar esa 'pizza' en lugar de hacer una nueva según las variaciones solicitadas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 66
Ha disminuido su posición en 2 puestos en Access (en relación al último mes)
Gráfica de Access

Rellenar campo con fecha al actualizar un campo checkbox

Publicado por Alexander (28 intervenciones) el 27/09/2017 01:03:37
Hola, es muy sencillo: asumiendo que el formulario que tienes, esta dependiendo o tiene como origen la tabla que contiene los tres campos, en el checkbox, en el evento: después de actualizar escribes algo como esto:

1
2
3
4
Me.refresh
if me.verificacion =  true then
me.fecha_fin=date()
end if

Donde "verificacion" es el nombre que le hayas puesto al checkbox que tengas.

Aunque es demasiado sencillo y puedes obtener información falsa si una persona activa, desactiva, activa ese checkbox, yo lo haría de la siguiente manera:

Cambiaría el campo "terminada" a tipo texto con tamaño del campo 2.

En el formulario utilizaría un cuadro combinado con solo dos valores: "Si" y "No" y dejaría como predeterminado el valor "No" para escribir en el campo "terminada".

Y en un botón, que seria el que evalúe el resultado, pondría en el evento al hacer clic el siguiente código:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Dim pregunta As String
Dim Respuesta
Dim Tipo
 
Me.Refresh
pregunta = "Si fue terminado?"
Tipo = vbYesNo + vbCritical + vbDefaultButton2
Respuesta = MsgBox(pregunta, Tipo)
If Respuesta = vbYes Then
 
    If Me.Cuadro_combinado3 = "Si" Then
    Me.FECHA_FIN = Date
    Else
    MsgBox "No ha sido terminado", vbOKOnly, "AVISO"
    End If
 
End If


Con este código, puedes garantizar que solo si el resultado es "Si", te va a escribir la fecha actual, de lo contrario, hará una advertencia de que no ha sido terminado.

Si lo adaptas a lo que estas haciendo, creo que te queda mas seguro el resultado y mas profesional, que solo poner un "chulo" en un cuadrito.

Te adjunto el ejemplo que hice para que veas como funciona de la manera en que lo tienes y de la manera en que te lo propongo,

Cual quier duda, con gusto estaré ayudándote.

Chao
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Rellenar campo con fecha al actualizar un campo checkbox

Publicado por turnpl (5 intervenciones) el 27/09/2017 08:20:34
Muchas gracias por las respuestas.

La solución de Alexander me funciono de maravilla, mil gracias

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar