Problemas con formulario en access 2003

A ver si me puedes echar un cable...

Tengo una casilla de verificación que activa o desactiva un botón de comandos, el código seria este:
Private
Sub cv_Click()
Me.bc.Enabled = cv
End Sub
donde:
cv= nombre casilla de verificación
bc=nombre del botón de comando
las características estas:
Cuadro de texto=>propiedades=>datos=>activado=no
Casilla de verificación=>propiedades:
=>datos=>valor predeterminado=falso
=>eventos=>al hacer clic=[procedimiento de evento]
Ahora bien, por otra parte este mismo botón, al pulsar sobre el hace visible o no a un subformulario, este es el código:
Private Sub bc_Click()
If subformulario.Visible = False Then
subformulario.Visible = True
Else
subformulario.Visible = False
End If
End Sub
Pues bien, si incorporo los dos código anteriores lo que se consigue es, por una parte activar o desactivar este botón, y cuando este este activo, ver o no ver el subformulario, lo deseado es activar o no el botón y no ver el subformulario mientras el botón no este activo, cuando este este activo, por defecto que se vea el subformulario
¿Qué tendría que implementar?

2

2 Respuestas

43.275 pts. Soy Programador de Aplicaciones MS Access en sus...

La verdad es que lógicamente esta todo correcto lo que estas haciendo, ¿sin embargo el subformulario se llama subformulario?, porque si tiene otro nombre pues no se pondrá invisible o visible.

Ahora prueba con poner el evento del ckeckbox en el evento al después de actualizar, entonces quedaría

Private Sub Afecto_AfterUpdate()

if Me.cv=true then
bc.enable=false
subformulario.visible=false
Else
bc.enable=true
subformulario.visible=true
End if

End Sub

Cuéntame como te va con eso.

gracias, no me funciono, me daba error de proceso, he cambiado un poco el entorno gráfico, ahora lo que hago es dejar visible y activado el botón pero no logro que por defecto el subformulario no se vea.

también implemente unas cosillas, aber si me puedes corregir un poco el código, en este subformulario tengo tres casillas de verificación, cuando pincho en alguna de ellas hago visible una cuarta que esta fuera de este subformulario, con el valor por defecto picado, la cosa es que si pico otra de esas tres esta cuarta se despica......

resultado deseado:

al picar cualquiera de estas tres que se haga visible esa cuarta y picada por defecto, que no cambie su valor ni estado si pico en las dos restantes y si despico las tres opciones anteriormente comentada, que vuelva a desaparecer la cuarta casilla

gracias

Haaa, eso podría pasar porque haber, hiciste un marco y dentro colocaste las casillas de verificación entonces cuando colocas el código dentro del evento clic entonces a cualquiera que le hagas clic se ejecutará el código. Lo que debes hacer es lo siguiente.

Cada casilla de verificación tiene un valor se denomina Value. Entonces es al marco es quien debes colocar el evento clic, entonces quedaría

If nombre_del_marco.value=1 then

expresión

End if

...

Si deseas preguntar por los otras casillas solo cambias value=valor_de_la_casilla.

Para que por defecto aparezca el subformulario oculto simplemente dale en la Propiedad - Formato - Visible en "NO".

Esto hace que al abrir el formulario este objeto aparezca oculto.

37.175 pts. Experto en Access y VBA.

Creo que te valdría con un solo sub. A veces usar demasiados subs conduce a errores.

Entiendo que el subform tiene que verse cuando el botón está en no activo.

Para mí seria:

Sub botón_click

subform.visible = botón.value

end sub

Es decir, si lo entiendo bien, al estar el botón activo (hundido para entendernos) el subform tiene que ser visible.

Si es al revés pones:

subform.visible = not botón.value

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas