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

  1. Ouvrez le formulaire de la liste, puis ajoutez une propriété (ou modifiez-en une).
  2. Saisissez le nom de la propriété.
  3. Touchez le cadre Type et choisissez Formule (« calculée à partir des autres propriétés »).
  4. Écrivez l'expression dans le champ Expression.
  5. Choisissez au besoin le type du résultat et son format (voir plus bas).
  6. 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 :

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 :

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

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.

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).

  1. Choisissez le type Relation.
  2. 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 ».

  1. Dans Propriété de cette liste, choisissez la propriété qui sert à la jointure.
  2. Dans Égale à, dans la liste visée, choisissez la propriété comparée.
  3. 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.

  1. Choisissez le type Agrégation (« Un calcul sur des éléments reliés »).
  2. Dans Relation, choisissez une propriété Relation de la liste. S'il n'y en a pas, ajoutez-en d'abord une.
  3. Dans Propriété agrégée, choisissez une propriété de la liste visée.
  4. 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.