Dudilla con access

Hola mi pregunta es referente a programación en access.
Es muy sencilla. En un formulario que llamaremos form1 tengo 4 pestañas en un control tipo tab cuyas pestañas llamaremos respectivamente tab1, tab2, tab3, tab4. En una de esas pestañas, por ejemplo tab2, tengo un checkbox vinculado a un campo de una tabla que llamaremos checkbox1.
El caso es que quiero que cuando active o desactive ese checkbox se active o desactive respectivamente un tab determinado, pongamos tab3.
Es decir recapitulo en tab2 tengo un checkbox, al hacer clic sobre el quiero que se active o desactive tab3.
Pero ojo para cada uno de los registros del formulario.
Es decir que si en la ficha del cliente "pepito garcía" activo esa checkbox se me deshabilite la pestaña tab3 solo de ese cliente, las de los demás clientes se queden igual, unicamente estén deshabilitadas las de aquellos clientes cuyo checkbox esta marcado.
Tiene que ser una chorrada pero no caigo.
Yo he puesto esto:
Private Sub checkbox_AfterUpdate()
If checkbox.Value = -1 Then
    Me.tab3.Enabled = False
Else
    Me.tab3.Enabled = True
End If
End Sub
Sin embargo cuando la chequeo se me bloquea el tab para todos los registros.
Repito seguro que es una bobada pero llevo un par de días buscando en internet y no caigo.
La aplicación esta hecha en access 2003.
Un saludo y gracias.
Respuesta
1
OK, primero... no tengo a la mano el access pero según recuerdo los valores de los CheckBox en access son 0(Uncheked), 1(Cheked), 2(Grayed), así que no veo porque el -1 de tu código.
Ahora imagino que la CheckBox esta directamente enlazada a cierto campo, y de este tomas el valor de la CheckBox; si es así solo tendrías que evaluar el valor del campo cuando cambies de registro, P.Ej.
If !Activo = True Then
         Me.tab3.Enabled = True
Else
         Me.tab3.Enabled = False
End If
En el código anterior ! Activo es un campo booleano que tendría que estar ligado a tu CheckBox.
Ojala te sirva de algo, ¿si hay duda solo posta OK?.
Gracias por la ayuda. Pero ya lo solucione. Solo tenia que ponerlo en el evento CURRENT en vez de en el afterupdate. Así de fácil.
Muchas gracias de todas formas.
Un saludo.
Puede ser de utilidad para alguien más con un problema similar, solo te sugiero cerrar la pregunta para que no ande rodando por ahí en el tablón.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas