Thibault Liétard.

Instructor and Private Teacher

Bases de Données

Champs Calculés

Il est également possible d'ajouter de nouveaux champs à une requête en créant un champs calculé. Il s'agit en fait d'une nouvelle colones de données qu'on va calculer à partir des données déjà présentes dans la base de données. Pour cela, il suffit de faire un clic droit à la ligne "Champs" et de sélectionner "Créer".

Un champs calculé prend toujours la même forme : le nom du nouveau champs que l'on veut créer, suivi de ':' et de l'expression du calcul.

Par exemple, si on souhaite faire une requête qui affiche le double de toutes les quantités dans la table "procom", on pourra créer un champs dans lequel on écrira : "QuantitéX2 : [procom]![quantité]*2".

Ici, on fait référence au champs "quantité" de la table "procom" par l'expression "[procom]![quantité]". De manière générale, à chaque fois que l'on voudra faire référence à un champs particulier d'une table données, on écrira cela sous la forme "[table]![champs]".

On peut également utiliser une expression particulière : le VraiFaux. Celui-ci sert à vérifier si une condition est vraie ou non, et à agir en fonction. La syntaxe du VraiFaux est la suivante :

vraifaux(condition; valSiVrai; valSiFaux)

Expliquons les différent paramètres de cette expression :

  • - la condition correspond à ce que l'on souhaite vérifier, par exemple, qu'une quantité est inférieur à 3, qu'une valeur est égale à 12, etc...
  • - valSiVrai correspond à la valeur qu'on souhaite que prenne l'expression "vraifaux" si la condition est vraie.
  • - valSiFaux correspond à la valeur qu'on souhaite que prenne l'expression "vraifaux" si la condition est fausse.
Par exemple, supposons qu'on souhaite calculer une réduction de 10% des prix pour les produits de catégorie 1, 2 ou 3. On écrira la requête suivante :

Cela revient à dire la chose suivante : on crée un nouveau champs appelé Reduc ; pour chaque produit, si la catégorie du produit est inférieur à 3, alors il vaudra 0,1 fois le prix du produit (10% du prix) ; sinon, il vaudra 0 fois le prix du produit (soit une réduction de 0).

Le résultat de cette requête est le suivant :

Il est tout à fait possible d'utiliser un champs calculé dans un autre champs calculé. Dans l'exemple suivant, on utilise le champs "Reduc" dans un nouveau champs calculé "Prix Total" qui calcul le prix des produit avec la réduction.

Le résultat de cette requête est le suivant :