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

Respuesta
1

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.

Respuesta
1

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