Description
IIF renvoie l'une des deux parties spécifiées, selon le résultat de l'évaluation de l'expression.
Arguments
"expression" est une expression booléenne.
"valeurVrai" est la valeur renvoyée si l'expression est True (vrai). Cette valeur peut être de type "simple" (Nombre, Devise, Chaîne, Booléen, Date, Heure ou Date/heure) ou de type "plage" (plage de nombres, plage de devises, plage de chaînes, plage de dates, plage d'heures ou plage de valeurs de type date/heure), mais non un tableau.
"valeurFaux" est la valeur renvoyée si l'expression est False (faux) Elle doit être du même type que "valeurVrai".
Résultat
"valeurVrai" si l'expression est True, "valeurFaux" si l'expression est False. La valeur renvoyée est de même type que "valeurVrai" et "valeurFaux".
Action
IIF renvoie l'une des deux parties spécifiées, selon le résultat de l'évaluation de l'expression.
Exemple d'utilisation
Dans certains cas, IIF peut être utilisée à la place de la structure de commande If/Then/Else.
La fonction IIf peut par exemple être préférable à une structure de commande lors de la création de formules de sélection d'enregistrements qui doivent être transmises au serveur de la base de données. Pour consulter un exemple, voir
Switch (expression1, valeur1, expression2, valeur2, …). Pour obtenir une explication des techniques en question, voir "Utilisation de formules améliorées de sélection d'enregistrements" dans le chapitre Conception de rapports Web optimisés du Guide de l'utilisateur de Crystal Reports.
Exemples
IIF ({Orders.Order Amount} > 10000, "large order", "standard order")Renvoie la chaîne "commande spéciale" si la valeur {Commandes.Montant commande} est supérieure à 10 000 €, et la chaîne "commande standard" dans le cas contraire.
Vous pouvez insérer un champ de formule qui représente le montant de la commande si celle-ci a déjà été payée, ou 0 dans le cas contraire.
IIF ({Orders.Payment Received}, {Orders.Order Amount}, 0)Commentaires
Chaque argument de la fonction IIF est évalué avant que le résultat ne soit renvoyé. Par conséquent, il est conseillé d'être prudent lors de l'utilisation de la fonction IIF. Exemple : si "valeurFaux" implique une division par zéro, une erreur sera générée même si l'expression est True et que "valeurVrai" est renvoyée.