Les états
Présenter et imprimer les données : listes triées, regroupements avec sous-totaux, sous-états et planches d’étiquettes.
Base Gestion commerciale : T_Clients (N°Client, Prénom, Nom, Adresse, CodePostal, Ville) liée à T_Commandes (N°Commande, N°Client, DateCommande, MontantHT).
Définition d’un état
Un état présente les données d’une table ou d’une requête, sa source, sous une forme destinée à la lecture et à l’impression : liste, facture, bilan, étiquettes. On ne peut pas y modifier les données. Son point fort : regrouper les enregistrements et calculer des sous-totaux et des totaux.
| Mode | Usage |
|---|---|
| Mode État | Consultation à l’écran, sans découpage en pages |
| Aperçu avant impression | Rendu exact page par page, export PDF |
| Mode Page | Ajuster la présentation avec les données visibles |
| Mode Création | Sections, contrôles, calculs, propriétés |
Formulaire = écran de saisie. État = document de restitution. Les deux se construisent avec les mêmes outils : sections, contrôles, feuille de propriétés.
Créer un état à l’aide de l’Assistant
Pas à pas
- Créer › Assistant État.
- Choisissez les champs : Ville, Nom (T_Clients), DateCommande, MontantHT (T_Commandes).
- Niveaux de regroupement : double-cliquez sur Ville.
- Ordre de tri : jusqu’à 4 champs, ici DateCommande. Cliquez sur Options de synthèse : cochez Somme pour MontantHT, puis Détail et synthèse.
- Disposition : Échelonné, Bloc ou Contour. Orientation : Portrait ou Paysage.
- Titre : E_Commandes_par_Ville, puis Aperçu de l’état › Terminer.
Pour un état immédiat, sélectionnez la table dans le volet de navigation puis Créer › État : tous les champs sont placés en colonnes.
Le bouton Options de synthèse n’apparaît que si l’état contient au moins un champ numérique ou monétaire.
Afficher l’état en mode Création
Pas à pas
- Dans le volet de navigation : clic droit sur l’état › Mode Création.
- État déjà ouvert : Accueil › Affichage › Mode Création.
- Les onglets Création d’état, Organiser, Format et Mise en page apparaissent.
Un état ouvert par double-clic s’affiche en mode État. Les champs qui débordent ou les pages blanches ne se voient qu’en Aperçu avant impression : vérifiez toujours dans ce mode.
Les sections de l’état
Expressions utiles
| Besoin | Expression | Section |
|---|---|---|
| Numéro de page | ="Page " & [Page] & " sur " & [Pages] | Pied de page |
| Date du jour | =Date() | En-tête d’état |
| Sous-total | =Somme([MontantHT]) | Pied de groupe |
| Total général | =Somme([MontantHT]) | Pied d’état |
| Nombre de lignes | =Compte(*) | Pied de groupe ou d’état |
La même formule =Somme([MontantHT]) donne un sous-total ou un total général : c’est la section où elle est placée qui décide.
Un total placé dans le pied de page provoque une erreur : Access ne calcule pas de somme par page. Utilisez le pied de groupe ou le pied d’état.
Ordre de tri d’un état
Pas à pas
- En mode Création ou Page : Création d’état › Regrouper et trier.
- Le volet Regroupement, tri et total s’ouvre sous l’état. Cliquez sur Ajouter un tri.
- Choisissez le champ, Nom, puis de A à Z ou de Z à A.
- Ajoutez d’autres tris si besoin : ils s’appliquent dans l’ordre de la liste.
Le tri défini dans la requête source n’est pas garanti dans l’état. Définissez toujours le tri dans le volet Regroupement, tri et total.
Insérer des sous-états
Pas à pas
- Créez d’abord l’état secondaire, SE_Commandes (N°Client, DateCommande, MontantHT).
- Ouvrez l’état principal E_Clients en mode Création et agrandissez la section Détail.
- Faites glisser SE_Commandes du volet de navigation dans la section Détail. Ou utilisez le contrôle Sous-formulaire/Sous-état et son assistant.
- Vérifiez les propriétés Champs pères et Champs fils = N°Client.
- Contrôlez le résultat en Aperçu avant impression.
Propriété Auto extensible = Oui sur le contrôle sous-état : sa hauteur s’adapte au nombre de commandes de chaque client.
Créer un état pour l’impression d’étiquettes
Pas à pas
- Sélectionnez T_Clients dans le volet, puis Créer › Étiquettes.
- Choisissez le fabricant et la référence imprimée sur la boîte d’étiquettes, ou Personnaliser pour saisir les dimensions.
- Réglez la police, la taille et la couleur du texte.
- Construisez l’étiquette prototype : double-cliquez sur les champs, ajoutez espaces et retours à la ligne :
- {Prénom} {Nom}
- {Adresse}
- {CodePostal} {Ville}
- Tri : CodePostal (utile pour l’affranchissement en nombre). Nommez l’état E_Etiquettes_Clients › Terminer.
Faites un essai sur une feuille blanche, superposée à une planche d’étiquettes à la lumière, avant d’imprimer sur les vraies étiquettes.
Pour n’imprimer qu’une partie des clients, basez l’assistant sur une requête filtrée plutôt que sur la table.
Imprimer un état
Pas à pas
- Clic droit sur l’état › Aperçu avant impression.
- Réglez marges et orientation : groupes Taille de la page et Mise en page.
- Imprimez avec Ctrl + P : imprimante, pages, nombre de copies.
- Pour un PDF : groupe Données › PDF ou XPS.
Une page blanche toutes les deux pages signifie que la largeur de l’état dépasse la largeur imprimable. Rapprochez le bord droit de l’état en mode Création ou réduisez les marges.
Pour commencer chaque ville sur une nouvelle page : propriété Saut de page = Après section sur le pied de groupe.
Définir le regroupement des enregistrements
Pas à pas
- Création d’état › Regrouper et trier › Ajouter un groupe › Ville.
- Cliquez sur Plus pour afficher toutes les options du groupe :
- avec une section d’en-tête / avec une section de pied.
- Totaux : champ MontantHT, type Somme, cochez Afficher dans le pied de groupe et Afficher le total général.
- Conserver le groupe entier sur une même page.
- Placez Ville dans l’en-tête de groupe et les autres champs dans le Détail.
- Ajoutez un second niveau si besoin : Ajouter un groupe › DateCommande par mois.
| Type de champ | Intervalles de regroupement |
|---|---|
| Date | Par année, trimestre, mois, semaine, jour |
| Texte | Valeur entière, ou première(s) lettre(s) : répertoire alphabétique |
| Nombre | Par tranches : 10, 100, 1 000… |
Pour un annuaire alphabétique : groupe sur Nom par premier caractère, avec dans l’en-tête de groupe =Gauche([Nom];1) en gros caractères.
Récapitulatif
| Besoin | Outil |
|---|---|
| État guidé avec groupes et totaux | Créer › Assistant État |
| Modifier la structure | Clic droit › Mode Création |
| Trier, regrouper, totaliser | Création d’état › Regrouper et trier |
| Sous-total / total général | =Somme([Champ]) en pied de groupe / pied d’état |
| Numéro de page | ="Page " & [Page] & " sur " & [Pages] |
| Données liées dans l’état | Sous-état, Champs pères / fils |
| Planche d’étiquettes | Créer › Étiquettes |
| Aperçu avant impression › PDF ou XPS |
Exercice 1 : liste des clients
Créez E_Liste_Clients : Nom, Prénom, Ville, triés par nom, avec le numéro de page « Page x sur y » en pied de page.
Afficher le corrigé
- Assistant État › T_Clients › Nom, Prénom, Ville › pas de regroupement › tri sur Nom › Tabulaire.
- L’assistant ajoute un numéro de page. Sinon, en mode Création, zone de texte en pied de page :
="Page " & [Page] & " sur " & [Pages]. - Vérifier en Aperçu avant impression.
Exercice 2 : commandes par ville avec sous-totaux
Créez E_CA_Ville : commandes regroupées par ville, triées par date, avec sous-total par ville, total général et une nouvelle page par ville.
Afficher le corrigé
- Assistant État : Ville, Nom, DateCommande, MontantHT › regroupement Ville › tri DateCommande › Options de synthèse : Somme.
- Mode Création : vérifier
=Somme([MontantHT])dans le pied de groupe Ville et le pied d’état. - Pied de groupe Ville › propriété Saut de page = Après section.
Exercice 3 : étiquettes des clients du Pas-de-Calais
Imprimez une planche d’étiquettes pour les seuls clients dont le code postal commence par 62, triées par code postal.
Afficher le corrigé
- Requête R_Clients_62 sur T_Clients, critère CodePostal :
Comme "62*". - Sélectionner R_Clients_62 › Créer › Étiquettes › référence de la planche › prototype Prénom Nom / Adresse / CodePostal Ville.
- Tri sur CodePostal › Terminer › contrôle en Aperçu avant impression.