Sentencia If con condición logica en access

¿Alguien podría decirme donde me equivoco?

Primate sub form_current()

If me.cuadro_combinado15.value = "9" and me.cuadro_combinado18.value = "1" then

ME.Boton9conapoderado.visible = false

Elseif me.cuadro_combinado15.value = "9" and me.cuadro_combinado18.value = "2" then

ME.Boton9conapoderado.visible = true

Else

ME. Boton9conapoderado.visible = false

End If

End sub 

1 respuesta

Respuesta
2

Pues a priori te diría que en la condición de los Ifs, pues si los cuadros combinados devuelven valores numéricos, te sobran las comillas dobles (If me.cuadro_combinado15.value = 9...)

Pero como no das más pistas de qué te falla, no puedo decirte nada más...

Un saludo.


Ya probé sin comillas y no logro que funcione.

¿Y por qué no te funciona?

Porque el botón no aparece cuando do las dos condiciones son verdaderas

Si corregiste lo de las comillas (en todos los sitios), tendría que funcionar, pues no tienes ningún error de sintaxis.

Habría que comprobar que los nombres de los controles son efectivamente esos, y que los cuadros combinados devuelven valores numéricos.

 Pon MsgBox  me.cuadro_combinado15 & "-" &  me. Cuadro_combinado18 antes del if para que veas los valores que devuelven los cuadros, o ejecuta el código paso a paso para ver cómo corre.

Por cierto, aunque imagino que será un fallo al pasar el código, en la primera linea es Private y no Primate

Tendrá algo que ver que los cuadros combinados son independientes?

No tiene nada que ver, siempre que devuelvan valores numéricos, y en concreto 9 y 2 para que el control sea visible. Cualquier otra combinación hará que el botón no se muestre.

¡Gracias! Veré como lo soliciono

Sabes que ese código solo te funciona al cambiar de registro, no al modificar los valores del cuadro combinado, ¿no?

Yo he probado el código a lo rápido, y funciona perfectamente: http://filebig.net/files/V8iFHTypQE 

No me digas! No...la verdad es que no lo sabía.  Lo hice para que se ejecute en una consulta de acuerdo a una selección de casillas de verificación. Como tendría que hacer entonces para que cambie al modificar los cuadros combinados?

Tienes que poner el mismo código en el evento "Después de actualizar" de cada cuadro combinado, o bien hacer una llamada en esos eventos "Después de actualizar" de los cuadros combinados al procedimiento Form_Current

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas