Formules
Une propriété de type Formule calcule sa valeur à partir des autres propriétés de la liste. Le résultat n'est jamais saisi ni enregistré dans l'élément : il se recalcule à chaque affichage, et suit donc les changements des propriétés citées.
Créer une propriété Formule
- Ouvrez le formulaire de la liste, puis ajoutez une propriété (ou modifiez-en une).
- Saisissez le nom de la propriété.
- Touchez le cadre Type et choisissez Formule (« calculée à partir des autres propriétés »).
- Écrivez l'expression dans le champ Expression.
- Choisissez au besoin le type du résultat et son format (voir plus bas).
- Touchez Enregistrer.
Une formule est invisible à sa création, comme toute propriété calculée : ajoutez-la ensuite aux propriétés visibles de la vue.
Si le réglage avancé d'enregistrement automatique est actif, il n'y a pas de bouton Enregistrer : la formule s'enregistre quand vous quittez le formulaire avec une expression valide.
Écrire une expression
Le champ Expression accepte plusieurs lignes. La touche Entrée ajoute un retour à la ligne, elle n'enregistre pas. Les couleurs distinguent les fonctions, les noms de propriété, les textes et les nombres.
Une expression peut contenir :
- des nombres (le point ou la virgule servent de séparateur décimal) ;
- des textes entre guillemets, par exemple
"Total : "(deux guillemets de suite écrivent un guillemet) ; - des références à d'autres propriétés ;
- les opérateurs
+ - * /, le moins unaire et les parenthèses ; &pour assembler des textes ;- des fonctions, dont les arguments se séparent par un point-virgule.
Les noms de fonction s'écrivent sans tenir compte de la casse, et sont enregistrés en capitales.
Faire référence à une autre propriété
Une propriété se cite avec PROPRIETE("Nom"), par exemple PROPRIETE("Prix") * PROPRIETE("Quantité").
Les références suivent le nom de la propriété : si vous la renommez, la formule continue de fonctionner.
Vous pouvez citer :
- un nombre, une formule, un texte ou une date ;
- une case à cocher, uniquement comme condition de
SI; - une sélection : elle vaut le nom de l'option choisie, et se compare à un texte avec
=ou<>; - une propriété système (dates de création et de modification, auteurs), en lecture seule.
Une formule ne peut pas se citer elle-même, directement ou par un détour. Un lien, une image, une sélection multiple, une relation ou une agrégation ne peuvent pas servir dans une formule.
Fonctions disponibles
Un exemple pour chaque fonction :
| Fonction | Rôle | Exemple |
|---|---|---|
SI(condition ; alors ; sinon) |
Choisit entre deux valeurs | SI(PROPRIETE("Stock") > 0 ; "Dispo" ; "Rupture") |
ARRONDI(nombre ; décimales) |
Arrondit un nombre | ARRONDI(PROPRIETE("Prix") / 3 ; 2) |
ABS(nombre) |
Valeur absolue | ABS(PROPRIETE("Écart")) |
MIN(a ; b ; ...) |
Plus petite valeur | MIN(PROPRIETE("Prix A") ; PROPRIETE("Prix B")) |
MAX(a ; b ; ...) |
Plus grande valeur | MAX(PROPRIETE("Prix A") ; PROPRIETE("Prix B")) |
JOURS(date1 ; date2) |
Nombre de jours de date1 à date2 | JOURS(AUJOURDHUI() ; PROPRIETE("Fin")) |
AJOUTERJOURS(date ; jours) |
Ajoute des jours à une date | AJOUTERJOURS(PROPRIETE("Début") ; 7) |
ANNEE(date) |
Année d'une date | ANNEE(PROPRIETE("Début")) |
MOIS(date) |
Mois d'une date | MOIS(PROPRIETE("Début")) |
JOUR(date) |
Jour du mois d'une date | JOUR(PROPRIETE("Début")) |
AUJOURDHUI() |
Date du jour sur cet appareil | AUJOURDHUI() |
AUJOURDHUI() change chaque jour sans modifier l'élément. Le mot VIDE désigne l'absence de valeur, par exemple PROPRIETE("Note") = VIDE.
Conditions de SI
Une condition compare deux valeurs avec =, <>, <, <=, > ou >=. Les nombres et les dates acceptent les six comparateurs, les textes seulement = et <>. Une condition peut aussi être une case à cocher : une case décochée vaut faux. Les deux branches de SI doivent donner le même type.
Valeurs manquantes
Si une valeur manque, le résultat reste vide : opérande sans valeur, division par zéro, référence vers une propriété supprimée, condition de SI sans valeur, argument manquant de MIN, MAX, ARRONDI ou ABS.
Aide à la saisie
- En tapant, une liste de suggestions apparaît près du curseur : fonctions, noms de propriété dans
PROPRIETE(",VIDE, et options d'une sélection comparée à un texte. Choisissez une rangée au clavier (flèches, Entrée ou Tab, Échap pour fermer) ou en la touchant. - Le bouton Aide de la barre du haut ouvre un panneau qui liste les propriétés, les fonctions et les opérateurs, avec une recherche. Touchez une rangée pour l'insérer dans l'expression. En écran large le panneau reste ouvert, sur mobile la feuille se referme après l'insertion.
- Les erreurs s'affichent sous le champ et le fragment fautif est souligné, par exemple « Parenthèse non fermée ». Une expression invalide ne peut pas être enregistrée.
Aperçu
Le groupe Aperçu montre le résultat de l'expression en cours sur des éléments de la liste, sans rien enregistrer. Le tableau affiche l'élément, la formule et les propriétés citées. Choisissez un autre élément en touchant son nom. Le bouton « + » ajoute une ligne d'aperçu (10 au plus) et la croix en retire une.
Type et format du résultat
Le cadre Type du résultat propose Automatique (par défaut), Nombre, Texte, Date, Heure et Durée.
- En Automatique, le type et le format se déduisent de l'expression.
- Si le type choisi ne correspond pas à l'expression, l'enregistrement est refusé, sans conversion.
- Si le type ne peut pas se déduire (expression vide ou invalide), un message « Type indéterminé » vous invite à corriger l'expression ou à choisir un type.
Pour régler le format à la main, choisissez le type Nombre : les réglages Format (Automatique, Entier, Décimal, Pourcentage, Monétaire), Décimales, Devise et Séparateur de milliers apparaissent. Le format Décimal à deux décimales arrondit à exactement deux décimales. Un résultat de type date s'affiche au format court des dates.
Si les propriétés citées ont des formats à unité différents (euros et dollars, par exemple), le format est indéterminé et l'enregistrement est refusé : choisissez le type Nombre et un format.
Liens entre listes et agrégations
Deux types de propriété prolongent les formules en reliant des listes.
Relation
Une propriété Relation relie un élément à un ou plusieurs éléments d'une liste visée (la liste courante comprise).
- Choisissez le type Relation.
- Dans Liste visée, choisissez une liste présente sur l'appareil (obligatoire).
Dans un élément, vous choisissez ensuite à la main les éléments reliés. Changer de liste visée alors que des éléments sont déjà reliés demande une confirmation : rien n'est effacé, les liens reviennent si vous rechoisissez la liste d'origine.
La relation peut aussi être définie par une requête : cochez « Définie par une requête ».
- Dans Propriété de cette liste, choisissez la propriété qui sert à la jointure.
- Dans Égale à, dans la liste visée, choisissez la propriété comparée.
- Ajoutez au besoin des Conditions fixes sur la liste visée, avec « Ajouter un filtre ».
Les éléments reliés sont alors ceux de la liste visée dont la propriété est égale, et qui passent les conditions. Ils se recalculent à chaque lecture. Basculer de mode ne supprime aucune valeur.
Agrégation
Une propriété Agrégation calcule une valeur sur les éléments reliés par une relation de la liste. Elle n'est jamais enregistrée.
- Choisissez le type Agrégation (« Un calcul sur des éléments reliés »).
- Dans Relation, choisissez une propriété Relation de la liste. S'il n'y en a pas, ajoutez-en d'abord une.
- Dans Propriété agrégée, choisissez une propriété de la liste visée.
- Dans Calcul, choisissez le calcul proposé pour son type : somme, moyenne, médiane, intervalle ou compte pour un nombre, intervalle ou compte pour une date, compte seul pour les autres.
Les trois choix sont obligatoires. Changer de relation vide les deux choix suivants.
Si une relation ou une propriété choisie disparaît, le cadre l'indique (« Relation disparue », « Indisponible ») et la propriété reste enregistrée, avec une valeur vide.
Changer le type d'une formule
Quitter le type Formule ne fait rien perdre. Passer un autre type vers Formule efface les valeurs existantes, après un avertissement.