Quiero hacer visible unos campos de formulario, sólo cuando se selecciona algunos valores de otro campo de tipo Enum que son visibles en el formulario como botones.
La lógica es lo siguiente: cuando selecciono “Caja cartón” o “Caja madera” los campos donde tengo que poner las medidas de las cajas se tiene que hacer visibles, de lo contrario que se oculten estos campos, porque las otras opciones no tienen medidas.
Entonces cuando se selecciona el valor “Sin embalaje” o “Plástico burbujas” los campos tiene que estar ocultos como se puede ver en las imágenes de abajo.
Y si se selecciona “Caja cartón” o “Caja Madera” los campos tienen que ser visibles como se puede ver en las imágenes de abajo.
Primero pensé que se podría solucionar con esta expresión:
Si lo que se ha seleccionado es diferente de “Sin embalaje” o “Plástico burbujas” los campos se hagan visibles. Poniendo la expresión en todos los campos que quiero mostrarlos en el Show_If.
PERO NO FUNCIONÓ.
Después he cambiado la estrategia, cambiando la forma de pensar:
Si lo que se ha seleccionado es igual con “Caja cartón” o es igual con “Caja madera”, que se hagan visibles los campos en el formulario.
Y sorpresa FUNCIONÓ.
Pero no estuve tan satisfecho porque la expresión me parecía larga y encontré la solución que me ha convencido y funciona igual que la anterior.
Para completar la lógica y garantizar la integridad de los datos, he hecho que cuando los campos son visibles que sean campos obligatorios, que no se puede dejar sin datos. Para esto he puesto la misma expresión, pero en Require del apartado Data Validity.
Esto ha sido todo, espero que os sea de utilidad.
La lógica es lo siguiente: cuando selecciono “Caja cartón” o “Caja madera” los campos donde tengo que poner las medidas de las cajas se tiene que hacer visibles, de lo contrario que se oculten estos campos, porque las otras opciones no tienen medidas.
Entonces cuando se selecciona el valor “Sin embalaje” o “Plástico burbujas” los campos tiene que estar ocultos como se puede ver en las imágenes de abajo.


Y si se selecciona “Caja cartón” o “Caja Madera” los campos tienen que ser visibles como se puede ver en las imágenes de abajo.


Primero pensé que se podría solucionar con esta expresión:
OR(
[Tipo de Embalaje]<>“Sin embalaje”,
[Tipo de Embalaje]<>“Plástico burbujas”
)
Si lo que se ha seleccionado es diferente de “Sin embalaje” o “Plástico burbujas” los campos se hagan visibles. Poniendo la expresión en todos los campos que quiero mostrarlos en el Show_If.
PERO NO FUNCIONÓ.
Después he cambiado la estrategia, cambiando la forma de pensar:
Si lo que se ha seleccionado es igual con “Caja cartón” o es igual con “Caja madera”, que se hagan visibles los campos en el formulario.
OR(
[Tipo de Embalaje]=“Caja cartón”,
[Tipo de Embalaje]<>“Caja madera”
)
Y sorpresa FUNCIONÓ.
Pero no estuve tan satisfecho porque la expresión me parecía larga y encontré la solución que me ha convencido y funciona igual que la anterior.
IN(
[Tipo de Embalaje],
LIST(Caja cartón, Caja madera)
)
Para completar la lógica y garantizar la integridad de los datos, he hecho que cuando los campos son visibles que sean campos obligatorios, que no se puede dejar sin datos. Para esto he puesto la misma expresión, pero en Require del apartado Data Validity.

Esto ha sido todo, espero que os sea de utilidad.