Differenze tra le versioni di "Iif()"
Riga 1: | Riga 1: | ||
− | '''iif( < | + | '''<destinazione> = iif( <condizione>, <valore_se_vero>, <valore_se_falso> )''' |
− | Traduzione in funzione delle istruzioni | + | Traduzione in funzione delle istruzioni [[IF...THEN...ELSE...ENDIF]]. |
+ | |||
+ | La funzione valuta l'espressione contenuta nel primo parametro (<condizione>), che può essere un qualsiasi tipo di confronto tra variabili o valori di ogni tipo, e ritorna il valore impostato nel secondo parametro (<valore_se_vero>), altrimenti ritorna il terzo valore (<valore_se_falso>). | ||
+ | A differenza da alcune precedenti versioni, i tre parametri sono tutti obbligatori, e devono ritornare dati di tipo corrispondente o accettato dalla variabile di destinazione. | ||
+ | |||
+ | Esempio: | ||
+ | ---- | ||
+ | DIM var AS String = Iif( "ABC" = "CBA", "Uguale", "Diverso" ) | ||
+ | ... | ||
+ | DIM num AS Integer = 10 | ||
+ | DIM var AS Integer = Iif( num > 10, 10, num ) | ||
+ | ... | ||
+ | ---- | ||
+ | |||
+ | E' possibile annidare più funzioni di test, in modo da simulare più istruzioni "IF...ELSE...ELSE IF...ENDIF": | ||
+ | ---- | ||
+ | DIM codice AS String = "IT" | ||
+ | DIM nazione AS String = Iif( test = "IT", "Italia", Iif( test = "FR", "Francia", Iif( test = "ES", "Spagna", "Non valido"))) | ||
+ | ---- | ||
+ | Nell'esempio viene ritornato il nome della nazione, corrispondente al valore contenuto nella variabile codice; nel caso specifico, l'istruzione si fermerà alla prima IIF, ritornando la stringa "Italia". Nel caso questo non sia vero, il test verrà effettuato dalla successiva IIF in cascata; se tutte le verifiche non soddisferanno i requisiti, verrà ritornata l'ultima stringa <false> dell'ultima istruzione di test. |
Versione delle 01:58, 1 apr 2009
<destinazione> = iif( <condizione>, <valore_se_vero>, <valore_se_falso> )
Traduzione in funzione delle istruzioni IF...THEN...ELSE...ENDIF.
La funzione valuta l'espressione contenuta nel primo parametro (<condizione>), che può essere un qualsiasi tipo di confronto tra variabili o valori di ogni tipo, e ritorna il valore impostato nel secondo parametro (<valore_se_vero>), altrimenti ritorna il terzo valore (<valore_se_falso>). A differenza da alcune precedenti versioni, i tre parametri sono tutti obbligatori, e devono ritornare dati di tipo corrispondente o accettato dalla variabile di destinazione.
Esempio:
DIM var AS String = Iif( "ABC" = "CBA", "Uguale", "Diverso" ) ... DIM num AS Integer = 10 DIM var AS Integer = Iif( num > 10, 10, num ) ...
E' possibile annidare più funzioni di test, in modo da simulare più istruzioni "IF...ELSE...ELSE IF...ENDIF":
DIM codice AS String = "IT" DIM nazione AS String = Iif( test = "IT", "Italia", Iif( test = "FR", "Francia", Iif( test = "ES", "Spagna", "Non valido")))
Nell'esempio viene ritornato il nome della nazione, corrispondente al valore contenuto nella variabile codice; nel caso specifico, l'istruzione si fermerà alla prima IIF, ritornando la stringa "Italia". Nel caso questo non sia vero, il test verrà effettuato dalla successiva IIF in cascata; se tutte le verifiche non soddisferanno i requisiti, verrà ritornata l'ultima stringa <false> dell'ultima istruzione di test.