Puoi avere un IIF nidificato all'interno di IIF in una fonte di controllo?
-
28-10-2019 - |
Domanda
È valido in MS Access VBA:
iif ([company] = "starbucks", "retail", iif ([item] <> "", "DLookup(....)", ""))
Sto cercando di ottenere qualcosa di simile al lavoro sopra.
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.