Les calculs dans les requêtes
Créer des colonnes calculées, puis obtenir des totaux, des moyennes et des comptages, sur toute une table ou par groupe.
Base Gestion commerciale : T_Clients (N°Client, Prénom, Nom, Ville) et T_Commandes (N°Commande, N°Client, DateCommande, DateLivraison, MontantHT), liées par N°Client.
Insérer un champ calculé
Pas à pas
- Ouvrez la requête en mode Création.
- Dans une cellule Champ vide, saisissez le nom de la nouvelle colonne, deux-points, puis l’expression :
MontantTTC: [MontantHT]*1,2. - Pour une expression longue : clic droit dans la cellule › Zoom (Maj + F2), ou Créer pour ouvrir le Générateur d’expressions.
- Formatez le résultat : clic dans la colonne › Feuille de propriétés › Format = Monétaire.
- Exécutez : la colonne est calculée pour chaque enregistrement.
| Champ | N°Commande | MontantHT | MontantTTC: [MontantHT]*1,2 |
|---|---|---|---|
| Table | T_Commandes | T_Commandes | |
| Afficher | ☑ | ☑ | ☑ |
Le champ calculé n’a pas de table : il n’existe que dans la requête.
Exemples d’expressions
| Besoin | Expression |
|---|---|
| Calcul numérique | MontantTTC: [MontantHT]*1,2 |
| Assembler du texte | Client: [Prénom] & " " & [Nom] |
| Écart entre deux dates | Délai: [DateLivraison]-[DateCommande] |
| Extraire l’année | AnnéeCde: Année([DateCommande]) |
| Calcul conditionnel | Remise: VraiFaux([MontantHT]>1000;[MontantHT]*0,05;0) |
| Remplacer un vide par 0 | Montant: Nz([MontantHT];0) |
Un nom de champ mal orthographié entre crochets ne provoque pas d’erreur : Access le prend pour un paramètre et affiche une boîte de saisie. Si une question inattendue apparaît, vérifiez l’orthographe.
Ne nommez jamais le champ calculé comme un champ existant : MontantHT: [MontantHT]*1,2 provoque une référence circulaire.
Un champ calculé n’est pas stocké : il est recalculé à chaque exécution. C’est pourquoi on ne crée pas de colonne « TTC » dans la table.
Effectuer un calcul statistique sans regroupement
Pas à pas
- Créez une requête sur T_Commandes.
- Cliquez sur Création de requête › Totaux (bouton Σ) : la ligne Opération apparaît dans la grille.
- Placez uniquement les champs à calculer, et choisissez une opération pour chacun.
- Renommez les colonnes avec un alias :
CA: MontantHTau lieu de SommeDeMontantHT. - Exécutez : le résultat tient sur une seule ligne.
| Champ | NbCommandes: N°Commande | CA: MontantHT | Panier: MontantHT | DateCommande |
|---|---|---|---|---|
| Opération | Compte | Somme | Moyenne | Où |
| Afficher | ☑ | ☑ | ☑ | ☐ |
| Critères | Entre #01/01/2026# Et #31/12/2026# |
Nombre de commandes, chiffre d’affaires et panier moyen de l’année 2026.
Les opérations disponibles
| Opération | Calcule |
|---|---|
| Somme | Le total des valeurs |
| Moyenne | La moyenne arithmétique |
| Min / Max | La plus petite / la plus grande valeur (aussi les dates) |
| Compte | Le nombre de valeurs non vides |
| EcartType / Var | La dispersion des valeurs |
| Premier / Dernier | La valeur du premier / dernier enregistrement lu |
| Expression | Un calcul sur des agrégats, ex. Somme([MontantHT])*1,2 |
| Où | Filtre les lignes avant le calcul (colonne masquée) |
Compte ignore les cellules vides. Pour compter des enregistrements, comptez un champ toujours rempli, comme la clé primaire.
Effectuer un calcul statistique avec regroupement
Pas à pas
- Créez une requête sur T_Clients et T_Commandes, puis activez Totaux (Σ).
- Placez le champ de regroupement, Ville, avec l’opération Regroupement.
- Ajoutez les champs calculés :
CA: MontantHTen Somme,NbCommandes: N°Commandeen Compte. - Triez CA en Décroissant pour classer les villes.
- Exécutez : une ligne par ville.
| Champ | Ville | CA: MontantHT | NbCommandes: N°Commande |
|---|---|---|---|
| Table | T_Clients | T_Commandes | T_Commandes |
| Opération | Regroupement | Somme | Compte |
| Tri | Décroissant |
| Ville | CA | NbCommandes |
|---|---|---|
| Arras | 18 450 € | 32 |
| Lille | 14 200 € | 27 |
| Lens | 6 980 € | 11 |
Exemple de résultat (données fictives).
Filtrer avant ou après le calcul
| Où placer le critère | Effet | Exemple |
|---|---|---|
| Champ en opération Où | Filtre les commandes avant le regroupement | DateCommande Entre #01/01/2026# Et #31/12/2026# |
| Critère sur une colonne Somme | Filtre les groupes après le calcul | CA >10000 : seules les villes au-delà de 10 000 € |
Regrouper par période
Regroupez sur un champ calculé : AnnéeCde: Année([DateCommande]) en Regroupement donne une ligne par année. MoisCde: Format([DateCommande];"aaaa-mm") donne une ligne par mois.
Chaque champ en Regroupement crée un niveau de détail. Ajouter N°Commande en Regroupement donne une ligne par commande, et la synthèse disparaît. Ne gardez que les champs qui définissent le groupe.
Pour un tableau ville × année, transformez cette requête en analyse croisée : Ville en en-tête de ligne, AnnéeCde en en-tête de colonne, MontantHT en valeur.
Récapitulatif
| Besoin | Méthode |
|---|---|
| Nouvelle colonne calculée | Nom: expression dans une cellule Champ |
| Aide à la saisie | Maj + F2 (Zoom) ou Générateur d’expressions |
| Afficher la ligne Opération | Création de requête › Totaux (Σ) |
| Une ligne de synthèse globale | Uniquement des opérations Somme, Moyenne, Compte… |
| Un sous-total par catégorie | Regroupement sur la catégorie + opération sur la valeur |
| Filtrer les lignes avant calcul | Opération Où + critère |
| Filtrer les groupes après calcul | Critère sur la colonne Somme / Compte |
Exercice 1 : montant TTC et nom complet
Créez R_Commandes_TTC : le client (prénom et nom dans une seule colonne), la date, le montant HT et le montant TTC au format monétaire.
Afficher le corrigé
- Requête sur T_Clients et T_Commandes, jointure sur N°Client.
- Champs :
Client: [Prénom] & " " & [Nom], DateCommande, MontantHT,MontantTTC: [MontantHT]*1,2. - Feuille de propriétés de MontantTTC : Format = Monétaire. Exécuter, enregistrer.
Exercice 2 : bilan de l’année
Créez R_Bilan_2026 qui affiche sur une ligne : nombre de commandes, chiffre d’affaires HT, panier moyen, plus petite et plus grosse commande de 2026.
Afficher le corrigé
- Requête sur T_Commandes, bouton Totaux.
NbCommandes: N°CommandeCompte ·CA: MontantHTSomme ·Panier: MontantHTMoyenne ·Mini: MontantHTMin ·Maxi: MontantHTMax.- DateCommande en opération Où, critère
Entre #01/01/2026# Et #31/12/2026#.
Exercice 3 : les meilleures villes par année
Créez R_CA_Ville_Annee : chiffre d’affaires et nombre de commandes par ville et par année, en ne gardant que les groupes de plus de 5 000 €, du plus grand au plus petit.
Afficher le corrigé
- Requête sur T_Clients et T_Commandes, bouton Totaux.
- Ville en Regroupement,
AnnéeCde: Année([DateCommande])en Regroupement. CA: MontantHTen Somme, critère>5000, tri Décroissant ·NbCommandes: N°Commandeen Compte.