Domanda

È valido in MS Access VBA:

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

Sto cercando di ottenere qualcosa di simile al lavoro sopra.

È stato utile?

Soluzione

Sì.

Puoi nidificare fino a 14 IIf Dichiarazioni prima che Jet/Ace si lamenta che "l'espressione è troppo complessa". Non ci sono limitazioni simili sul VBA IIf funzione.

Dal momento che lo stai usando nella fonte di controllo del modulo, l'accesso valuterà questo utilizzando il suo servizio di espressione (che essenzialmente lo tratta come se facesse parte di una query a getto/asso), quindi si applicheranno i 14 livelli di limite di nidificazione.

Si noti inoltre che ho fatto riferimento al jet/ace IIf come un dichiarazione e il VBA IIf come un funzione. Mentre quei termini sono talvolta usati vagamente, hanno un significato preciso. Il IIf La dichiarazione del jet/ace è una vera Operatore ternario. Il risultato è che è generalmente più efficiente della funzione VBA con lo stesso nome e non soffre di potenziale effetti collaterali.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top