Question

Est-ce valide dans MS Access VBA:

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

J'essaie d'obtenir quelque chose de similaire au travail ci-dessus.

Était-ce utile?

La solution

Oui.

Vous pouvez imbriquer jusqu'à 14 instructions IIf avant que Jet / ACE ne se plaint que «l'expression est trop complexe». Il n'y a pas de limitation similaire sur la fonction IIf VBA.

Puisque vous l'utilisez dans la source de contrôle du formulaire, Access l'évaluera à l'aide de son service d'expression (qui le traite essentiellement comme s'il faisait partie d'une requête Jet / ACE) de sorte que les 14 niveaux de limite d'imbrication s'appliqueront .

Notez également que j'ai fait référence au IIf Jet / ACE en tant que instruction et au IIf VBA en tant que fonction . Bien que ces termes soient parfois utilisés de manière vague, ils ont une signification précise. L'instruction IIf de Jet / ACE est un véritable opérateur ternaire . Le résultat est qu'elle est généralement plus efficace que la fonction VBA du même nom et qu'elle ne souffre pas de potentiel effets secondaires .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top