Desactivar un campo en un formulario continuo

Necesito desactivar un checkbox en función de un desplegable anterior mediante VBA. En un principio, lo he hecho así:

Private Sub Tipo_AfterUpdate()
    If Tipo = 2 Then
        Cat_Contable.Enabled = False
    End If
End Sub

Pero cual es mi sorpresa al actualizar el desplegable, que me bloquea todos los checkbox, cuando solo quero el de ese registro.

A ver si alguien me puede ayudar.

2

2 Respuestas

https://www.dropbox.com/s/7jmepms3as9mtgm/Copia.accdb?dl=0 

Os dejo la base de datos, por si queréis probar. El formulario en cuestión es 03-B Mantenimiento de las categorías.

791.175 pts. No responderé preguntas de usuarios que no valoren las...

En un formulario continuo, aunque veas cada control tantas veces como registros te cojan en pantalla, realmente sólo existe un control. En tu caso, aunque veas muchos checkboxs Cat_Contable, realmente sólo existe uno, y si lo activas o desactivas, tendrá ese estado en todos los registros que veas.

Dicho esto, y como solo puedes trabajar en un registro, pon el mismo código en el evento "Al activar registro" de tu formulario. Así, cada vez que entres a un registro, te hará esa comprobación y te lo activará o no en función del valor de Tipo.

Aunque tendrás que ampliar el código para que lo active si tipo no es 2, por ejemplo (ya que no sé los casos)

    If Tipo = 2 Then
        Cat_Contable.Enabled = False
    Else
        Cat_Contable.Enabled = True
    End If
La pregunta no admite más respuestas

Más respuestas relacionadas