Comment afficher "Oui" ou "Non" selon la valeur d'un booléen

Stephanie Tirtiat

Personnaliser la valeur d'un booléen dans le Quick Report (éditeur d'états rapide) ♪

- Titre : Comment afficher "Oui" ou "Non" selon la valeur d'un booléen

- Auteur : Stephanie Tirtiat

- Parution : 11 octobre 2006

- Licence : Copyright ® 2006 4D s.a. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

Produit : 4D 2003, 4D 2004

Plateforme : Mac et Win

Vous avez un champ booléen dans une table 4D. La valeur du champ est soit 1 (Vrai) soit 0 (Faux).

Dans l'éditeur d'état rapide (Quick Report), quand vous insérez une colonne pour ce champ, le résultat affiche les valeurs "Vrai" ou "Faux", alors que vous aimeriez lire "Oui" ou "Non".

La solution est d'utiliser une formule dans une colonne.

Deux formules peuvent être appliquées :

formule 1

"Oui"*Num([ARTICLES]Publié_bool=Vrai)

Colonne C1 avec application d'une formule

formule 2

Chaine(Num([ARTICLES]Publié_bool);"Oui;;Non")

Colonne C2 avec application d'une formule

Le résultat sera :

La colonne "Publié (formule 1)" correspond à la première formule.
Elle n'affiche que des "Oui" dans le cas où le booléen est à vrai. La valeur reste vide dans le cas où le booléen est à "Faux".

La colonne "Publié (formule 2)" correspond à la seconde formule.
Elle permet d'afficher soit "Oui" soit "Non" (ou toute autre valeur de votre choix) selon la valeur du booléen.

La colonne "Publié (booléen)" correspond simplement à la valeur du champ booléen, sans formule.

Astuce :
Si vous utilisez le paramètre intermédiaire, celui-ci sera affiché si la formule rencontre un troisième résultat.
Si on reprend notre formule 2 : Chaine(Num([ARTICLES]Publié_bool);"Oui;nc;Non")
La valeur "nc" sera affichée si ce n'est ni "Oui", ni "Non".

Note :
Concernant la formule 2, voir l'exemple fourni dans la documentation pour la fonction "Chaine" :
https://4d.developpez.com/documentation/4DDoc2004/CMF/CMF00010.HTM
Chaine(Num(1=1);"Vrai;;Faux")   Vrai
Chaine(Num(1=2);"Vrai;;Faux")   Faux