Documentation Les états d'Access
![Documentation Les états d'Access](/images/remos_downloads/previews/defprev.jpg)
7. Les états d'Access
1. Introduction
Si dans un tableur comme Excel, l'impression est directe (via la commande imprimer du menu Fichier), ce n'est pas le cas des bases de données (SGBD). L'impression d'un rapport passe par la création préalable d'un état. Ces états permettent de faire (outre l'affichage des champs) des tris et des filtres sur les enregistrements. La dernière possibilité des états va permettre également de créer des sous-totaux et des totaux sur les résultats imprimés. Les états reprennent donc les calculs repris par les fonctions Excel.
Rappel
Une base de donnée permet de classer, trier et filtrer de larges quantités d'informations. Chaque logiciel de gestion (comptabilité, gestion commerciale, stock, ) est d'ailleurs une base de donnée. Vous pouvez également le faire avec un tableur de type Excel. C'est en partie vrai. Si vous êtes un utilisateur avancé du tableur, certaines fonctions peuvent sembler similaires. Néanmoins, les possibilités de Microsoft Access sont largement supérieures dans ces domaines, surtout si vous utilisez de grandes quantités de données.
Base de donnée Access?
Maintenant que les explications préliminaires du cours Access sont acquises, intéressons nous à la base de donnée de Microsoft. Les onglets d'Access se subdivisent en 7 parties. Passons en revue les principaux.
- Débutons par la table: elle reprend les informations brutes (non traitées): les enregistrements et les champs.
- Une requête permet diverses mises en forme des tables: le tri, filtre, afficher ou nom des données, …
- Un Formulaire permet d'afficher les tables et les requêtes d'une manière agréable.
- Un état permet d'imprimer des données de tables et de requêtes avec si nécessaire des regroupements et des calculs. C'est bien là la grosse différence entre Excel et Access, les calculs ne se font pas par de simples formules, mais bien par ces états d'impression. L'avantage, c'est qu'une fois que l'état est fait, tout se fait automatiquement. Le défaut, c'est de … faire ces états. Néanmoins, pour de nombreux enregistrements (plus de 500), Excel est vite dépassé, ce qui n'est pas le cas d'Access.
- Les macros permettent d'exécuter des fonctions à partir de requêtes ou de formulaires. Nous ne rentrerons pas dans la programmation d'ACCESS dans cette formation mais utiliserons ces fonctions pour créer un formulaire d'entrée.
Dans une base de donnée Access, les impressions se font à l'aide des états.
Utilisons le mode "A l'aide des assistants". Sélectionnons la requête relation que nous avions déjà créée. Celui-ci reprenait les albums et leur contenu. Sélectionnons l'ensemble des champs.
Microsoft Access demande si nous souhaitons ajouter un niveau de regroupement. Ceci permet de rassembler par exemple les titres repris sous un album par exemple. Sélectionnons donc classement. Cliquons sur suivant. Sélectionnons comme tri le numéro de la plage. Ceci va organiser toutes les impressions suivant le titre de l'album, avec pour chaque album une organisation suivant le numéro de la piste. Ensuivant, sélectionnons une organisation quelconque, par exemple échelonné. Sélectionnons ensuite un style suivant nos préférences et donnons le titre relation à notre état.
Voici notre premier état Access de créé. Sélectionnons notre état et cliquons sur modification.
La fenêtre reprend les différents composants de notre état en mode modification: des titres et des champs. Commençons par analyser les différentes zones de cet état.
L'entête d'état reprend les textes qui seront repris au début de notre impression. L'entête de page reprend les textes (images, …) qui seront imprimés sur toutes les pages, sans exceptions. En-tête de groupe classement reprend ce qui sera imprimé pour chaque classement (ici le code de chaque album). Dans notre cas, nous avons inséré le champ, ce qui sera imprimé sera donc le contenu du champ. En détail, sont repris le contenu de chaque album. En pied de page, ce qui sera imprimé sous chaque page.
Nous allons modifier certaines parties. Commençons par la zone détail. En cliquant sur numéro de piste, nous pouvons déplacer ce champ. Pour cela, pointons notre souris en haut à gauche du champ et déplaçons le vers la gauche. Nous pouvons faire de même pour les autres champs. Nous pouvons faire de même avec les titres dans la partie entête de page. Nous pourrions faire mieux. Supposons que nous souhaitions faire des jaquettes pour mettre au dos de nos pochettes. L'idéal serait de ne pas avoir d'entêtes de page, reprendre un album par pages. Le pied de page ne nous intéressant pas trop. Fermons notre états.
Sélectionnons l'état relation et avec le menu contextuel, sélectionnons COPIER. Collons maintenant notre état. Donnons comme nom album et sélectionnons-le en modification. Sélectionnons le titre et appuyons sur la touche <del> pour le supprimer. Si nous essayons de réduire la zone, Access reprend quand même une petite zone. Pour réduire toute cette zone, il nous faut d'abord effacer la ligne de séparation qui a été créée automatiquement. L'entête de page totalement réduit, plus rien ne sera imprimé.
Nous souhaiterions reprendre chaque album sur une page. Dans les outils, reprenons la commande Saut de page et insérons là dans la partie en-tête de groupe. Ceci insérera un saut de page entre chaque album (un album par page).
Ceci est un exemple de base de donnée. Nous n'avons ici utiliser que les fonctions de liaisons entre bases de données et de tris. Ce serait sous-utiliser les bases de données et Access en particulier. Notre but n'est pas de rentrer dans la programmation, mais d'organiser notre travail. | |
Toutes les impressions passent par ces états. Si nous voulons créer un état sur un tri particulier, nous pouvons, soit utiliser les fonctions de regroupement dans la création de l'état, soit créer une requête de départ pour créer ce regroupement.
3.1. Utilisation des regroupements.
Prenons un exemple simple de création d'état en utilisant le regroupement, la liste des albums de notre discothèque. Créons un formulaire en mode "assistant création" et sélectionnons simplement la table album (qui contient uniquement les données spécifiques au CD musical). Sélectionnons le champ Classement comme regroupement. Comme tri, nous pouvons par exemple choisir la date. Même si cet exemple est simpliste, c'est la première méthode pour créer rapidement un petit état.
3.2. Création d'un état via une requête.
Outre les avantages de tris ci-dessus, cette deuxième méthode a quelques avantages, notamment de permettre de n'afficher que les enregistrements avec une condition sur un champ. Nous avons déjà utilisé cette méthode mais nous allons l'améliorer pour ne plus reprendre une condition fixe, mais une question demandée avant d'afficher l'état.
Créons une requête à l'aide de l'assistant sur la table album. Sélectionnons Tri croissant pour le champ classement. Comme critère, nous allons choisir [Quel-classement?"]. Ce champ n'existe pas mais justement, Access va demander la valeur de ce classement et finalement n'afficher que les enregistrements correspondant.
Seul petit défaut à ce système, le contenu de la question doit être exactement celui demandé. Pour les chiffres et les dates, vous pouvez même créer une condition inférieure et une condition supérieure (résultat compris entre des valeurs). Ceci est également valable pour les formulaires,
Conditions Access |
> supérieur => supérieur ou égal < inférieur =< inférieur ou égale <> différents. = égal |
Pour personnaliser nos états, nous pouvons également insérer quelques champs particuliers, notamment l'heure d'impression. Par exemple, en insérant le code "Zone de texte" =Maintenant() dans le pied de page, Access insère la date d'impression au format désiré (par les propriétés de cette zone de texte).