Pregunta

¿Es esto válido en MS Access VBA:

iif ([company] = "starbucks", "retail", iif ([item] <> "", "DLookup(....)", ""))

Estoy tratando de obtener algo similar al trabajo anterior.

¿Fue útil?

Solución

Sí.

Puedes anidar hasta 14 IIf declaraciones antes de Jet/Ace se queja de que la "expresión es demasiado compleja". No hay limitación similar en el VBA IIf función.

Dado que está utilizando esto en la fuente de control del formulario, el acceso evaluará esto utilizando su servicio de expresión (que esencialmente lo trata como si fuera parte de una consulta de chorro/as), por lo que se aplicarán los 14 niveles de límite de anidación.

Tenga en cuenta también que me referí al jet/as IIf como un declaración y el VBA IIf como un función. Si bien esos términos a veces se usan libremente, tienen un significado preciso. los IIf la declaración de jet/as es una verdadera operador ternario. El resultado es que generalmente es más eficiente que la función VBA del mismo nombre y no sufre de potencial efectos secundarios.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top