Le SGBD pour PC : ACCESS Une base de données est une collection de données associées à un même sujet (par exemple, la formation reçue pas chacun des étudiants de la Licence Professionnelle). La plus petite unité d'information d'une base de données est appelée un champ : c'est une catégorie d'information comme le nom de l'étudiant, son adresse électronique ou son profil de formation initiale. Une clé primaire est un champ contenant une information unique à chaque enregistrement, comme le numéro de la carte d'étudiant de l'étudiant. Un groupe de champs connexes, comme ceux contenant toutes les informations relatives à un étudiant, est appelé un enregistrement. Une collection d'enregistrements associés à un sujet donné, telle que l'ensemble des enregistrements des employés, est appelée une table. Lorsqu'on ouvre un objet table, les champs et les enregistrements des employés sont affichés sous forme de feuille de données. Les tables sont les objets les plus importants d'une base de données Access, car elles contiennent toutes les données. Une base de données Access peut également comprendre six autres types d'objets pour accroître la facilité d'accès et la qualité des données. les types d'objet d'une base de données Access sont les tables, les requêtes, les formulaires, les états, les pages, les macros et les modules. Les objets requête sont basés sur les tables ; les formulaires, les pages et les états peuvent être basés sur une table ou sur une requête. Les données peuvent être saisies et modifiées au moyen de quatre type d'objets : les tables, les requêtes, les formulaires et les pages (mais elles sont toujours stockées dans les tables). Les objets macro et module sont employés pour augmenter la productivité de la base de données et pour apporter des outils d'automatisation, tels que des écrans et des boutons d'interface utilisateur graphique (GUI, pour Graphical User Interface) masquant la complexité des objets sous-jacents. Tous les objets d'une base de données sont enregistrés dans un seul fichier. Une base de données Access est dite base de données relationnelle, ce qui signifie que plusieurs tables peuvent partager des informations, ou être "reliées". L'avantage premier de cette organisation relationnelle des données est de limiter la redondance des informations. La possibilité de relier différentes tables de données augmente la précision, la rapidité et la souplesse de la base de données relationnelle. La phase de conception d'une base de données relationnelle est appelée normalisation : elle consiste à déterminer les champs, les tables et les relations appropriées. Les relations peuvent être de trois types : un-à-un, un-à-plusieurs, ou plusieurs-àplusieurs. Table Contient toutes les données brutes de la base de données dans un format semblable à une feuille de calcul ; peut être liée à une autre table au moyen d'un champ commun afin de partager les informations et donc éviter la redondance des données. Requête Fournit une vue des données sous forme de feuille de calcul, tout comme une table, mais peut afficher un sous-ensemble de champs et/ou d'enregistrements pris dans une ou plusieurs tables ; créée quand l'utilisateur veut "interroger" la base de données. Formulaire Propose un écran de saisie conviviale affichant les enregistrements un par un État Permet un impression des données de type professionnel, pouvant contenir en-tête et pied de page, et effectuer des calculs sur des groupes d'enregistrements ; on peut également créer des étiquettes de publipostage grâce aux objets état. Bases de données page 1 sur 20 Page Macro Module et pied de page, et effectuer des calculs sur des groupes d'enregistrements ; on peut également créer des étiquettes de publipostage grâce aux objets état. Crée des pages Web sur la base des objets Access et procure des fonctions de connectivité entre la page Web et la base de données Access Enregistre une suite de touches ou de commandes, pour imprimer une série d'états par exemple ou pour afficher une barre d'outils à l'ouverture d'un formulaire. Contient du code Visual Basic qui étend les fonctions et processus automatisés d'Access. Tableau 1 : Rôles des objets Access États (ne permettent pas de saisir les données) Formulaires Pages Requêtes Tables (stockent les données) Macros 2 types d’objets sont destinés à automatiser la base et à offrir des possibilities de programmation Modules 5 types d’objets sont employés pour saisir, visualiser et imprimer les données 1. Tables ACCESS offre plusieurs moyens pour définir une table, chaque moyen donnant accès à la table selon un mode d’affichage : le mode création, le mode édition, et un mode dirigé par un assistant Microsoft (même genre d’assistant que l’assistant graphique de Excel). Bases de données page 2 sur 20 Dans le mode création on définit explicitement les différentes colonnes de la table à construire : le nom du champ, le type des données qui seront contenues dans ce champ (donc un seul type identique pour toutes les données) et une description pour expliquer l’utilité de ce champ. Bases de données page 3 sur 20 Pour chaque table, on définit un champ comme clé , c’est-à-dire champ permettant de désigner de façon non ambigue un enregistrement unique de la table. Dans le mode d’édition appelé « Feuille de données », la table est représentée comme avec Excel, les colonnes portant les différents champs, et les lignes, les différents enregistrements. Le type des données est estimé par le logiciel en fonction des valeurs entrées, et les noms des champs sont modifiés par l’édition des entêtes des colonnes. Le mode assisté permet, en plus de guider dans les différents choix, d’accéder à l’import de données à partir d’autres SGDB ou d’autres logiciels. On commence par construire chacune des tables associée à chacune des entités du modèle conceptuel. 2. Relations Nous avons vu dans le chapitre précédent, que la « réalisation » des relations dans une base de données relationnelles dépend du type de relation : (1-n), (n-m), et (1,1), en notation appelée précédemment « américaine ». ACCESS offre un outil de représentation graphique et de manipulation « directe » des relations. Bases de données page 4 sur 20 Les tables sont représentées schématiquement comme des cartes listant la liste de ses champs. Le titre de la carte est le nom de la table. Les champs affichés en gras constituent des clés primaires ou autres, clés doubles ou clés résultants de la migration lors d’une relation (1-n). Les relations entre les tables sont représentées par des liens entre les cartes, ces liens portant à chaque extrémité le caractère 1, le caractère ∞ ou aucune étiquette. On peut voir aussi différentes formes pour les extrémités. Bases de données page 5 sur 20 Nous avons vu dans le cours sur les modèles conceptuels, qu’on peut avoir besoin de plusieurs types de relations : Type Description Exemple un-à-un Un enregistrement dans la Dans une table mémorisant les informations table X correspond au plus à sur des étudiants, chacun possède un un enregistrement dans la maximum d’enregistrements lui table Y correspondant dans une table représentant les diplômes obtenus et leurs dates d’obtention Note : Ce type de relation peut sembler assez rarement nécessaire puisque les champs reliés de cette façon peuvent être stockés dans une table unique. Cependant, elle peut s’avérer utile lorsque par exemple la table Y n’a pas toujours un enregistrement pour chaque enregistement de la table X, losrqu’une des tables est beaucoup plus « pauvre » que l’autre. Type Description Exemple un-à-plusieurs Un seul enregistrement de la Un article peut être vendu plusieurs fois, un table X correspond à client peut faire plusieurs achats, un plusieurs enregistrements de professeur peut donner plusieurs cours et un la table Y étudiant peut suivre plusieurs cours Note : c’est le type de relation le plus courrant. On dit que X est la table père et que Y est la table fils. La clé primaire est toujours du côté « un » dans une relation « un-à-plusieurs ». La clé primaire contient un identifiant unique propre à chaque enregistement : la valeur de cette identifiant suffit à désigner un et un seul enregistement. Un champ de correspondance, souvent appelé clé externe, doit être ajouté dans la table fils (située du côté « plusieurs »), pour assurer la liaison avec la clé primaire de la table père (du côté « un »). Par soucis de clareté, il est conseillé d’utiliser le même nom pour la clé externe que celui de la clé primaire dans les deux tables reliées. Remarque : Dans le cas particulier où le nombre de valeurs maximal de la relation est toujours exactement le même, il peut être préférable d’utiliser plusieurs attributs aux enregistrements de la table X, par exemple avec un type booléen pour dire que tel et tel enregistrment est concerné par le facteur porté par l’attribut. Exemple avec le cas d’enseignements prévus pour plusieurs profils d’étudiants : on peut rajouter un attribut par profil dans la table de description des enseignements pour mémoriser que tel enseignement est prévu pour 1 à plusieurs profils. Type Description Exemple plusieurs-à-plusieurs Un enregistrement de la table Un employé peut travaillé dans plusieurs X est relié à plusieurs services de l’entreprise, et chaque service enregistrements de la table fait appel à plusieurs employés pour Y, et un enregistrement de la répondre à la réalisation des ses tâches. Une table Y est relié à plusieurs table de jonction sert à mémoriser quel enregistrements de la table X employé travaille dans quels services et quel service est composé de quels employés Note : Il est impossible de créer directement des relations « plusieurs-à-plusieurs » dans Access. Pour cela, une troisième table, appelée table de jonction, doit être placée entre les deux tables originales. La table de jonction contient des clés externes reliées aux clés primaires des deux Bases de données page 6 sur 20 autres tables, et elle se relie donc aux autres par 2 relations « un-à-plusieurs » séparées. La table de jonction est situés du côté « plusieurs ». Remarque : L’intégrité référentielle peut être établie entre deux tables dans la fenêtre Relations. Elle assure qu’il n’y aura pas d’enregistement « orphelin » dans la base de données. Un enrgistrement orphelin apparaît lorsqu’une donnée contenue dans le champ d’une table « plusieurs » ne possède aucun équivalent dans le champ de liaison de la table « un ». L’intégrité référentielle empêche aussi qu’un utilisateur de la base de donnée, d’effacer le dernier enregistrement utilisé de la table « plusieurs » dans une relation avec une table « un » : tout enregistrement de la table « un » doit être utilisé au moins une fois. Nom Prénom N° auteur Nicouette Sandra 1 Moitout Eddy 2 Si on suprrime cet enregistrement, on supprime aussi cette relation, et on perd l’intégrité N° auteur 1 1 2 N° album 1 2 2 Un menu contextuel qui apparaît lorsque l’on clique avec la souris droite et que le curseur survole une relation, permet de modifier la relation survolée ou de l’éliminer. Le type de relation n’est pas toujours modifiable : il dépend de la manière dont les clés ont été définies. Concrètement, on clique glisse l'Identifiant P de la table père (clef primaire) vers l'Identifiant P de la table fils (clef externe). Comme nous l’avons vu précédemment, pour réaliser les relations de type (n-m) il est nécessaire de construire des tables de correspondance. Une fois ces tables construites, elles doivent être remplies « à la main ». ACCESS permet d’associer des listes de choix aux deux champs d’une table de correspondance. Le remplissage Bases de données page 7 sur 20 sera plus facile puisqu’il consistera à sélectionner dans chaque ligne de la table, les deux valeurs que la ligne met en correspondance. 3. Formulaires Nous avons vu dans le chapitre précédent, que pour structurer des bases de données relationnelles, on utilisait des tables. Un système de gestion de base de données tel qu’Access permet de mettre à jour les informations contenues dans ces tables et offre la possibilité de définir des listes de choix pour faciliter la saisie, qui peuvent suffire pour gérer une base de données utilisant un petit nombre de tables. Cependant, lorsque la base devient plus complexe dans son organisation, avec un grand nombre de tables et de relations, il devient difficile de se souvenir quelle table contient quelles informations. De plus, si la base doit être utilisée par des personnes non expertes dans le maniement des tables, il devient indispensable d’introduire de nouveaux objets Access pour faciliter la manipulation de la base. Ces objets sont les formulaires. Les formulaires sont des fenêtres permettant de proposer une interface simple et conviviale entre l’utilisateur final et le contenu des tables. Chaque formulaire est construit sur mesure pour consulter et/ou modifier les informations d’une ou plusieurs tables. Ainsi, un formulaire de consultation des commandes comme celui ci-dessous permet une consultation agréable et complète des commandes. Ce formulaire puise ses informations dans plusieurs tables (« Clients », « Commandes », « Produits »…). De plus, le montant total de la commande est automatiquement calculé. Ce n’est pas un champ d’une table. Il est important de noter que toutes les informations saisies ou modifiées dans un formulaire sont directement modifiées dans les tables concernées. Un formulaire n’est rien d’autre qu’une vue particulière d’une ou plusieurs tables. Bases de données page 8 sur 20 Remarque : si un formulaire ne contient pas des champs d’une table et que l’on ajoute un enregistrement, les champs non présents ne seront pas remplis (ils seront mis à « Null »). Si ces champs ne sont pas remplis automatiquement lors d’un calcul par exemple, le seul moyen de les mettre à jour est d’aller directement modifier le contenu de la table. Pour définir un formulaire, on peut se laisser guider par l’assistant formulaire, ce qui est la méthode la plus rapide pour démarrer, mais il existe aussi un mode Création qui permet d’ajuster plus finement le « comportement interactif » du formulaire (modification de « contrôles »..). Les formulaires sont composés d’un ensemble de « contrôles » tels que du texte, des cases à cocher, des listes déroulantes, des boutons, des traits, des rectangles de couleur… Certains de ces contrôles servent uniquement de décoration, ils n’ont aucun effet sur le contenu des tables, on parle de « contrôles indépendants ». c’est le cas des traits, des rectangles… D’autres contrôles permettent d’afficher et de modifier le contenu d’un champ d’une table, ce sont les « contrôles dépendants ». On trouve dans cette catégorie les cases à cocher, les listes déroulantes… Enfin, il existe des « contrôles calculés » affichant les données résultant d’opérations arithmétiques. Par exemple, un contrôle peut afficher un prix TTC alors que le prix dans la table est HT. En mode création, l’affichage dans la barre des outils, des outils associé au mode Formulaire, une boîte à outil met à disposition les principaux contrôles. Plusieurs contrôles ont changé de nom dans la version ACCESS 2002 : « Sélectionner les objets » (étant appelé « Sélection d’objets »), « Etiquette » (« Intitulé »), « Case d’option » (« Bouton d’option »), « Zone de liste déroulante » (« Zone de liste modifiable »), « Assistant de Contrôle » (« Assistants de contrôle »). a) Rôles des principaux contrôles Un contrôle « Etiquette » est un contrôle indépendant, qui sert à afficher du texte comme l’intitulé d’une table, le titre d’un formulaire, une remarque sur la manière de saisir les données, etc. Un contrôle « Zone de texte » peut être dépendant ou calculé. Il affiche le contenu d’un champ d’une table ou le résultat d’une opération. En réalité, lorsque l’on crée un contrôle « Zone de texte », ACCESS ajoute systématiquement un contrôle « Etiquette ».Lorsqu’un contrôle « Zone de texte » est lié à un champ d’une table, il permet de mettre à jour ce champ. Pour lier le contrôle et le champ. cela, il suffit de définir la « Source du contrôle », depuis le mode Création. Le nom du champ avec lequel est lié un contrôle, est alors inscrit dans ce contrôle. Les trois contrôles « Boutons bascule », « Case d’option », « Case à cocher » sont des contrôles dépendants . Ils servent à afficher et modifier des données dont les valeurs peuvent être inclusives ou exclusives, , comme le genre pour une entité représentant individu., ou du type « oui/non ». Un contrôle « Groupe d’options » est un contrôle dépendant. Il permet de grouper des contrôles des trois genres précédents : « Boutons bascule », « Case d’option », « Case à cocher », et donc d’afficher ou de mettre à jour un champ ne pouvant contenir qu’un nombre fini de valeurs. Les deux types de contrôles « Zone de liste », « Zone de liste déroulante » ressemblent beaucoup à ceux utilisés par l’assistant « Liste de choix » dans les tables. Ils permettent de choisir dans une liste au lieu de saisir une valeur. Les contrôles « Boutons de commande » servent à exécuter diverses actions prédéfinies comme ouvrir un nouveau formulaire, exécuter une requête, lancer une impression… Les boutons sont souvent utilisés pour ouvrir des formulaires lorsque l’on construit des Menus. Bases de données page 9 sur 20 Le contrôle « Sous-formulaire » permet d’insérer un formulaire dans un autre formulaire. La plupart du temps, il est généré automatiquement par l’Assistant formulaire. Il est très rare que l’on ait besoin d’en construire un. Par contre, il est fréquent de modifier son aspect. Les contrôles « Trait » et « Rectangle » permettent de tracer des traits ou des rectangles sur les formulaires pour encadrer ou souligner. Ils ne sont là que pour l’esthétique. b) Manipulations communes aux contrôles Pour créer un contrôle, on choisit d’abord dans la boîte à outils de formulaire le contrôle que l’on veut ajouter dans le formulaire, en se basant sur sa représentation iconique ou sur le retour d’information textuel qui apparaît sous le curseur lorsqu’on le laisse une seconde sans bouger au dessus de l’icône d’un outil de création de contrôle. Ensuite, on place le curseur dans le formulaire pour définir la zone occupée par le contrôle. Pour détruire le contrôle, il suffit de le sélectionner et d’utiliser la touche de suppression. Tous les contrôles disposent d’un menu contextuel (bouton de droite de la souris). Ce menu permet de modifier l’aspect (couleur, choix de police, effets, etc) ou le comportement (format d’affichage, masque de saisie, etc) du contrôle. L’option Propriété du menu contextuel permet l’affichage et la modification de toutes les caractéristiques du contrôle. c) Filtrer des enregistrements dans un formulaire ACCESS propose des fonctions de filtre très puissantes et facile d’accès dans les formulaires. Un filtre pourrait servir par exemple à rechercher tous les Albums dont le support est sous la forme d’un CD et à les consulter dans le formulaire « Albums ». Ils sont donc accessibles depuis un objet « Formulaire ». Leur usage se décompose en deux étapes : • la première pour définir les critère de filtre, simplement en désignant le champs par les contrôles qui leurs sont associés dans une vue squelettique du formulaire, • la deuxième consiste à appliquer le filtre, ce qui donne accès aux seules données concernées données à travers le formulaire Pour supprimer un filtre, il suffit de demander à afficher tous les enregistrements. La fonctionnalité « Filtrer par formulaire » est très pratique lorsqu’on cherche un enregistrement. En effet, il suffit de cliquer sur un champ pour qu’ACCESS propose l’ensemble des valeurs possibles. Il est de plus possible d’utiliser des caractères génériques pour les filtres. d) Formulaires et SQL Pour comprendre ce qu’ACCESS fait, on peut consulter les propriétés des zone de contrôles. Il suffit d’ouvrir le menu contextuel au-dessus d’une des listes déroulantes, dans le mode Création ou dans le mode Formulaire (actif), et d’y choisir l’item « Propriétés ». L’attribut « Contenu » contient une requête SQL. Dans un formulaire offrant listes déroulantes dont les valeurs sont issues des tables « Auteur » et « Album » vues précédemment, la requête est de la forme : SELECT Auteurs.[N°Auteur], Auteurs.Nom, Auteurs.Prénom FROM Auteurs; En fait, les manipulations de l’interface ACCESS permettent de définir des requêtes SQL en s’appuyant sur des outils graphiques. Le prix à payer en contrepartie du guidage interactif, et la rigidité : en dehors des outils graphiques prévus, il est très laborieux d’utiliser directement le Bases de données page 10 sur 20 langage SQL. D’après Jean-Luc Hainaut, dans le livre « Bases de données et modèles de calcul », l’utilisateur doit « faire preuve d’un acharnement digne d’un cochon truffier ». 4. Les requêtes L’interface d’ACCESS permet de construire par l’objet « requête » des requêtes SQL. Mais toutes les possibilités du langage SQL ne sont pas « transcriptibles » en suites d’actions dans l’interface. Le langage SQL permet de décrire des ensembles de données en n’en définissant que les propriétés, c’est-à-dire sans faire référence aux techniques d’accès qui seront utilisées pour atteindre les données dans la base. Cette désignation d’ensembles de données prend la forme de requêtes SQL. Le résultat d’une requête se présente sous la forme d’une table, éventuellement d’une seule ligne et/ou d’une seule colonne. Les données de cette table sont généralement extraites de la base de données. Cette table est alors soit un sous-ensemble (certaines colonnes, certaines lignes) d’une table existante,soit une table construite à partir d’extraits de plusieurs tables, mises en correspondance sur la base de valeurs communes dans certaines colonnes (jointures). Les données de cette table peuvent également être déduite ou calculées : totaux, comptage, moyennes, etc. Les requêtes d’ACCESS fonctionnent comme des filtres : elles permettent la sélection d’un ensemble d’enregistrements répondant à un ou plusieurs critères. Cette sélection d’enregistrement peut être simplement affichée, servir de source pour d’autres requêtes ou permettre la création ou la modification de tables. A la différence des filtres, une requête peut travailler simultanément sur plusieurs tables. Le résultat d’une requête peut être utilisé comme s’il s’agissait d’une table pour concevoir un formulaire. On peut, par exemple, chercher tous les titres de genre « Celtique » dans notre base de données « Albums ». Le plus simple est de faire une requête pour obtenir cette liste, puis de construire un formulaire ayant pour source cette requête, pour proposer une présentation moins austère. ACCESS propose deux méthode pour construire des requêtes : le « Mode Création » (comme dans l’illustration ci-dessous) ou l’ « Assistant ». Bases de données page 11 sur 20 a) Les types de requête Il existe plusieurs types de requêtes : La requête « sélection », qui permet de sélectionner un ensemble d’enregistrements. Cette sélection est soit affichée sous la forme d’une feuille de données, soit utilisée comme source d’un formulaire, d’un état ou d’une autre requête. Le résultat d’une requête « sélection » est un ensemble d’enregistrements. En fait, c’est une vue restreinte de la table ou des tables mises en jeu dans la requête. La requête d’« analyse croisée », qui propose d’analyser des données contenues dans la base grâce à des tableaux Excel. La requête de « création de table » qui permet de créer de nouvelles tables avec le résultat d’une requête de sélection. Dans la table de données « Albums », nous pouvons par exemple, créer une nouvelle table contenant uniquement les albums dont nous avons un support CD. La requête « mise à jour » qui permet (comme son nom l’indique) de mettre à jour les enregistrements d’une ou plusieurs tables en fonction des critères sélectionnés. Il est ainsi possible de convertir automatiquement des francs en euros. La requête « ajout » qui permet d’ajouter automatiquement des enregistrements d’une table A vérifiant certains critères dans une table B. Pour que l’ajout puisse se faire, il faut que les champs utilisés existent aussi bien dans la table A que dans la table B. Si des champs de la table B ne font pas partie de la requête, ceux-ci prendront la valeur NULL La requête « suppression » qui permet de supprimer un ensemble d’enregistrements respectant certains critères. On peut ainsi supprimer d’une base tous les clients n’ayant pas fait de commandes depuis plus de 12 mois. Attention : comme pour les formulaires, toute modification du contenu du résultat d’une requête sélection est immédiatement répercutée dans les tables. Tous les types de requête sont accessibles via le menu « Requête » de la barre de menu principal. Il existe aussi des requêtes spécifique « SQL » et « Paramètres » qui permettent d’effectuer des opérations directement en SQL. Bases de données page 12 sur 20 b) Manipulation de la fenêtre de requête La première étape est « Créer une nouvelle requête en mode création ». Une requête peut utiliser une ou plusieurs tables. Lors de la création d’une nouvelle requête, ACCESS propose la liste des tables existantes. On peut sélectionner plusieurs tables en une seule manipulation. Important : Il faut ajouter toutes les tables mises en jeu dans la requête, même les tables intermédiaires lorsque l’on utilise des champs de deux tables distinctes en relation (n-m). Sans cela, le résultat de la requête risque d’être erroné. Il est possible d’ajouter des tables quand on s’aperçoit, en cours de définition, qu’il en manque (menu contextuel, item « Afficher la table », dans les versions antérieures à ACCESS 2002, ce menu s’appelait « Ajouter une table »). Une fois les tables sélectionnées, il faut choisir les champs intervenants dans la requête. Il existe trois solutions pour cela : • double-cliquer sur le champ désiré • déplacer le champ de la table vers la partie basse de la fenêtre • choisir la table et le champ dans les menus déroulants en bas de la fenêtre. Pour trier le résultat de la requête, il suffit ensuite de spécifier l’ordre du tri dans la colonne du champ désiré, comme pour les fonctions de tri de Excel à partir des entêtes des colonnes dans une feuille de calcul. Les tris sont toujours affichés en commençant par le champ situé le plus à gauche dans la fenêtre. Il est souvent utile de ne pas afficher tous les champs qui sont intervenu dans la requête. Pour cela, il suffit de désactiver l’affichage du champ. c) Critères de sélection Il existe un vaste choix de critères basés sur des opérations ou des fonctions. On peut utiliser les opérateurs classiques : =, <> (pour différent), <, >, <=, >=, des opérateurs « étendus » à partir de ces opérateurs classiques : « Entre » ex : Entre « A » et « D », Entre 10 et 20 « Dans » ex : Dans (« Celtic » ; « Rock ») « Est » ex : Est NULL, Est Pas NULL « Comme »ex :Comme « Pop* » l’opérateurs de négation qui permet la négation d’un opérateur : « Pas » ex : Pas Entre « A » et « D Pour obtenir l’ensemble des fonctions disponibles, le mieux est de regarder dans l’aide en ligne d’ACCESS en recherchant la section « Exemples d’expressions ». Les fonctions disponibles pour les requêtes sont les mêmes que celles utilisées dans les contrôles des formulaires. Pour utiliser plusieurs critères dans une même requête, on peut les combiner par conjonction (« ET ») ou disjonction (« OU ») , le ou étant exclusif (à l’anglaise). On peut effectuer directement un certain nombre d’opérations dans une requête. Pour cela, il faut faire apparaître un ligne intitulée « Opérations » dans la fenêtre de requête (bouton « sigma » ou menu « Affichage » item « Totaux » ou « Opération » dans ACCESS 2000). Bases de données page 13 sur 20 On peut alors les combiner à l’aide d’opérateurs spécifiques : « Regroupement» fonction tuilsée pour calculer des totaux à partir des opérations : « SOMME », « NB », « MOYENNE » ou « VAR » « Moyenne» moyenne des valeurs dans un champ « Min », « Max » valeur la plus petite (grande resp.) dans un champ « Compte » nombre de valeurs dans un champ, sans compter les NULL (champs vides) « EcartType » Ecart type des valeurs dans un champ « Var » variance « Premier » premier enregistrement résultant de la requête « Dernier» dernier enregistrement résultant de la requête « Expression » crée un champ calculé incluant une fonction de regroupement dans son expression « Où » spécifie les critères d’un champ en vue d’un regroupement. Bases de données page 14 sur 20 La requête paramétrée permet de construire une requête sans connaître la valeur des critères. Ces valeurs seront demandées au moment de l’exécution de la requête. Pour cela, dans la ligne « Afficher » correspondant au champ dont on ne connaît pas la valeur, on donne à la place du critère une expression sous forme textuelle entre crochets les « [« et « ] ». Comment ça marche ? Bases de données page 15 sur 20 Par exemple, un critère entré sous la forme : « =[Entrer le genre de l’album] » provoquera l’ouverture d’une boîte de dialogue dont l’intitulé est « Entrer la valeur du paramètre », avec comme texte affiché dans son contenu le texte tapé entre les crochets, une zone de saisie de donnée (on dit aussi de champ) et deux boutons (« OK » et « Annuler »). S’il n’existe pas de champ nommé « Entrer le genre de l’album », ACCESS DEMANDE UNE VALEUR. Une fois une valeur saisie et validée par un clic sur le bouton « OK », toutes les occurrences de ce champ inconnu sont remplies par la valeur saisie et la requête se termine. Bases de données page 16 sur 20 L’aide en ligne ouverte sur « Créer un champ en effectuant des calculs personnalisés ou utilisant les valeurs des champs dans une requête » fournit plusieurs exemples de champs calculés. 5. Les états Les états permettent de définir des documents en vue de leur impression. Leur construction est semblable à celle des formulaires. Comme pour les autres objets (tables, formulaires, requêtes…), il existe plusieurs façons de créer un état . Le bouton « Nouveau » de la fenêtre principale d’ACCESS offre plusieurs approches : Mode Création : la construction de l’état se fait entièrement à la main, cette méthode est peu utilisée. Assistant État : comme pour les formulaires, l’Assistant nous aide à construire un état. Le plus souvent, on utilise cette méthode, puis on effectue des retouches. Etat instantané : Colonnes : ACCESS construit un état où les données sont organisées en colonnes. Etat instantané : Tableau: ACCESS construit un état où les données sont organisées en lignes. Assistant Graphique : cet Assistant permet la construction de graphiques Assistant Etiquette: cet Assistant permet l’impression d’étiquettes On construit généralement plusieurs formes d’états : les uns finalisés par une visualisation sur écran, les autres en vue d’une impression papier, les uns encore pour une vue complète sur des individus, proche d’une fiche, les autres pour une vue synthétique d’un ensemble de données. Bases de données page 17 sur 20 6. Les pages 7. Exemple de base de données : « Le comptoir » L’exemple « Le comptoir » est fourni avec le logiciel Microsoft ACCESS, dans le dossier « Sample ». Bases de données page 18 sur 20 Bases de données page 19 sur 20 II. Bibliographie Des bases de données à l’Internet, Philippe Mathieu, Ed. Vuibert informatique, Paris, 2000, ISBN 2-7117-8669-2 Access 2002 Gérer ses bases de données, Jean-Marc Hasenfratz, Ed. PUG (Presses Universitaires de Grenoble), Collect. Gestion en Plus, ISBN 2 7061 1102 X Bases de données page 20 sur 20