Procedimiento de evento al abrir el formulario

¿Soy algo nueva en access y no se mucho de programación serías tan amable de apoyarme con el siguiente caso por favor?:
Tengo una tabla con los campos A1, F2, P3 y un campo de validación (Check box).
Lo que quiero hacer es que los campos A1, F2 y P3 estén desactivos mientras mi check box no haya sido seleccionado para lo cual realizo el siguiente procedimiento:
Private Sub validacion_AfterUpdate()
If [validacion].Value=-1 Then
[A1].Enabled=True
[F2].Enabled=True
[P3].Enable=True
Else
[A1].Enabled=False
[F2].Enabled=False
[P3].Enable=False
End If
End Sub
El código si me funciona pero de la siguiente manera:
Al abrir mi formulario los campos A1, F2, P3 están activos y el check box está desactivo, la hacer clic sobre el los campos A1, F2, P3 siguen activos pero al hacer clic de nuevo en el check box (es decir desactivarlo) los campos A1, F2, P3 en efecto se desactivan.
El problema es que yo quiero que aparezcan desactivados desde que se habré el formulario pero esto no ocurre, tengo que estar activando y desactivando para que se vea reflejado el resultado.
Serías tan amable de ayudarme para que este evento se ejecute al abrir el formulario de tal manera de que cada vez que se abra el formulario mis campos A!, F2, ¿P3 estén desactivos si mi check box no está seleccionado por favor?.
Ya intente poner este evento al perder el enfoque, antes de actualizar, al entrar pero no funciona sigue ocurriendo exactamente lo mismo.

2 Respuestas

Respuesta
2
Tendrás que poner el código en la acción Al cargar en las propiedades del formulario, ya que tienes que tener en cuenta que al abrir el formulario no se carga.
Me cuentas.
Angeles mil gracias por tu pronta respuesta, ¿realice lo que me indicas pero no obtengo lo que deseo me podrías orientar por favor?.
Mira primero hice lo siguiente:
Private Sub Form_Load()
    Private Sub validacion_AfterUpdate()
        if [validacion].value=-1 Then
        [A1].Enabled=True
        [F2].Enable=True
        [P3].Enable=True
     Else
        [A1].Enabled=False
        [F2].Enable=False
        [P3].Enable=False
      End If
    End Sub
End Sub
Al ejecutar esto me manda error de compilación y me dice que hace falta otro End Sub.
Termino por eliminar
Private Sub Verificación2 AfterUpdate()
End Sub
Y ejecuto el código sin eso el formulario abre y en efecto aparecen los campos desactivados pero cuando hago clic en el check box no se activan no pasa nada. Si cambio a vista diseño y regreso a vista formulario se ve reflejado el cambio peor yo quiero que el cambio se refleje al estar trabajando con el formulario es decir que al abrir el formulario si el checkbox está desactivado los campos estén desactivados o si el check box está activado los campos también estén activados pero ademas que si después de haber abierto el formulario me permita seleccionar el check box y se noten esos cambios de selección (activados o desactivados).
Gracias de antemano por tu apoyo.
Saludos cordiales Lis.
Efectivamente al cargar el formulario se desactivan o activan según el check box, después, en las propiedades de ese check box, en la acción al hacer clic tendrás que poner también el código para que ejecute el evento cada vez que hagas clic.
Verás, esto va por eventos: al cargar el formulario ---> hazme el código que te digo, al hacer clic en el chec box ---> hazme ...
Super! Mil gracias en efecto si toma el evento, ahora hay otro problema:
Ya coloqué el código donde me indicaste y si me deja activar y desactivar los campos de acuerdo a la selección del check box pero el problema es que no guarda el valora del check box :S.
Desafortunadamente ahora cada que entro al formulario me muestra todos los campos activos aún cuando el check box se haya quedado deseleccionado (lo cual significa que deberán estar inactivos los campos). =S no se como resolver esto :¿S me podrías asesorar por favor?
Anngelesssss! Que creeess! Ya está funcionando mil mil gracias! Ya trabaja bien! En serio agradezco mucho mucho tu apoyo y tus prontras respuestas! =).
Eres mi heroinaa! Gracias!
Respuesta
1
En lugar de utilizar código, utiliza el formato condicional con la expresión adecuada.
[Validacion]=0
(Y clicas en el "control" que aparece en abajo a la derecha; el que deshabilita)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas