
Date de publication : 30/08/08
Par
Jean BALLAT (Espace perso de jeannot45)
![]() | Attention à ne pas mélanger les deux termes "indépendant" ci-dessus. Les sous-états placés dans l'état principal auront bien entendu une source de données et seront considérés comme des états DEPENDANTS d'une source mais INDEPENDANTS entre eux. |
![]() | J'ai mis quatre repères dans cette image |

![]() |
Affiche l'aperçu de l'état | ![]() |
Affiche ou masque la liste des champs |
![]() |
Bascule en mode création | ![]() |
Affiche la fenêtre des regroupements |
![]() |
Affiche ou masque la boîte à outils | ![]() |
Ouvre la fenêtre des propriétés |

![]() | A la création de l'état, en choisissant dans la liste déroulante la source concernée. |
![]() |
Afficher la fenêtre en cliquant droit sur le fond de l'état ou cliquer sur l'outil des propriétés. Cliquer sur l'onglet "Données". Utiliser le bouton qui ouvre la liste déroulante et choisir une source ou cliquer sur le bouton contenant "...". On accède alors à la fenêtre de génération des requêtes. |
| Section | Description |
|---|---|
| Entête d'état |
S'imprime une seule fois en haut de l'état ENTRE la marge du haut et l'entête de page. Section POUVANT recevoir un champ de cumul global. |
| Entête de page |
S'imprime en haut de chaque page SOUS la marge du haut sauf sur la première où il s'imprime SOUS l'entête d'état. Section NE POUVANT PAS recevoir de champ de cumul. |
| Détail |
S'imprime pour CHAQUE LIGNE de la source. Peut recevoir des champs calculés mais pas de cumul. |
| Pied d'état |
S'imprime une seule fois SOUS la dernière ligne de l'état (le dernier détail). Section POUVANT recevoir un champ de cumul général. |
| Pied de page |
S'imprime en bas de chaque page AU-DESSUS de la marge du bas. Section NE POUVANT PAS recevoir de champ de cumul. |
![]() | J'ai placé les sections dans l'ordre de leur impression et non dans l'ordre où elles apparaissent dans la structure de l'état. |
![]() | En effectuant un clic maintenu sur un champ de la liste source et en le glissant sur l'état dans la section souhaitée. |
![]() | En cliquant sur l'outil ci-contre et en cliquant sur l'état dans la section souhaitée. |
![]() |
1) Cliquer maintenu sur le champ et le glisser sur l'état. 2) Un champ déposé sur un état s'appellera désormais CONTRÔLE. Il se compose de deux parties. 3) L'étiquette ou le label : affiche le nom du champ ou la légende (paramétrée lors de la création du champ). 4) La zone Texte : Affiche le contenu du champ (si le champ est indépendant, le mot "indépendant" s'affiche en lieu et place du nom du champ source). |
![]() | Pour sélectionner un contrôle, il suffit de cliquer sur la partie du contrôle souhaité. Celle-ci est alors entourée de petites poignées qui permettront de la redimensionner. |
![]() | On retrouve les mêmes méthodes de sélection que dans les autres produits tels PowerPoint ou encore l'Explorateur de fichiers. On clique maintenu sur le formulaire à côté d'un des contrôles à sélectionner et on traverse tous les contrôles concernés par la sélection. |
![]() | On entend par sélection multiple, la sélection d'un ensemble de contrôles qui ne sont pas contigus. On sélectionnera un premier contrôle puis on maintiendra la touche SHIFT et on cliquera sur tous les contrôles concernés par la sélection. |
![]() | Amener le pointeur de la souris dans la règle au-dessus des contrôles à sélectionner puis effectuer un clic maintenu. Vous remarquerez un trait fin traversant l'état et certains contrôles. Tous les contrôles traversés par la ligne seront sélectionnés. |
![]() | On peut remarquer qu'en amenant le pointeur de la souris sur le bord du champ, entre deux poignées, celui-ci change de forme et affiche une petite main. Cliquer maintenu alors et glisser pour amener le contrôle à l'endroit souhaité. |
![]() | Lorsque le pointeur de souris est en forme de petite main, il est alors possible de déplacer le contrôle d'une section à une autre. |
![]() | On peut remarquer qu'après avoir sélectionné le contrôle à déplacer, deux grosses poignées se distinguent en haut et à gauche de chaque partie du contrôle. En amenant le pointeur de souris au dessus de chacune d'entre elles, le pointeur change à nouveau de forme et présente maintenant un petit doigt. En cliquant maintenu sur la poignée, on pourra alors déplacer indifféremment la zone texte ou l'étiquette. |
![]() | Lorsque le pointeur de la souris est en forme de petit doigt, le déplacement ne se fait que dans la section en cours. |
![]() | Il suffira de sélectionner la zone de texte et d'appuyer sur la touche SUPPR ou DELETE (suivant votre clavier). |
![]() | La seule partie d'un contrôle qui peut être supprimée indépendamment de l'autre est l'étiquette. Cliquer sur celle-ci afin de la sélectionner puis appuyer sur la touche SUPPR ou DELETE (suivant votre clavier). |
![]() |
L'outil est très simple d'utilisation. Un clic sur celui-ci puis clic maintenu sur l'état et tirer. On remarquera que les touches SHIFT et CTRL non aucun effet contrairement à PowerPoint, Word ou Excel. |
![]() | Cet outil se manipule comme l'outil trait. A noter cependant que lorsqu'on dessine un rectangle au-dessus de contrôles, l'application d'une couleur de remplissage masque ceux-ci. On passera l'objet dessiné en arrière plan par le menu "Format" puis "Mettre en arrière plan". |
![]() |
Tous les objets posés sur un état pourront être mis en forme par la barre d'outils ci-contre. Après sélection, il suffira de cliquer sur les outils ad hoc. On notera, cependant, un outil spécifique à Access : le dernier à droite de la barre qui permet de donner des effets de relief aux objets en cours de sélection. |
![]() |
La génération des tris et la demande de regroupement se font par le même chemin. Cliquer une fois sur le bouton ci-contre situé dans la barre d'outils. |
| Section | Description |
|---|---|
| Entête d'état | Voir "Le Rôle des sections" |
| Entête de page | Voir "Le Rôle des sections" |
| Entête de groupe | S'imprime au début de chaque nouveau groupe, AU DESSUS du premier détail du groupe. Section POUVANT recevoir un champ de cumul partiel. |
| Détail | Voir "Le Rôle des sections" |
| Pied de groupe | S'imprime SOUS le dernier détail du groupe et s'imprimera AVANT le Pied d'état. Section POUVANT recevoir un champ de cumul partiel. |
| Pied d'état | Voir "Le Rôle des sections" |
| Pied de page | Voir "Le Rôle des sections" |
![]() | L'entête et le pied de groupe sont indépendants l'un de l'autre. Il sera possible d'afficher l'un sans l'autre, contrairement aux autres sections où l'affichage de l'entête entraîne forcément l'affichage du pied. |
![]() |
Après avoir cliqué sur le bouton présenté ci-dessus, la boite de dialogue ci-contre s'affiche. Choisir le ou les champs sur lesquels on souhaite provoquer des regroupements. (La hiérarchie des regroupements se fait de haut en bas). Le fait d'avoir sélectionné un champ ne provoque pas encore le regroupement. Dans la situation actuelle, celui-ci est considéré par l'état comme une clé de tri. Pour générer les sections de regroupement dans l'état, il suffit de passer les propriétés "Entête de groupe" et/ou "Pied d'état" sur OUI. On remarquera trois autres propriétés : - Regrouper sur : permet d'indiquer comment devra se comporter le regroupement. - Intervalle : permet d'indiquer en cas de regroupement alphabétique, le nombre de caractères représentant un niveau de regroupement. - Section insécable : permettra d'indiquer comment doit se comporter le regroupement en fin de page. |
![]() |
Je ferai deux remarques importantes sur cet onglet : - Les marges sont indiquées en millimètre ! - L'option "Données seulement" permet d'éviter l'impression des étiquettes des champs et de tous les éléments graphiques posés sur notre état, afin d'imprimer sur un document pré-imprimé. |
![]() | Une remarque particulière dans cet onglet : la possibilité de définir une imprimante particulière pour chaque état de notre base de données. |
![]() |
Cette boite de dialogue nous permettra de spécifier le nombre de colonnes souhaitées lors de l'impression. Et là, un petit calcul s'impose. En effet la largeur de notre état sera fonction de ce nombre de colonnes. On la calculera suivant la formule : (ZI - (IC *( NC - 1)))/ NC. ZI représente la largeur imprimable de la page papier (C'est à dire la largeur de la feuille moins les marges). IC représente l'espace intercolonne. NC représente le nombre de colonnes. Exemple : Impression en deux colonnes sur une feuille 21 x 29.7 sachant que les marges ont une largeur de 25mm et que l'espace entre les colonnes est de 0.5cm. On écrira le calcul suivant : ((21 - 5) - (0,5 * (2 - 1 ))) / 2 = 7,75 Si la largeur de l'état excède 7,75cm, Access prévient que la largeur de la section dépasse la largeur imprimable. Il faut donc diminuer la largeur de notre état. |
![]() | Nous allons, au fil de 10 étapes, construire un état qui permettra d'imprimer le catalogue de notre bibliothèque par catégorie, trié par genre et par auteur. Celui-ci sera daté à la date d'impression qui correspondra à une mise à jour du catalogue. Nous ferons également apparaître, pour chaque regroupement, le nombre de titres disponibles ainsi que le nombre total de livres dans la bibliothèque. D'autre part, les lignes de la section Détail seront numérotées et les ouvrages du 17ième siècle apparaîtront en Gras et Rouge, ceux du 18ième en gras Bleu et ceux du 19ième en gras Violet. |
![]() | On remarquera la mention "PAR CATEGORIE" et la règle de tri. Cela suppose que nous aurons à gérer un regroupement et un tri interne à notre état. |

![]() |
Rappel sur l'insertion d'un champ calculé : - Saisir un nom de champ évocateur; - Taper : (sans espace); - Saisir l'expression de calcul. (exemple : Identité:[nom_auteur] & " " & [prenom_auteur]) |
![]() |
Pour créer un format personnalisé : Cliquer droit sur le nom du champ concerné puis dans la fenêtre des propriétés. Dans la ligne "Format" de la propriété taper : 0" ième" |
![]() |
Le 0 représente la valeur contenue dans le champ. Quant au texte à afficher, il est placé entre guillemets. On notera que l'espace séparant le texte et le nombre se trouve à l'INTERIEUR des guillemets. |
![]() |
Créer l'état en l'attachant à la requête "R_Catalogue Général". - Cliquer onglet "ETATS"; - Cliquer sur le bouton "NOUVEAU"; - Paramétrer la boîte de dialogue comme ci-contre. |

![]() |
Plusieurs remarques s'imposent à ce niveau de génération de l'état : - Le contrôle "Catégorie" n'est pas placé. Il servira pour le regroupement. - Les contrôles étant placés dans la section Détail, cette organisation va se répéter pour chaque enregistrement de la source. On va donc retrouver les étiquettes pour chaque enregistrement ! |
![]() |
Plusieurs options se présentent : Soit placer les étiquettes en entête de page, soit en entête de groupe. Quelles sont les conséquences ? - Dans l'entête de page : les étiquettes se répètent en haut de chaque PAGE. - Dans l'entête de groupe : les étiquettes se répètent au début de chaque GROUPE. Ce sera donc notre choix. |
![]() | Rappel : Pour regrouper ou trier, il nous faut utiliser l'outil ci-contre. Celui-ci nous donnera accès à la boîte de dialogue ci-dessous. |
![]() |
- Choisir le champ objet du regroupement; - Dans la zone des propriétés, mettre sur OUI les paramètres En-tête de groupe et Pied de groupe. Dans l'état s'ouvrent alors les sections demandées et à gauche du nom du champ s'affiche le logo de regroupement. |
![]() | Rappel : On peut imbriquer jusqu'à 4 niveaux de regroupement. |
![]() |
On organise les tris dans la foulée en plaçant les champs qui serviront de clés de tri, dans l'ordre hiérarchique souhaité (la lecture des clés se fait du haut vers le bas).
C'est-à-dire que les données seront d'abord triées sur le genre puis, pour un même genre, un second tri sera fait sur l'identité de l'auteur. Pour que les champs choisis restent "clé de tri", on n'active aucune option dans les propriétés. On remarquera que le logo de regroupement n'apparaît pas à gauche des champs. |
![]() | Rappel : on peut imbriquer jusqu'à 10 clés de tri. |

![]() |
Cette section va contenir un champ calculé. Celui-ci devra compter le nombre de titres disponibles dans la section. Pour implanter le champ, cliquez sur l'outil "Zone Texte" de la boîte à outils puis cliquez dans la section Pied de groupe |
![]() |
Il nous faut maintenant renseigner ce nouveau champ indépendant. Pour modifier l'étiquette, nous disposons de deux méthodes. - Soit directement par l'étiquette en cliquant dans celle-ci; - Soit comme ci-contre par les propriétés (onglet Format). |
![]() |
Pour générer le calcul, nous allons modifier la propriété source contrôle de la zone de texte. Pour cela, après avoir cliqué sur la zone texte, passons dans l'onglet "Données" En positionnant le curseur dans la propriété : Source contrôle, un bouton avec "..." s'affiche à droite. Ce bouton appelle le générateur d'expression (voir ci-contre). Décrivons les différentes étapes: 1) Faire un double clic sur le dossier "Fonctions"; 2) Faire un seul clic sur le dossier "Fonctions intégrées"; 3) Rechercher la catégorie de fonctions "Regroupement SQL" et cliquer une fois sur celle-ci; 4) Double-cliquer sur la fonction "Compte" (Celle-ci s'affiche dans la partie haute de la boîte de dialogue); 5) Cliquer une fois sur "expr" placé dans les parenthèses; 6) Ouvrir le dossier "E_CatalogueGeneral" et rechercher le champ concerné par le calcul. |
![]() |
Pour positionner la zone texte qui recevra la numérotation des lignes, cliquer dans la boîte à outils sur Zone de Texte (bouton : ab) puis cliquer tout à gauche de la zone détail devant
le contrôle "CodeLivre". Réduire la largeur de celui-ci en fonction du besoin. Afficher la fenêtre des propriétés et modifier comme suit : - Nommer le contrôle : txtNumLigne. (Prenez l'habitude de nommer tout nouvel objet implanté sur l'état); - Saisir dans la "Source Contrôle" : = 1; - Dans la propriété "Cumul", choisir : par groupe. |

![]() |
Comme dans l'application Excel, on pourra appliquer une mise en forme conditionnelle. Sélectionner le contrôle concerné par la mise en forme conditionnelle puis cliquer sur le menu "Format - Mise en forme conditionnelle". Paramétrer la boîte de dialogue en fonction des contraintes posées : 1) Choisir le type de règle posée. - la valeur du champ : la mise en forme est appliquée en fonction de la propre valeur du champ. - Expression : Expression de calcul qui gère la mise en forme du contrôle sélectionné en fonction d'une valeur d'un autre contrôle. 2) Choisir une expression de comparaison. 3) Saisir la valeur du critère. 4) Utiliser les boutons pour créer la mise en forme. 5) Le bouton "Ajouter" permet d'imbriquer jusqu'à 3 conditions de mise en forme. 6) Le bouton "Supprimer" permet de supprimer les conditions posées. |
![]() |
On procèdera de la même façon que pour les contrôles indépendants de En-tête et Pied de groupe. Si les sections ne sont pas affichées, cliquer sur le menu : "Affichage puis En-tête et Pied de page". On remarquera que dans le générateur d'expression, il y a un dossier "Expression communes" (1). En ouvrant celui-ci, il nous sera facile de récupérer (2) : - la date en cours. - la numérotation des pages, etc ... |
![]() |
Cliquez sur le bouton ci-contre puis cliquez dans la section "En-tête de rapport" et saisissez le texte du titre. Validez votre saisie puis mettez en forme en changeant la police et en modifiant la taille de celle-ci. Pour réajuster la taille de l'étiquette, faites un double clic sur une des poignées de la zone sélectionnée. |
![]() |
Pour centrer le titre sur la largeur de l'état, positionner le contrôle contre la règle à gauche puis redimensionner en étirant le contrôle jusqu'en bordure de l'état à droite. Cliquez enfin sur l'icône "Centrer" |
![]() |
Maitrisant maintenant un peu plus les techniques de création d'un état, je ne peux que vous conseiller la lecture de : - Comment réaliser une table des Matières dans un état ACCESS(Fabrice CONSTANS). - Apprendre à écrire et à dessiner dans un état ACCESS(Philippe JOCHMANS). - Comment utiliser plusieurs requêtes pour un même état(Jean BALLAT). |
Copyright © 2008 Jean BALLAT. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Droits de diffusion permanents accordés à developpez LLC. Cette page est déposée à la SACD.