¿Cómo puedo hacer para que en un formulario se muestre o se oculte una casilla de verificación?

Tengo un formulario con 3 cuadros combinados, una casilla de verificación y un cuadro de texto. Los valores de los 2 primeros cuadros combinados están relacionados y el cuadro de texto se pone activo o no dependiendo de si marco la casilla de verificación o no. Todo eso lo he conseguido hacer, bien, ¿cómo puedo hacer para que la casilla de verificación se ponga en activa o no dependiendo de los valores que escoja en el cuadro combinado 3? En cuanto a activa no me refiero a marcada sino a que se pueda marcar o no y a que se ponga en gris claro y se vea pero no se pueda marcar ni desmarcar, estilo a como tengo el cuadro de texto con este código:
Private Sub Form_Open(Cancel As Integer)
If Me.Reemplazar_Verificacion = False Then
Me.Cantidad.Enabled = True
Else
Me.Cantidad.Enabled = False
End If
Donde Reemplazar_Verificacion es la casilla de verificación y Cantidad el cuadro de texto

1 Respuesta

Respuesta
1
Pues pudiera ser que no te haya entendido del todo, pero es que la respuesta casi te la das tu, ya que con un código similar al que has puesto consiguirias lo que quieres.
En el evento "después de actualizar" del cuadro de texto, pondrías:
if me.cantidad = 6 then
me. reemplazar_verificación.enabled = false
else
me. reemplazar_verificacion.enabled = true
end if
Doy por hecho que el campo "cantidad" es numérico, de lo contrario, deberías añadir doble comilla, así:
if me.cantidad = "6" then...
Si no era eso lo que querías, me comentas.
Mi foro Mi blog Mi web
Muchas gracias. En realidad no es eso del todo, en el cuadro combinado "Tipo de Mantenimiento" tengo 2 valores que salen al desplegarse (Preventivo y Cambio de piezas), lo que quiero es que en el formulario de principio la casilla de verificación "Reemplazar" aparezca en gris claro (que no se pueda ni marcar ni desmarcar), cuando en el cuadro combinado "?Tipo de Mantenimiento" del desplegable escoja "Preventivo" la casilla de verificación siga en gris claro y cuando escoja "Cambio de piezas" se active (que pueda marcarla o no, eso ya dependiendo de si lo necesito)
No se si me entiendes ahora.
Pues... lo que te he comentado.
Primero en las propiedades de la casilla de verificación "reemplazar" la pones
Activado = NO
Con eso al abrirse el formulario la casilla estará en gris.
Luego en el evento "después de actualizar" del control "Tipo de mantenimiento" colocas el siguiente código:
Private Sub Tipo_de_mantenimiento_AfterUpdate()
If Me.Tipo_de_mantenimiento = "cambio de piezas" Then
Me.Tipo_de_mantenimiento.Enabled = True
Else
Me.Tipo_de_mantenimiento.Enabled = False
End If
End Sub
Ah! Se me olvidaba. El mismo código deberás poner en el evento "al activar registro" del formulario. De lo contrario, una vez que se active la casilla, se quedaría activada para todos los registros.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas