Vous êtes sur la page 1sur 32

Informatique Base de donn ees - Access

UFR L.E.A. - MST CI 2 Janvier 2004 A. Lemay

Contenu du document.
1 Introduction 2 M ethode Merise 2.1 Principes g en eraux . . . . . . . . . . . 2.2 Mod` ele Conceptuel de donn ees . . . . 2.2.1 Rep erage des entit es . . . . . . 2.2.2 Construction des entit es . . . . 2.2.3 Construction des relations . . . 2.2.4 Choix des cardinalit es . . . . . 2.2.5 Cas particuliers et pi` eges . . . 2.3 Mod` ele Logique de donn ees . . . . . . 2.3.1 Construction des tables . . . . 2.3.2 Transformation des relations en 2.3.3 Suppression des tables inutiles . . . . . . . . . . . . . . . . . . . . . . . . . . . liens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4 4 4 5 5 6 7 8 9 9 10 11 12 12 13 14 16 16 16 16 16 17 19 19 21 21 22 22 23 23 24 24 26 26 27 28 29 30 31 31 32

3 Cr eation de la base de donn ees dans Access 3.1 Cr eation des tables dans Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Importation de table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Requ etes 4.1 g en eralit es . . . . . . . . . . . . . . . 4.2 Requ ete de s election . . . . . . . . . 4.2.1 Requ etes mono-table . . . . . 4.2.2 Requ etes multi-tables . . . . 4.2.3 Requ etes avec crit` ere . . . . . 4.2.4 Requ etes a ` champs calcul es . 4.2.5 Requ etes de regroupements . 4.2.6 Requ etes en cascades . . . . . 4.2.7 Requ ete danalyse crois ee . . 4.2.8 Requ etes en mode SQL . . . 4.3 Requ etes dactions . . . . . . . . . . 4.3.1 Requ etes de suppression . . . 4.3.2 Requ etes de mise a ` jour . . . 4.3.3 Requ etes de cr eation de table 4.3.4 Requ etes dajout . . . . . . . 5 Finalisation de la base 5.1 Etats . . . . . . . . . . . . . . . . . 5.2 Modication de l etat . . . . . . . 5.3 Cr eation dun formulaire . . . . . . 5.4 modication dun formulaire . . . . 5.5 Sous formulaire . . . . . . . . . . . 5.6 Menus et autres personnalisations . 5.6.1 menu g en eral . . . . . . . . 5.6.2 D emarrage de lapplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Introduction

Alors quau d ebut de leur histoire les ordinateurs servaient essentiellement a ` calculer, leur utilisation principale de nos jours est la gestion dinformations. On les retrouve dans tous les secteurs dactivit e. Une grande quantit e dinformations stock ee dans un ordinateur sappelle une base de donn ees. Un logiciel permettant dutiliser ces donn ees est un syst` eme de gestion de base de donn ees (SGBD). Di erents logiciels existent permettant cette op eration. Ainsi un tableur (tel quExcel) peut etre consid er e comme un SGBD. Nous allons utiliser ici le logiciel Accesscomme SGBD. Ce logiciel permet une conception ais ee de bases de donn ees de petite taille avec un nombre restreint dutilisateurs. Il est a ` noter que plusieurs autres SGBD plus performants (mais egalement plus complexes) existent par ailleurs. On peut citer notamment Oracle, SQL Server, Paradox, MySQL, PostgreSQL parmi beaucoup dautres. La plupart de ces syst` emes sont bas es (dont Access) sur le mod` ele relationnel et fonctionnent sur le m eme principes g en erale : les informations sont stock ees dans des tables qui sont reli ees entre elles par des relations. Linterrogation de la base de donn ees se fait a ` laide de requ etes, ces requ etes etant ecrites a ` laide dun langage commun a ` la plupart des SGBD : le SQL (Structured Query Language). Accessa comme avantage par rapport a ` la plupart de ses concurrents de permettre une ecriture en mode graphique des tables, de leur relations et de la plupart des requ etes. De plus, il int` egre un syst` eme de cr eation dapplications claires et simples pour chaque base de donn ees. Ce document est compos e de cinq parties : 1. cette introduction, 2. une partie consacr ee a ` la m ethode Merise, qui indique comment concevoir une base de donn ees, 3. une partie consacr ee a ` la cr eation de la base de donn ees dans le logiciel Access, 4. une partie consacr ee aux di erents type de requ etes, 5. et une derni` ere partie consacr ee a ` la nalisation de la base de donn ees (notamment conception des formulaires, des etats et des menus) qui permet davoir un produit ni, utilisable par un utilisateur nayant pas de connaissances particuli` ere sur les SGBD.

2
2.1

M ethode Merise
Principes g en eraux

La m ethode Merise a et e cr e ee en France dans les ann ees 1970. Cette m ethode utilise le syst` eme dit dentit es-relations. Il sagit dun outil et dune technique danalyse permettant de construire des sch emas th eoriques de raisonnement sur des applications tournant avec des bases de donn ees dite relationnelles (comme celles dAccess). A noter que nous ne pr esenterons ici quune partie de la m ethode Merise, puisque la m ethode Merise g en erale traite de lint egralit e de la conception de la base de donn ees : elle ne sint eresse pas uniquement de la partie correspondant au stockage des donn ees, mais egalement a ` leur traitement. La m ethode Merise consid` ere quatre phases dans la cr eation dune base de donn ees : 1. La phase danalyse : cette phase, qui ne sera pas etudi e dans ce document, est une phase essentielle qui consiste a ` etudier lexistant : y-a-til un syst` eme qui g` ere d ej` a tout ou partie de linformation, quil sagisse dun logiciel ou dun ensemble de documents papiers ? Comment ces informations sont elles stock ees ? Quelles sont les informations stock ees ? Que manquetil ? Quest ce qui convient ou ne convient pas aux utilisateurs ? interroger les futurs utilisateurs : quattendent-ils du futur SGBD ? Quelles sont les op erations quils d esirent automatiser ? recueillir les informations existantes, etudier les divers liens qui peuvent exister entre ces informations, mettre en evidence les r` egles de gestion employ ees, ... 2. La phase conceptuelle : elle consiste a ` repr esenter lorganisation des donn ees de mani` ere g en erale. Elle aboutit sur la cr eation du mod` ele conceptuel des donn ees (MCD) dans lequel les donn ees sont repr esent ees sous forme dentit es li ees entre elles par des relations. 3. La phase logique ou organisationnel : dans cette phase, la base de donn ees sont repr esent ees sous une forme logique plus proche de leur repr esentation r eelle au sein du SGBD : les informations sont repr esent ees uniquement sous forme de tables au sein dun mod` ele logique des donn ees (MLD). 4. La phase physique ou op erationnelle : elle consiste a ` construire r eellement la base de donn ees au sein du SGBD (ici Access). Cette partie ne sera pas d ecrite dans cette section, mais dans les suivantes.
A retenir

Les quatre phases de la m ethode Merise : 1. analyse ( etude de lexistant et enqu ete) 2. conceptuel (cr eation du MCD) 3. logique (cr eation du MLD) 4. physique (conception de la base de donn ees dans Access)

2.2

Mod` ele Conceptuel de donn ees

Apr` es la phase danalyse, nous pouvons commencer a ` repr esenter les informations sous forme conceptuelle. Le Mod` ele Conceptuel de Donn ees (MCD) que nous allons construire contient deux el ements principaux : les entit es et les relations. 4

Une entit e est un el ement du probl` eme. Elle est d enie par un ensemble de propri et es. Chacune des propri et e est lun des el ements qui caract erise lentit e. Il faut distinguer une entit e et une occurrence dentit e (ou instance ). Une entit e correspond au type g en eral dune donn ee (ex : le type employ e) alors quune occurrence dune entit e est un repr esentant particulier de cette entit e (lemploy e Jean Martin). Une relation est un lien possible qui relie deux entit es. Par exemple, si un employ e peut etre aect ea ` un entrep ot, il y aura une relation aectation entre lentit e entrep ot et lentit e employ e. Cela ne signie pas n ecessairement quil y aura aectation pour chacun des employ e, juste quil est possible quun employ e soit aect ea ` un entrep ot. Une relation peut eventuellement etre reli ee a ` plus de deux entit es et peut avoir certaines propri et es. Apr` es avoir fait une analyse aussi compl` ete que possible du probl` eme a ` informatiser, la construction du MCD se fait en quatre etape : 1. rep erage des entit es, 2. construction des entit es, choix des propri et es, 3. construction des relations, 4. choix des cardinalit es. 2.2.1 Rep erage des entit es

Une entit e est un composant du probl` eme : une personne, une facture, un livre, ... Cest la repr esentation dun objet mat eriel ou immat eriel pourvu dune existence propre et conforme aux choix de gestion de lentreprise. Comme dit plus haut, ce que lon consid` ere comme entit e est un type g en eral (ex : lentit e personne repr esente toutes les personnes) a ` ne pas confondre avec une occurrence dentit e (Jean Martin etant une personne, on le consid` ere comme une occurrence de lentit e personne ). Une entit e doit avoir une existence ind ependamment de tout autre entit e. Exemple : On consid` ere le probl` eme suivant : Un libraire g` ere des uvres litt eraires. Une uvre est une cr eation litt eraire. Une uvre a au moins un auteur et est dans une edition (un livre). Une edition poss` ede un ISBN unique et a un unique editeur. Elle peut contenir plusieurs uvres. On veut m emoriser pour chaque edition le nombre dexemplaires en stock et pour chaque exemplaire son etat. Dans ce probl` eme, les entit es sont : lentit e uvre : Une cr eation litt eraire, un r ecit... lentit e auteur : une personne cr eateur duvre, lentit e edition : un livre contenant une ou plusieurs uvres litt eraires, lentit e editeur : la soci et e qui va imprimer les livres, lentit e exemplaire : un exemplaire physique de livre. LISBN, par exemple, nest pas une entit e puisquil sagit dun el ement qui caract erise lentit e edition. 2.2.2 Construction des entit es

L etape suivante correspond a ` la construction des entit es. On commence par donner un nom a ` chacune des entit es. Il faut ensuite rechercher les propri et es de ces entit es. On devra garder a ` lesprit les points suivants : 5

toute propri et e est el ementaire (elle nest pas la composition d eventuelles propri et es plus petites), une propri et e ne doit pas etre instable ou calculable : si une propri et e peut etre obtenue par calcul a ` partir dautres el ements qui vont appara tre dans la base de donn ee (notamment dautres propri et es), on ne doit pas la consid erer, toute entit e doit poss eder une propri et e particuli` ere appel ee sa cl e (ou identiant). Une cl e doit caract eriser de mani` ere unique chaque occurrence de lentit e. Par exemple, le nom de famille dune personne ne peut pas etre consid er e comme une cl e dune entit e personne puisque deux personnes peuvent avoir le m eme nom de famille. Le num ero de s ecurit e sociale est par contre tout a ` fait acceptable. Il vaut mieux eviter les identiants trop longs (on pr ef erera un code de quelques chires a ` un intitul e dune vingtaine de lettres par exemples), si aucune des propri et es naturelles ne peut servir de cl e, on en rajoute une articiellement (par exemple CodeLivre ou IdAnimal). Chaque propri et e ne doit d ependre que dune seule entit e. Une entit e se repr esente ensuite graphiquement sous la forme dun bo te dans lequel on indique en titre le nom de lentit e suivi de toutes ses propri et es. On indique dune mani` ere particuli` ere lidentiant. Entit e Identiant propri et e1 propri et e2 ... Exemple : Dans lexemple du libraire, on peut construire les entit es suivantes (les propri et es sont indiqu ees apr` es le nom de lentit e, lidentiant est en gras) : uvre : Iduvre, titre Auteur : IdAuteur, nom, pr enom Edition : ISBN, titre, nb pages Editeur : IdEditeur, nom Exemplaire : IdExemplaire, etat Notons que, dans le cas de l edition, lISBN est un identiant tout a ` fait acceptable. Dans les autres cas, aucune des propri et es ne convenant comme identiant, il a fallu cr eer une propri et e particuli` ere pour cet eet (Id...). 2.2.3 Construction des relations

L etape suivante consiste a ` enum erer toutes les relations possibles entre entit es. Si une relation a une chance dappara tre (et de nous int eresser), alors on doit la consid erer dans le MCD. On parle egalement parfois dassociation. Une relation se repr esente de la mani` ere suivante : Entit eA Ecrit ... On notera les points suivants : 6 Entit eB ...

Une relation est en g en eral entre deux entit es. Il est possible davoir des relations entre plus que deux entit es. Par exemple, une relation Vente entre Acheteur, Vendeur et Lieu pour une base de donn ee de transaction immobili` ere. Il est n eanmoins souvent possible (et pr ef erable !) de se restreindre a ` des relations entre deux entit es. Dans le cas ici, la relation Vente pourrait etre remplac ee par une entit e Acte de vente qui est en relation avec lacheteur, le vendeur et le lieu. Il est tout a ` fait possible davoir plusieurs relations entre deux entit es. Il est egalement possible davoir une relation dite r eexive, cest-` a-dire entre une entit e et elle-m eme. Par exemple, on peut avoir une relation Responsable entre une table employ e et elle-m eme. Dans ce cas, il convient tout de m eme de remarquer que chacune des pattes de la relation a une signication di erente. Ici, lune des pattes signiera est responsable de et lautre signiera a comme responsable. une relation peut avoir des propri et es. Par exemple, si une relation Contient lie lentit e Facture et lentit e Produit, elle poss` ede certainement la propri et e quantit e (une facture contient un produit x en quantit e y ). Dailleurs, si une propri et e d epend de plus dune entit e (comme cest le cas ici avec la quantit e qui d epend a ` la fois de la facture et du produit), cest certainement quelle d epend dune relation, et non pas dune entit e. Il faut eviter les relations que lon peut d eduire dautres relations par transitivit e. Par exemple, dans une base de donn ees g erant une universit e, si on dispose dentit es etudiant, formation et cours. On a les relations fait partie entre formation et cours (un cours fait partie dune formation) et inscription entre etudiant et formation. Il est inutile davoir en plus une relation inscription entre etudiant et cours : tout etudiant inscrit a ` une formation est syst ematiquement inscrit a ` tous les cours qui composent la formation. Exemple : Dans lexemple du libraire, on a les relations suivantes : uvre Iduvre Titre Edition ISBN Titre nb pages tirage ecrit edition edite Exemplaire IdExemplaire Etat Editeur IdEditeur Nom Auteur IdAuteur nom pr enom

2.2.4

Choix des cardinalit es

Une fois les relations etablies, il convient ensuite de caract eriser le nombre de fois ou chacune de ces relations peut appara tre r eellement. Ceci se fait a ` laide des cardinalit es. Dans une relation classique (i.e. entre deux entit es), quatre cardinalit es sont a ` d eterminer. Entit eA ...
minA : maxA

Relation

minB : maxB

Entit eB ...

minA est le nombre minimal de fois o` u une occurrence de lentit e A participe a ` une relation du type consid er e. Il sagit en g en eral de 0 ou 1. 7

maxA est le nombre maximal de fois o` u une occurrence de lentit e B participe a ` la relation. Il sagit en g en eral de 1 ou n (n pour plusieurs fois, ou un nombre quelconque de fois). minB et maxB fonctionnent de la m eme mani` ere, mais en consid erant lentit e B. Notons quil est souvent dicile de choisir entre une cardinalit e de type 0 : n et une cardinalit e de type 1 : n. Il est important de noter que ce choix a souvent peu dimportance. Exemple : Dans lexemple du libraire, consid erons la relation edite qui existe entre les entit es editeur et edition. Ainsi, dans lexemple du libraire, une edition (un livre) a toujours un et un seul editeur (soit un minimum de un editeur, et un maximum de un editeur). Un editeur par contre peut editer au minimum une edition et au maximum plusieurs editions (un nombre quelconque de fois). Ce qui nous donne : Editeur Edition 1:n 1:1 Edite ... ... Le MCD complet est donc : uvre Iduvre Titre Edition ISBN Titre nb pages
0:n 1:n 1:n

ecrit edition

1:n

Auteur IdAuteur nom pr enom Editeur IdEditeur Nom

1:n 1:1

edite Exemplaire IdExemplaire Etat

1:n

tirage

1:1

2.2.5

Cas particuliers et pi` eges

Quelques points particuliers sont a ` garder a ` lesprit lors de la r ealisation dun MCD. Un identiant est obligatoire pour chaque entit e. Il ne doit pas y avoir de redondance dinformations : une information quelconque ne doit pas etre repr esent ee plus dune fois dans le MCD. Evitez autant que possible les relations entre plus de deux entit es. Souvent, il est possible de remplacer la relation par une entit e. Restez dans la mesure du possible avec des cardinalit es de valeurs 0, 1 ou n. Il est de toute mani` ere souvent possible de se ramener a ` ce cas dans les rares cas o` u des cardinalit es dun autre type semblent plus naturelles. Dans lid eal, il faut trouver un bon compromis entre niveau de d etail et taille de la base de donn ees. Il est toujours possible de multiplier les entit es, mais il vaut mieux le faire que si cela a vraiment du sens et un int er et dans le probl` eme. Par exemple, si on a une entit e personne, on peut consid erer ladresse comme une entit e s epar ee (reli ee a ` personne par une relation habite a `) ou comme une propri et e de la personne (ce qui est fait usuellement). En r` egle g en erale, il est plus economique de d enir ladresse comme une propri et e, mais dans un cas ou il est courant que des personnes habitent au m eme endroit, la r` egle de non-redondance incite plut ot a ` utiliser une nouvelle entit e. 8

A retenir

La m ethode g en erale de construction du MCD : 1. recherche des entit es, 2. recherche des propri et es (dont la cl e de chaque entit e), 3. recherche des relations entre entit es, 4. recherche des cardinalit es (0:1, 1:1, 0:n ou 1:n ?)

2.3

Mod` ele Logique de donn ees

Une fois le MCD construit, l etape suivante dans la conception de la base de donn ees consiste a ` concevoir le mod` ele logique de donn ees, ou MLD. Ce MLD montre lorganisation des donn ees sous forme de tables et est tr` es proche de la mani` ere dont les donn ees vont etre eectivement organis ees dans Access. L etape de transformation du MCD en MLD est assez simple et passe par trois etapes : 1. transformation des entit es en tables, 2. transformation des relations du MCD, 3. suppression des tables inutiles. 2.3.1 Construction des tables

La premi` ere etape consiste a ` transformer toutes les entit es du MCD en tables du MLD. Cette transformation est directe : il sut de recopier les entit es. Il sagit essentiellement dun changement de vocabulaire : une entit e devient une table, une propri et e devient un champ, un identiant devient une cl e primaire. A noter toutefois quil est essentiel quil ny ait pas deux tables qui aient le m eme nom. Exemple : la premi` ere partie de la construction du MLD du libraire est directe. Il sut de recopier les entit es. Auteur uvre IdAuteur Iduvre nom Titre pr enom Edition Editeur ISBN IdEditeur Titre Nom nb pages Exemplaire IdExemplaire Etat 9

2.3.2

Transformation des relations en liens

L etape suivant consiste a ` transformer les relations du MCD en liens du MLD. Deux grands cas peuvent se pr esenter. 1. lune des branches de la relation a une cardinalit e de 1:1 ou 0:1 2. les autres cas Premier cas Dans le cas dune relation ou lune des branches a une cardinalit e de 1:1 ou 0:1, la transformation de la relation de la relation se fait de la mani` ere suivante : On ram` ene dans la table correspondant a ` lentit e du c ot e du 1:1 (ou du 0:1) la cl e primaire de lautre table ainsi que toutes les eventuelles propri et es de la relations. On lie la cl e primaire ainsi import ee avec la cl e primaire de la deuxi` eme table. Si la relation contenait des propri et es, celle-ci se retrouve egalement import ees du c ot e du 1:1. Entit eA IdA ... Se transforme en : Entit eA IdA IdB ...
1:1

Relation

Entit eB ? :? IdB ...

Entit eB IdB ...

A noter que la cl e import ee (ici IdB qui se retrouve dans table A) ne devient pas une cl e de la table : cest une propri et e comme une autre. Notons aussi que le lien se fait entre champs (on relie IdA a ` IdB) et non pas, comme dans le MCD, entre les tables. Deuxi` eme cas Dans tous les autres cas, la relation du MCD se transforme en une table du MLD : on cr ee une nouvelle table correspondant a ` la relation. Cette table contient toutes les eventuelles propri et es de la relation. On int` egre a ` cette table les cl es primaires des entit es impliqu ees dans la relation. On relie les cl es primaires des tables avec les cl es import ees dans la nouvelle table. On choisit enn la ou les cl es primaires de la nouvelle table. Lid ee g en erale est que chaque occurrence de cette entit e doit pouvoir etre identi ee de mani` ere unique par ses cl es primaires. Cela revient en g en eral a ` choisir comme cl es primaires lensemble des cl es import es des autres tables. Entit eA IdA ... se transforme en : Entit eA IdA ...
?:n ?:n

Relation

Entit eB IdB ...

Relation IdA IdB

Entit eB IdB ...

Cas particuliers Quelques cas particuliers peuvent appara tre. 10

Si la relation est de type 1:1 - 1:1, on fusionne les deux entit es en une. Ce type de relation rare est souvent due a ` un probl` eme dans la conception du MCD. Si la relation est de type 0:1 - 1:1, on traite la relation comme une relation de type 1:1 - ?:? (en ramenant la cl e primaire du c ot e du 1:1) Les relations r eexives (entre une entit e et elle-m eme) se traitent comme les autres relations. les relations ternaires (entre trois entit es, ou plus), se traitent comme dhabitude. Si lune des branches a une cardinalit e de type 1:1, on ram` ene les cl es primaires des autres entit es et les propri et e de la relation dans lentit e du c ot e du 1:1. Si ce nest pas le cas, la relation se transforme en table. 2.3.3 Suppression des tables inutiles

La derni` ere etape consiste simplement a ` supprimer les tables inutiles. En g en eral (mais pas toujours), une table qui ne contient quun seul champ (sa cl e) est inutile : elle ne nous apporte aucune information. Lexemple le plus classique est une entit e de type date. Exemple : Le MLD correspondant a ` lexemple du libraire est le suivant : Auteur uvre Ecrit IdAuteur Iduvre Iduvre nom Titre IdAuteur pr enom Rel Edition Iduvre ISBN Edition Editeur ISBN Titre IdEditeur nb pages Nom IdEditeur Exemplaire IdExemplaire ISBN Etat
A retenir

Le m ethode de transformation MCD - MLD : 1. les entit es sont transform ees en tables (sans modication) 2. les relations sont transform ees en fonction de leurs cardinalit es pour une relation de type 1:1 - ?:? entre une entit e A et une entit eB se traduit par une importation de la cl e primaire de lentit e B dans la table de A, et on ajoute un lien entre les deux cl es, une relation autre (sans 1:1 - ?:?) se transforme en table dans laquelle on retrouve les cl es primaires de A et B. 3. les tables inutiles sont supprim es : il sagit essentiellement des tables a ` un seul champ (leur cl e).

11

Cr eation de la base de donn ees dans Access

Apr` es avoir con cu un MLD, l etape nale de la m ethode Merise consiste a ` concevoir le Mod` ele physique de nos donn ees. Il sagit ni plus ni moins que dint egrer le MLD au sein du SGBD (Access). Cette op eration comprend trois phases essentielles. 1. Cr eation de la table : il sagit simplement douvrir Accesset de choisir Nouvelle base de donn ees. 2. Cr eation des tables : toutes les tables du MLD doivent etre cr e ees. Les donn ees peuvent eventuellement provenir dun logiciel ext erieur (feuille Excel, document textuel...). Il faut egalement sp ecier le type de donn ee que doit contenir chaque champ de la table et pr eciser quelle est la ou les cl e(s) de la table. 3. Cr eation des liens : tous les liens qui apparaissent dans le MLD doivent appara tre dans la base de donn ees.

3.1

Cr eation des tables dans Access

Il existe deux principales m ethodes pour cr eer une table dans Access. Soit la table est cr e ee directement dans Access, soit elle provient dun logiciel ext erieur. Nous traiterons ici de la cr eation dans Access. Limportation sera trait ee dans la section suivante. Lobjectif nal est de cr eer au sein dAccess toutes les tables pr esentes dans le MLD. Tout dabord, s electionnez cr eez une table dans Access en mode cr eation. La table cr e ee est vide. Il faut maintenant cr eer tous les champs pr esents dans le MLD. Pour cr eer un champ, il sut de cliquer sur une zone vide dans la liste des champs et de rentrer le nom du champ. Il faut ensuite pr eciser les di erentes propri et es de ce champ pr esentes soit dans le tableau de la liste des champs, soit dans les onglets en dessous. Les propri et es indiqu ees dune ast erisque sont obligatoires. Nom du champ* Type de donn ee* Taille du champ* Format Masque de saisie Valeur par d efaut Valide Si Message si erreur Null Interdit* Cha ne vide autoris ee* Index e* Compression Unicode* Liste de choix le nom du champ, tel quil appara t dans le MLD a ` choisir parmi (essentiellement) Texte, Num erique, Date/Heure, Num eroAuto (un compteur qui sincr emente automatiquement, tr` es utile pour les cl es), Oui/Non (champ a ` deux valeur possible : Oui/Non mais aussi Vrai/Faux...) et mon etaire. pour un champ de type texte, il sagit de la longueur maximale (en nombre de caract` ere) dun el ement du champ. Permet de d enir lapparence du champ a ` l ecran permet lutilisation dun masque de saisie qui peut faciliter grandement la saisie des donn ees. Utile notamment pour les num ero de t el ephone, code ISBN ou autre r ef erence. (voir laide F1 , le bouton ... contient quelques exemples utiles) Une valeur propos ee par d efaut pour le champ. Condition pour lesquelles la valeur entr ee par utilisateur est accept e (par exemple H ou F pour le sexe... voir F1 ) Message indiqu ea ` lutilisateur si son information nest pas valide, selon la condition entr ee dans Valide Si Accepte-ton que lutilisateur laisse eventuellement ce champ vide ? Dans le cas dune cl e import ee, cest OUI si la relation dans le MCD etait de type 0:1, NON si c etait 1:1. Autorise-ton une r eponse vide () ? A priori, laisser la valeur par d efaut. Laisser la valeur par d efaut. Laisser la valeur par d efaut. Pratique si on d esire que lutilisateur entre son information dans une liste. Il faut alors pr eciser soit les el ements de la liste, soit le champ de la table dans lequel se trouvent ces informations. Int eressant surtout pour les cl es import ees. 12

important : si deux champs sont de m eme natures, ils doivent etre de m eme type et de m eme taille. Par exemple, dans lexemple du libraire, le num ero d editeur (champ IdEditeur) doit etre de m eme type (texte, nombre ou num eroAuto) et de m eme taille de champ quil soit dans la table editeur ou la table edition. Note : Si un champ a un nombre limit e de valeurs (par exemples, les cat egories sociaux professionnelles, le statut marital, ...), il vaut mieux consid erer une champ de type num erique plut ot quun champ texte. Pr ef erera stocker 1,2 ou 3 plut ot que c elibataire, mari e ou veuf. La derni` ere etape consiste a ` s electionner la ou les cl es de la table. S electionner ce ou ces champs (sil y en plusieurs, vous pouvez les s electionner en cliquant sur CTRL ) et appuyez ensuite sur le bouton repr esentant une cl e.
En pratique

Pour cr eer une table : s electionnez Table dans le menu g en eral, puis Nouveau. Cr eez ensuite tous les champs en pr ecisant leur type et leurs propri et es. Pr ecisez la cl e ou les cl es en s electionnant le champ correspondant et en cliquant sur le bouton repr esentant une cl e dans la barre doutils.

3.2

Importation de table

La deuxi` eme solution pour cr eer une table consiste a ` importer des donn ees d ej` a existantes dans une autre base de donn ees. Ce peut etre (essentiellement) un chier texte, un classeur Excel ou une table dans une autre base de donn ees Access. Pour un chier texte : 1. sassurer que le nom du chier se termine bien par .txt ou .tab, que ses donn ees sont bien dispos ees en ligne (un enregistrement par ligne) et que sa premi` ere ligne est bien soit une ligne de titre, soit une ligne de donn ees (supprimer les eventuelles lignes superues), 2. cr eez la table en passant par Fichier,Donn ees externes, Importer, optez pour Fichier texte et s electionnez votre chier texte, 3. choisissez si les champs de votre chier sont s epar es par un d elimiteur (un caract` ere sp ecial) ou si elles sont de largeurs xes (chaque champ prend un certain nombre de caract` eres). Sil sagit de champs d elimit es, choisissez le d elimiteur (le caract` ere qui s epare les champs, souvent la tabulation ou la virgule). Sil sagit de champ de largeur xe, indiquez quelles sont les zones quoccupent chaque champ. 4. Indiquez ensuite le nom et le type de chaque champ. Si la cl e primaire nest pas pr esente dans votre table, ajoutez la maintenant. Sinon, ne pr ecisez pas de cl e tout de suite 5. indiquez le nom de la table et sauvegardez. La table est maintenant cr ee. 6. Modiez eventuellement la table. En particulier, s electionnez eventuellement la ou les cl e(s) primaire(s). Pour un chier Excel : 1. sassurer que les donn ees sont bien sur une seule feuille Excel qui ne contient que ces donn ees avec une eventuelle ligne de titre. Supprimez les donn ees superues. 2. Cr eez la table en passant par Fichier,Donn ees externes, Importer, optez pour Fichier Excel et s electionnez votre classeur Excel, puis la feuille qui contient les donn ees. 13

3. Pour tous les champs, v eriez et changez eventuellement leur noms et le type de donn ees. Indiquez egalement les champs dont vous ne voulez pas dans votre table. 4. Si la cl e primaire existe d ej` a dans la table, s electionnez la, sinon vous avez la possibilit e dajouter une cl e primaire de type num erotation automatique. Si la table contient plusieurs cl es primaires (dans le cas dune table cr ee a ` partir dune relation du MCD notamment), ne s electionnez aucune cl e pour linstant. 5. Terminez en donnant un nom a ` la table, la table est cr e ee. 6. Modiez eventuellement la table. En particulier, ajoutez les cl es primaires le cas ech eant. Pour un chier Access : 1. cr eez la table en passant par Fichier,Donn ees externes, Importer, optez pour Fichier access et s electionnez votre base de donn ee, 2. s electionnez la table qui vous int eresse, 3. modiez eventuellement la table.

3.3

Relations

La deuxi` eme phase consiste a ` int egrer dans la base de donn es les relations du MLD. Cela se fait en ouvrant la fen etre des relations (menu Outils, Relations), en achant toutes les tables (cf bouton droit) et en dessinant les relations : cliquez sur la cl e primaire et faites glisser vers la cl e import ee. Access vous demande si vous voulez activer la contrainte dint egrit e de votre base. Une contrainte dint egrit e emp eche dans votre base des r ef erences a ` des cl es inexistantes. Par exemple, si la relation entre livre et auteur a une contrainte dint egrit e, il sera impossible dindiquer a ` un livre un num ero dauteur inexistant dans la base. En r` egle g en eral, activez la contrainte, cela evitera des probl` emes dans votre base. Deux autres options sont indiqu ees : mettre a ` jour en cascade : Si cette option est coch ee et que vous changez la valeur dune cl e (par exemple le num ero dAuteur dans la table auteur), la valeur de la cl e sera modi ee partout (toute r ef erence a ` lancien num ero dauteur sera remplac ee). Inversement, si la case nest pas coch ee, il sera impossible de modier une cl e primaire si elle est utilis ee dans dautres tables. En g en eral, cette option peut etre activ ee sans risque. Si cette option est coch ee et que vous supprimez un enregistrement, tous les enregistrements de la table qui font r ef erence a ` la cl e primaire de cet enregistrement seront supprim es. Dans lexemple, la suppression dun auteur entra nerait la suppression de tous ses livres. Inversement, si la case nest pas coch ee, il sera impossible de supprimer un auteur tant que tous ses livres ne sont pas supprim es egalement. A vous de voir dans quels cas la suppression doit se faire automatiquement ou pas. Par s ecurit e, vous pouvez laisser cette option d esactiv ee. Un cas particulier peut arriver : le cas des relations r eexives. Si une relation existe entre une table et elle m eme, Access vous interdira de la dessiner directement. Il faudra ajoutez une deuxi` eme fois la table (avec le bouton droit de la souris) et indiquer la relation entre la cl e import ee de la table de d epart et la cl e primaire de la deuxi` eme table. 14

En pratique

Pour cr eer les relations de votre base : 1. allez dans le menu Outils, Relations pour acc eder a ` la fen etre repr esentant les relations, 2. avec le bouton droit de la souris, choisissez acher la table et s electionnez les tables de votre base, 3. dessinez les relations en faisant glissez les cl es primaires vers les cl es import ees, 4. Noubliez pas dactiver les contraintes dint egrit es.

15

4
4.1

Requ etes
g en eralit es

Les requ etes constituent un moyen pratique et automatis e dinterroger ou de modier la base de donn ees. On distingue deux grands types de requ etes : les requ etes de s election : ces requ etes s electionnent une partie des donn ees de la base, souvent dans le but de les montrer a ` lutilisateur. Il sagit de loin le type de requ etes le plus fr equent ; les requ etes daction : ces requ etes modient la base de donn ees en ajoutant, retirant ou modiant des enregistrements. On distingue parmi ces requ etes les requ etes de suppression, de mise-` a-jour, de cr eation de table ou dajout. Toutes ces requ etes sont construites de mani` ere assez similaire. Nous allons commencer par pr esenter les requ etes de s election en montrant les di erentes m ethodes employ ees pour cr eer ces requ etes.

4.2
4.2.1

Requ ete de s election


Requ etes mono-table

Une requ ete mono-table est la requ ete la plus simple qui soit : on d esire s electionner/montrer les valeurs dun ou plusieurs champs dune table. Pour cr eer une requ ete de ce type, il faut tout dabord s electionner la table qui contient les enregistrements qui nous int eresse, puis choisir parmi les champs de cette table ceux que lon d esire s electionner.
En pratique

Dans la partie Requ ete du menu principal, s electionnez Nouveau, puis Mode cr eation. S electionnez la table contenant les informations. S electionnez les champs qui contiennent les informations qui vous int eressent en double-cliquant dessus. V eriez bien que la case acher soit coch ee.

4.2.2

Requ etes multi-tables

Une requ ete concerne souvent plus dune table. Par exemple, dans le cas du libraire, on peut avoir envie dacher la liste des auteurs avec pour chaque auteur, la liste de ses oeuvres. Cette requ ete fait intervenir deux tables : la table auteur et la table oeuvre. Il y a ici une relation entre ces deux tables que nous allons exploiter. Nous voulons donc acher pour chaque auteur X, les oeuvres dont lauteur est X, par cons equent, il faudra utiliser le lien qui existe entre le champ idauteur de la table auteur et le champ idauteur de la table oeuvre. Remarque : Il est possible dans ce genre de requ etes de faire appel plusieurs fois a ` la m eme table. Supposons par exemple que nous disposons dune entit e employ e qui dispose dune relation r eexive responsable entre employ e et employ e. Si on d esire la liste de tous les employ es avec leurs responsables, il nous faudra utiliser deux fois la table employ e dans la requ etes : lune dentre elle repr esentera lemploy e, lautre le responsable. 16

En pratique

Dans la partie Requ ete du menu principal, s electionnez Nouveau, puis Mode cr eation. S electionnez les tables intervenant dans la requ ete. V eriez que les liens ont tous vraiment du sens dans votre requ etes, supprimez les liens inutiles. S electionnez les champs a ` acher.

4.2.3

Requ etes avec crit` ere

Lorsquune requ ete ne sint eresse pas a ` tous les enregistrements dune table de la base de donn ees, mais seulement a ` certains, il nous faut utiliser des crit` eres pour limiter la s election. Les crit` eres sindiquent dans la ligne du m eme nom. Supposons que nous nous d esirons acher toute la liste des auteurs dont le nom est Dupont. Nous allons commencer par ecrire une requ ete qui achent tous les auteurs, puis nous allons restreindre cette requ ete en s electionnant le champ Nom et en indiquant dans la zone Crit` eres la valeur ="Dupont" (ou simplement "Dupont"). Access nous permet dutiliser dautres op erateurs math ematiques que =. Op erateur = <> < <= > >= Signication Egal Dif erent Inf erieur Inf erieur ou egal Sup erieur Sup erieur ou egal

On peut egalement utiliser les op erateurs suivants Op erateur Entre Dans Est Comme Pas Signication S electionne les enregistrements pour lesquels la valeur dun champ est comprise dans un intervalle de valeurs. S electionne les enregistrements pour lesquels la valeur dun champs est comprise dans une liste S electionne les enregistrements pour lesquels un champ est vide ou non S electionne les enregistrements contenant une donn ee approximative S electionne les enregistrements ne correspondant pas au crit` ere Exemple Entre "A" et "C" Entre 10 et 20 Entre #01/01/04# et #31/12/04# Dans("Lille";"Roubaix") est NULL est pas NULL Comme rue* Pas Entre A et C

Il est possible de faire r ef erence a ` un autre champ dans les crit` eres. Pour cela, utilisez le nom du champ entre crochets (Exemple : [Nom]. Si deux tables poss` edent ce champ, on doit alors pr eciser la table en la mettant egalement entre crochet et en s eparant la table et le champ par un point (exemple : [Clients].[Nom]). Par exemple, la requ ete suivante s electionne les livres dont lauteur est le m eme que celui sp eci e dans la table Auteur. 17

Champ Table Tri Acher Crit` ere

: : : : :

IdAuteur Livre

[Auteur].[IdAuteur]

Un certain nombre de fonctions sont egalement disponibles. En voici quelques unes. Pour les texte Nbcar Droite Gauche Extraccha ne N bcar([N om]) = 4 s electionne les noms de 4 caract` eres Droite([N om]; 2) = se s electionne les noms se terminant par se Droite([N om]; 2) = mo s electionne les noms commen cant par mo ExtracCha ne([N om]; 2; 3) = ach s electionne les noms qui contiennent la retrouve les sous-cha nes dun texte cha ne ach a ` partir de la deuxi` eme lettre (machin par exemple) Pour les dates et heures permet davoir le mois dune date (il ex- M ois([DateCommande]) = 6 Ache iste aussi jour et ann ee) les commandes du mois de Juin. Dif f Date(j ; [Date1]; [Date2]) > 100 retrouve les el ements pour lesquels permet de faire une di erence entre il y a plus de 100 jours entre date1 deux dates et date2 (mettre m pour le mois et aaaa pour lann ee a ` la place de j). AjDate(j ; 10; [DateLivraison]) permet de faire des op erations sur les fournit une date ant erieure de 10 jours dates a ` la dte de livraison. permet davoir la date du jour (voir = Aujourdhui()) permet de aussi maintenant pour avoir lheure s electionner un champ date dont actuelle) la valeur correspond a ` la date du jour. Pour les champs num eriques ou mon etaires Ent([P rix]) = [P rix] s electionne les calcule la partie enti` ere prix ronds (sans centimes). Abs([V ariation]) < 10 s electionne les calcule la valeur absolue variation entre -10 et +10. nombre de caract` ere dun texte retrouve les caract` eres a ` droite dun texte retrouve les caract` eres a ` gauche dun texte

Mois

didate

AjDate Aujourdhui

Ent Abs

Access autorise la combinaison de plusieurs crit` eres. Si ces crit` eres sont tous sur la m eme ligne, la requ ete s electionnera les enregistrements qui r epondent a ` tous les crit` eres a ` la fois. Si ces crit` eres sont sur des lignes di erents (lignes ou), la requ ete s electionnera les enregistrements correspondant a ` lune de ses lignes.

Champ : ... Crit` eres : Ou :

Ville Roubaix

Age > 50

Champ ... Crit` eres : Ou :

Ville Roubaix

Age

> 50

Champ ... Crit` eres : Ou :

Ville Roubaix Lille

Age > 50

Ici, par exemple, la premi` ere requ ete s electionnera les habitants de Roubaix de plus de 50 ans. La deuxi` eme requ ete s electionnera les habitants de Roubaix (indi eremment de leur age) et les personnes de plus de 50 ans (m eme nhabitant pas Roubaix). La troisi` eme requ ete s electionne les habitants de Roubaix de plus de 50 ans ainsi que tous les habitants de Lille. La combinaison de crit` ere peut aussi etre r ealis ee a ` laide des op erateurs bool eens : OU, ET ou NON. La requ ete suivante permet de s electionner les habitants de Lille et de Roubaix (soit, ceux dont le champ ville vaut Lille ou Roubaix) 18

Champ : ... Crit` eres : Ou :

Ville Roubaix Ou Lille

Enn, il est possible de demander a ` lutilisateur dentrer un crit` ere. Pour cela, mettre [truc] dans les crit` eres ( eventuellement dans une formule) o` u truc est un nom quelconque qui ne correspond pas a ` un nom de champ. Lexemple suivant permet de s electionner un auteur dont le nom est demand ea ` lutilisateur. Champ Table Tri Acher Crit` ere 4.2.4 Requ etes ` a champs calcul es : : : : : Nom Auteur

[Quel Nom]

Si on d esire acher une information qui nest pas pr esente dans la base, mais qui est issue dun calcul a ` partir dautres champs, il est possible dutiliser des formules pour cr eer ce nouveau champ. Ce champ sappelle alors un champ calcul e. Pour cela, dans la zone de champ, on ecrit nom du champ : formule o` u nom du champ est le nom que lon d esire donner a ` notre nouveau champ et formule est une formule Access ( ecrite avec les m emes op erateurs que dans le point pr ec edent). Par exemple, la requ ete suivante permet davoir l age dune personne. Champ Table Tri Acher Crit` ere 4.2.5 : : : : : Age : DiDate(aaaa,[Date],Aujourdhui())

Requ etes de regroupements

La requ ete de regroupement est un important outil danalyse et de synth` ese. Un regroupement permet de faire un calcul sur un ensemble de valeurs dun champ eventuellement en fonction dun autre. Prenons par exemple les donn ees ci-dessous contentant le chire daaire de plusieurs agences dune soci et ea ` di erentes dates. Date 06/01/2003 06/01/2003 06/01/2003 07/01/2003 07/01/2003 07/01/2003 Agence Nord Sud Est Nord Est Sud CA 927,02 e 1 098,46 e 561,29 e 1 385,55 e 681,09 e 1 401,56 e

Pour juger des performances des di erentes agences, on peut avoir envie de faire des calculs sur le chire daaire en fonction de di erentes donn ees : par date : on peut avoir le chire daaire total par jour. le par jour est un indice fort du regroupement : on fera un regroupement sur la date, et un somme sur les chires daaires. Notons que la notion dagence ne nous int eresse pas, elle ne devra pas appara tre dans la requ ete 19

par agence : en sommant les chires daaires. Le regroupement se fait sur lagence, on fait une somme sur le CA. Encore une fois la date ne doit pas appara tre dans la requ ete puisquelle ne joue aucun r ole dans le regroupement.

Lorsquon fait un regroupement, comme dans les deux exemples ci-dessus, il y a donc deux types de champs qui nous int eressent : les champs sur lesquels le regroupement porte (ici date et agence) les champs sur lesquels un calcul seectue Tous les autres champs ne nous int eressent pas et nont pas a ` appara tre dans la requ ete. En particulier, si on d esire ajouter une crit` ere dans la requ ete sur un champ qui nest ni un champ de regroupement, ni un champ de calcul, cela ne sera pas possible (directement en tout cas, voir les requ etes en cascade). Di erentes op erations sont possibles, en voici quelques-unes : Somme : eectue la somme de tous les champs Compte : calcule le nombre de fois o` u un champ appara t. A ne pas confondre avec somme, dans les requ etes ci-dessus, il sagit bien dune somme de CA. Un compte indiquerait par exemple 3 (il y a 3 chires daaire pour chaque date). Moyenne Var, EcartType : variance et ecart type. Minimum, Maximum : la plus petite/grande valeur Premier, Dernier : le premier/dernier de la liste (souvent coupl e avec des tris) Notons que bien evidemment la plupart de ces op erations nont de sens que sur des donn ees de type num erique ou mon etaire.
En pratique

Pour cr eer une requ ete de regroupement : 1. Commencez par cr eer votre requ ete en ne faisant intervenir que des champs sur lesquels vous ferez une calcul ou un regroupement (si vous avez besoin dautres champs, il vous faudra plusieurs requ etes, voir la section requ ete en cascades), 2. Cliquez sur le bouton droit de la souris dans la zone de description de votre requ ete et s electionnez Totaux, 3. Pour chacun des champs, choisissez lop eration que vous comptez effectuer, ou Regroupement si le champ est un champ sur lequel vous allez faire un regroupement (il est obligatoire de renseigner cette partie : si vous pensez quil ne faut rien mettre, cest probablement que le champ qui vous int eresse na pas a ` appara tre dans la requ ete).

20

4.2.6

Requ etes en cascades

Il arrive souvent quune requ ete ne puisse pas r ealiser exactement ce que vous vouliez. Dans ce cas, il ne faut pas avoir peur de d ecomposer cette requ ete en plusieurs. Il est possible en eet de construire une requ ete en ouvrant une autre requ ete a ` la place dune table. Pour cela, lors du choix des tables n ecessaires pour une requ ete, choisissez longlet Requ ete et s electionnez la requ ete dont vous avez besoin. Une d emarche g en erale pour cr eer une requ ete peut maintenant etre propos ee : commencez a ` concevoir votre requ ete principale, sil vous manque une information, cr eez la requ ete qui indiquera cette information, r ep etez cette op eration jusqu` a ce que votre requ ete principale ait tout ce dont elle a besoin. Un exemple, supposons quune liste de personne soit indiqu ee avec leur nom, pr enom et leur date de naissance. On d esire conna tre le nom de la ou des personne(s) les plus a g es. la requ ete sera une requ ete simple avec un crit` ere : le champ nom sera ach e et la date de naissance doit etre egale a ` la plus petite date de naissance. Linformation la plus petite date de naissance nest pas connue. Pour avoir cette information, il nous faut donc cr eer une requ ete : ce sera une requ ete par regroupement qui fait simplement un min sur lensemble des dates de naissance. Nous pouvons maintenant cr eer notre requ ete principale en se basant sur la requ ete qui nous permet davoir la date de naissance la plus ancienne. Important : Quand vous envisagez de faire des requ etes en cascade, pensez a ` acher la cl e primaire de vos tables dans toutes vos requ etes : les liaisons entre vos requ etes se feront plus facilement et vous ferez moins derreur. 4.2.7 Requ ete danalyse crois ee

Faire une analyse crois ee consiste a ` eectuer une synth` ese des donn ees sur plusieurs niveaux. Cela ressemble a ` bien des points de vue a ` la cr eation dun Tableau Crois e Dynamique (TCD) en Excel. Dans Access, lanalyse crois ee constitue une forme particuli` ere de requ ete de s election. trois colonnes, et poss edant des caract eristiques particuli` eres. Lune des colonnes doit comporter des doublons, sur lesquels sera eectu ee lop eration de regroupement (la colonne U de la gure ci-dessous). Une autre colonne (la colonne W de la gure ci-dessous) doit comporter un nombre restreint de valeurs distinctes, qui serviront a ` cr eer les nouvelles colonnes. U a a a b b c c c V W 1 2 3 1 2 1 2 3

U a b c

W1

W2

W3

On peut ainsi r ealiser des tableaux en deux dimensions pour visualiser l evolution dune donn ees. Trois types de champs sont importants : ent ete de ligne : le champ qui sert a ` etiqueter les lignes, 21

ent ete de colonne : le champ qui sert a ` etiqueter les colonnes, valeur : le champ qui va etre a ` lint erieur du tableau ; il faut lui associer une op eration (voir requ etes de regroupement ).
En pratique

Pour cr eer une requ ete danalyse crois ee : 1. cr eez une requ ete de s election contenant les donn ees 2. transformez la en requ ete danalyse crois ee en allant dans le menu type de requ ete et en s electionnant Analyse Crois ee, 3. indiquez quel champs utiliser comme ent ete de ligne, ent ete de colonne et valeur (dans analyse )

4.2.8

Requ etes en mode SQL

Le SQL (Structured Query Language) est le v eritable langage utilis e pour faire des requ etes non seulement par Access, mais aussi par la quasi totalit e des SGBD. Il y aurait beaucoup a ` dire sur le SQL, et nous ne rentrerons pas ici dans les d etails. Nous nous bornerons a ` montrer que chaque requ ete r ealis ee graphiquement en Access a une traduction en SQL (linverse nest pas vrai), et quAccess permet d ecrire des requ etes en SQL. Le SQL est un langage assez simple qui permet d ecrire une requ ete sous forme de texte. Par exemple, la requ ete SQL suivante permet de s electionner les noms de lauteur ayant ecrit Frankenstein. SELECT AUTEUR.nom FROM AUTEUR, OEUVRES where AUTEUR.idAuteur = OEUVRES.idAuteur AND OEUVRES.titre=Frankenstein; En quelques mots : la requ ete SQL indique quil ache le champ nom de la table AUTEUR, quil a besoin pour cela des tables AUTEUR et OEUVRES, quil utilise le lien AUTEUR.idAuteur OEUVRES.idAuteur et quil a un crit` ere : OEUVRES.titre=Frankenstein.
En pratique

Pour passer en Mode SQL : cr eez une requ ete normalement ou ouvrez une requ ete existante ; au moyen de lic one dachage (situ ee sous chier, compl` etement a ` gauche de la barre doutils), s electionnez le Mode SQL ; vous pouvez voir la traduction SQL de votre requ ete, et eventuellement modier votre requ ete ; la requ ete modi ee ne peut eventuellement plus etre vue dans Access (si elle ne peut pas etre repr esent ee graphiquement). On peut toutefois toujours lex ecuter (bouton avec point dexclamation).

4.3

Requ etes dactions

Jusqu` a pr esent, les requ etes que nous avons vu sont toutes des requ etes qui permettent de consulter la base de donn ees. Il est egalement possible de faire des requ etes qui vont modier la base de donn ees : 22

en supprimant des enregistrement, en les modiant, en en ajoutant, ou en cr eant de nouvelles tables. Nous voyons dans cette section comment r ealiser ces di erentes op erations. Il sagit en r` egle g en erale de cr eer une requ ete de s election (avec les m ethodes vues ci-dessus) et en modiant ces requ etes pour les transformer en requ etes daction. 4.3.1 Requ etes de suppression

Une requ ete de suppression permet deacer des informations de la base de donn ees. La conception dune requ ete de suppression se fait tr` es simplement en deux temps : cr eation dune requ ete de s election qui va s electionner les enregistrements a ` supprimer, transformation de la requ ete en requ ete de suppression. Fa tes tr` es attention lorsque vous utilisez ce genre de requ ete ! Cette op eration est irr eversible et par le jeu des relations, les suppressions peuvent se r epercuter en cascade dans dautres tables si loption correspondante a et e choisie lors de la cr eation de la relation (voir la section sur lint egrit e r eferentielle).
En pratique

Pour concevoir une requ ete de suppression : cr eer une requ ete de s election qui va s electionner les enregistrements a ` supprimer, transformez la en requ ete de suppression en allant dans le menu type de requ ete et en s electionnant Suppression, vous pouvez passer en mode feuille de donn ees pour acher les enregistrements qui vous etre supprim es (sans les supprimer r eellement), pour ex ecuter la requ ete (et supprimer eectivement les enregistrements) appuyez sur le bouton ! ou allez dans le menu Requ ete / Ex ecution, soit dans la liste des requ etes, double-cliquez sur votre requ ete.

4.3.2

Requ etes de mise ` a jour

Une requ ete de mise a ` jour permet de modier les valeurs de certains enregistrement de la table. Il sagit probablement du type de requ ete daction le plus courant. La conception dune requ ete de mise a ` jour se fait en deux temps : 1. Conception de la requ ete comme dune requ ete de s election. On commence par cr eer une requ ete de s election qui va permettre dindiquer quels sont les enregistrements qui vont etre modi es. 2. Modication des enregistrement : on indique quels sont les nouvelles valeurs des champs indiqu es. 23

Attention : il nest pas possible dutiliser des crit` eres dans une requ ete de mise a ` jour. Si vous avez besoin dutiliser des crit` eres, utilisez alors des requ etes en cascade : une requ ete de s election choisit les enregistrements qui vous int eressent, et une requ ete de mise a ` jour ouvre la requ ete de s election et fait les modications.
En pratique

Pour faire une requ ete de mise-` a-jour : 1. cr eez une requ ete en mode s election qui ache les champs qui seront modi es, 2. transformez cette requ ete en requ ete de mise a ` jour a ` partir du menu Type de requ ete, 3. Indiquez pour champs, sa nouvelle valeur (qui peut eventuellement etre une formule). 4. testez en passant en mode feuille de donn ees et ex ecutez avec le bouton !,

4.3.3

Requ etes de cr eation de table

La requ ete de cr eation de table se fait egalement tr` es simplement. Le r esultat dune requ ete de s election peut se voir sous la forme dune table : la requ ete de cr eation de table cr ee simplement cette table r eellement. Il est a ` noter que ce type de requ ete ne devrait servir que tr` es rarement, essentiellement lorsquil sagit de modier une base de donn ees ou de cr eer une base de donn ees a ` partir dune autre (en vue de faire de limportation de donn ees).
En pratique

Pour faire une requ ete de cr eation de table : 1. cr eez une requ ete en mode s election qui ache les informations qui seront pr esentes dans votre table, 2. transformez cette requ ete en requ ete de cr eation de table a ` partir du menu Type de requ ete, 3. testez en passant en mode feuille de donn ees et ex ecutez avec le bouton dex ecution (!), 4. a ` lex ecution le syst` eme demandera un nom de table.

4.3.4

Requ etes dajout

Ce type de requ ete ajoute un groupe denregistrements dune ou plusieurs tables a ` la n dune ou de plusieurs autres tables. Sa cr eation est egalement tr` es ais ee : on cr ee une requ ete de s election comprenant les enregistrement a ` ajouter, on transforme la requ ete en requ ete dajout, et a ` lex ecution de la requ ete, on sp ecie la table a ` laquelle sont ajout ees les donn ees. Il faut bien s ur que la requ ete de s election ait bien les m emes champs que la table a ` laquelle les donn ees seront ajout ees. 24

En pratique

Pour faire une requ ete dajout : 1. cr eez une requ ete en mode s election qui ache les informations qui seront ajout ees, 2. transformez cette requ ete en requ ete dajout a ` partir du menu Type de requ ete, 3. testez en passant en mode feuille de donn ees et ex ecutez avec le bouton dex ecution (!), 4. a ` lex ecution le syst` eme demandera le nom de table a ` laquelle seront ajout ees les donn ees.

25

Finalisation de la base

Une fois la base de donn ees termin ee, lutilisateur nal ne devrait pas avoir a ` manipuler directement les di erentes tables et requ etes. Il manipulera la base a ` laide d etats et de formulaires. Un etat permet une pr esentation agr eable des donn ees de la base de donn ees et propose ainsi une vue soit sur une table de la base, soit sur les donn ees s electionn ees par une requ ete de s election. La navigation parmi ses di erents el ements se fait classiquement a ` laide dun menu.

5.1

Etats

Un etat sert a ` visualiser les donn ees. Il ne permet aucune modication. Les etats sont en particulier tout a ` fait adapt es a ` limpression des donn ees : ils fournissent une pr esentation sous forme de feuilles pr etes a ` etre imprim es. La cr eation dun etat se fait dans la section etat puis Nouveau. Di erentes m ethodes de cr eation sont propos ees : Mode cr eation : cr eation de l etat sans aucune aide. Assistant etat : conseill e pour la plupart des utilisations. Etat Instantan e Colonnes / Tableau : permet la cr eation tr` es rapide d etats, mais sans aucune option de personnalisation. Lassistant colonnes permet une pr esentation sous forme de colonnes avec a ` gauche le nom du champ et a ` droite sa valeur, lassistant tableau g en ere une pr esentation proche de celle des tables (noms des champs en haut puis la liste des valeurs). Assistant graphique : pour cr eer un graphique (non abord e ici). Assistant Etiquette : g en` ere des etats sous forme d etiquettes. Non abord e ici, la cr eation se fait cependant dune mani` ere tr` es similaire a ` celle des etats classiques. Nous verrons ici uniquement lutilisation de lassistant etat. Celui-ci nous pose di erentes questions : Choix des champs : tout dabord, s electionnez une table ou une requ ete puis faites glisser les champs qui seront ach es dans l etat. Notez que si les champs qui vous int eressent appartiennent a ` plusieurs tables ou requ etes, alors il vaut mieux commencer par cr eer une requ ete qui regroupe ces di erentes informations et b atir l etat sur cette nouvelle requ ete. Niveau de regroupement : si l etat n ecessite un regroupement, cest ici quon lindique. Par exemple, si on d esire la liste des livres par auteurs, nous choisirons un regroupement par auteur (sur IdAuteur). Notez que si tous les champs ne sont pas a ` leur bon niveau de regroupement, ce sera rectiable par la suite (par exemple, le regroupement par IdAuteur laissera le nom de lauteur au m eme niveau que les informations sur les livres, ce sera rectiable plus tard). Le tri : on choisit les champs a ` partir duquel les lignes de d etails seront tri es (les lignes de d etails sont les lignes qui seront ach es pour chaque enregistrement). La pr esentation : on choisit ici le mod` ele de pr esentation de l etat. Le style : on choisit les di erents el ements de style (couleur,...) parmi une liste de quelques choix. Nom de l etat : le nom avec lequel l etat sera stock e. L etat est ensuite cr ee. 26

5.2

Modication de l etat

Un etat etant cr ee, il est possible de le modier. Pour cela, cliquez sur le bouton Modier apr` es avoir s electionn e votre etat (ou passez en mode Cr eation). On observe alors les di erentes parties de l etat : lent ete de l etat : cest ce qui va etre imprim e au d ebut de l etat ; ce ne sera imprim e quune seule fois. lent ete de page : cest ce qui est ach e au d ebut de chaque page lent ete de groupe : cest ce qui va etre imprim e au d ebut de chaque groupe, un groupe etant lun des niveaux de regroupements choisis lors de la cr eation de l etat le d etail : cest ici que vont etre imprim es chaque ligne de l etat le pied de groupe : cest ce qui va etre imprim ea ` la n de chaque groupe, le pied de page : ce qui est imprim e en bas de chaque page (souvent la date et le num ero de pages), le pied d etat : imprim e une seule fois a ` la n du document. Notez quil peut y avoir plusieurs groupes (sil y avait plusieurs niveaux de regroupements) et quil est possible que certaines section indiqu es ici manquent (pied de groupe est souvent absent), on peut choisir les sections a ` acher a ` laide du bouton Trier/Regrouper. Par exemple, si on utilise un etat qui ache tous les auteurs, avec tous leurs livres (avec donc un regroupement sur Auteur), limpression du document se fait ainsi : Ent ete de l etat Ent ete de page Ent ete de groupe 1 (Auteur1) D etail : premier livre de Auteur1 D etail : deuxi` eme livre de Auteur1 D etail : troisi` eme livre de Auteur1 ... Ent ete de groupe 1 (Auteur1) Ent ete de groupe 2 (Auteur2) D etail : premier livre de Auteur2 D etail : deuxi` eme livre de Auteur2 D etail : troisi` eme livre de Auteur2 ... Ent ete de groupe 2 (Auteur2) ... Pied de page Pied de l etat A partir de l` a, il est possible de faire di erents types de modications : d eplacer un el ement, y compris dune section a ` une autre, supprimer des el ements, 27

ajouter des el ements de d ecoration (lignes, bo tes, images, textes), pour cela appuyer sur le bouton bo te a ` outils, les sauts de pages peuvent egalement etre ajout es (voir propri et e des di erentes sections, en g en eral dans pied de groupe).

5.3

Cr eation dun formulaire

Un formulaire permet de modier et dacher le contenu dune fa con bien plus agr eable que le mode feuille de donn ees qui ne permet quun achage en lignes et colonnes. De plus, le mode feuille de donn ees ne permet lachage et la modication dinformations ne provenant que dune seule table, le formulaire peut nous permettre de manipuler au m eme endroit des informations provenant de plusieurs tables simultan ement. Par exemple, dans la base de donn ees du libraire, il est possible au sein dun m eme formulaire dajouter ou modier les informations sur un auteur et sur lensemble des oeuvres quil a ecrit. La cr eation dun formulaire se fait dune mani` ere tr` es similaire a ` la cr eation d etat. Apr` es avoir fait nouveau formulaire, plusieurs choix vous sont propos es. Mode cr eation : la cr eation se fait sans aucune aide. Assistant formulaire : Access nous guide pas a ` pas dans la cr eation du formulaire formulaires instantan es (Colonnes / Tableau / Feuille de donn ees) : cr ee un formulaire rapidement pour une table, sans poser de questions. Laspect est rudimentaire et ne donne pas de grandes possibilit es de personnalisations Assistant graphique et tableau crois e dynamique : non abord e ici. Si vous cr eez un formulaire en utilisant la m ethode Assistant formulaire, Access vous demande les renseignements suivants : La table : quelle est la table qui contient les informations que lon souhaite modier. Les champs : quels sont les champs que nous d esirons acher dans le formulaire (en g en eral tous, mais pas toujours. Il nest par exemple pas n ecessairement utile de choisir la cl e si celle-ci est issu dun champ de type Num eroAuto). La pr esentation : la pr esentation g en erale de l etat, les plus souvent utilis es etant Colonne simple et Tabulaire. Le style : le style g en eral (couleur, fond...). Le nom : le nom de l etat. Une autre m ethode pour cr eer le formulaire consiste a ` utiliser lun des assistants formulaire instantan e. Pour cela, a ` la cr eation, choisissez lun de ces assistants plut ot que lassistant standard : lassistant formulaire instantan e : Colonnes cr ee un formulaire standard avec un enregistrement par feuille, lassistant formulaire instantan e : Tableau cr ee un formulaire sous la forme dun tableau reprenant lensemble des enregistrements, lassistant formulaire instantan e : Feuille de donn ees permet la cr eation imm ediate de formulaire reprenant la m eme pr esentation que les feuilles de donn ees (cest-` a-dire moche). Lassistant vous demande simplement la table ou la requ ete a ` partir de laquelle vous voulez cr eer votre formulaire et le cr ee instantan ement. Ceci a lavantage de permettre une cr eation tr` es rapide mais ne propose pas beaucoup de possibilit e de personnalisation. 28

5.4

modication dun formulaire

Le formulaire etant cr ee, il est ensuite possible de le modier. La modication dun formulaire en suivant une m ethode similaire a ` celle utilis ee pour modier un etat. Pour modier un formulaire, il faut passer en mode cr eation (dans le menu achage ou par lic one mode cr eation). On voit alors la structure du formulaire, a ` partir de l` a, il est possible de r ealiser les op erations suivantes : d eplacer ou redimensionner un el ement, supprimer des el ements, changer les propri et es des el ements (en cliquant sur l el ement avec le bouton droit de la souris) ajouter des el ements (bouton, ligne, zone de texte...), pour cela appuyer sur le bouton bo te a ` outils, Lorsquon ajoute un el ement, il est possible de les ajouter directement pour ensuite modier l el ement, ou, plus simplement, en utilisant un assistant. Pour cela, s electionnez sur la bo te a ` outils le bouton repr esentant une baguette magique avec de cr eer l el ement. On trouve les el ements suivants : intitul e : il sagit dune zone de texte qui ne sert qu` a la pr esentation.

Pour le cr eer, s electionnez le bouton correspondant (Aa ) et cliquez sur le formulaire a ` lendroit o` u vous voulez placer votre intitul e et ecrivez votre texte.

zone de texte : une zone de texte est une zone qui sert a ` acher la valeur dun champ. Il est egalement possible dajouter des champs calcul es a ` partir dautres champs pr esents dans le formulaire. Pour la cr eer, s electionnez le bouton correspondant (ab|) et cliquez sur le formulaire a ` lendroit o` u vous voulez placer votre zone de texte. Si vous avez activ e lassistant (baguette magique), on vous demandera alors a ` quel champ doit correspondre la zone de texte. Sinon, dans la zone de texte, indiquez le champs qui vous int eresse ("[salaire]" par exemple, ou "=[salaire] + [commission]" si vous voulez une formule). bouton bascule, bouton doption et case ` a cocher : ils fonctionnent de la m eme mani` ere que les zones de textes, mais pour des champs de type Oui/Non. groupe doptions : un groupe doptions vous permet de choisir entre di erents choix a ` laide de boutons ou de cases. Le groupe doptions est particuli` erement adapt e aux champs contenant un nombre limit e de valeurs num eriques cod es (par exemple, les cat egories sociaux professionnelles). Pour le cr eer, utilisez lassistant, s electionnez le bouton correspondant et cliquez sur le formulaire a ` lendroit o` u vous voulez placer votre groupe doptions. Lassistant vous demande quelles sont les di erentes etiquettes de votre liste (patron, cadre moyen, ouvrier,...). Il sagit de la valeur ach ee dans le groupe doptions. On vous demande ensuite une eventuelle valeur par d efaut, puis la valeur correspondante a ` chacune des etiquettes. Il sagira de la valeur contenue r eellement dans le champ. On vous demande ensuite le champ correspondant au groupe doptions (celui dans lequel linformation sera stock ee) et le style (bouton ou case). La derni` ere question concerne la l egende de votre groupe doptions. liste d eroulante : permettent le choix dune valeur dans une liste.

Pour la cr eer, utilisez lassistant, s electionnez le bouton correspondant et cliquez sur le formulaire a ` lendroit o` u vous voulez placer votre liste d eroulante. De l` a, trois choix vous sont propos es : le premier indique que la liste est remplie a ` partir des valeurs dune table ou dune 29

requ ete, la deuxi` eme correspond a ` des valeurs remplies ` a la main, et la troisi` eme ore une fonction de recherche que nous naborderons pas ici. Si on choisit le premier choix, lassistant commence par demander la source des informations (une table ou une requ ete). Il demande ensuite le ou les champs concern es. Il est possible de mettre plusieurs champs : le champ qui contient r eellement linformation a ` stocker et un ou plusieurs autres champs plus parlants qui serviront a ` renseigner lutilisateur. On souhaite ainsi souvent faire une liste sur un ensemble de cl es primaires (IdAuteur par exemple), alors quon pr ef` ere acher dautres informations (nom et pr enom de lauteur). Si on a choisit plusieurs champs, lassistant demande sil faut masquer ou non le premier champ. Il demande ensuite la largeur souhait ee pour la liste et enn le champ qui contiendra les donn ees de la liste. Avec le second choix, la d emarche est similaire. On commence l` a par remplir la liste des valeurs. bouton de commande : un bouton de commande permet de r ealiser certaines op erations par le biais dun bouton. Il est ainsi possible de passer dun enregistrement a ` un autre, deectuer des recherches, douvrir un autre formulaire ou un autre etat. Pour le cr eer, utilisez lassistant, s electionnez le bouton correspondant et cliquez sur le formulaire a ` lendroit o` u vous voulez placer votre bouton. lassistant vous demandera ensuite quel op eration vous voulez r ealiser avec votre bouton et la pr esentation quil aura. bo te, trait, image : il sagit d el ements purement graphiques qui peuvent am eliorer la pr esentation de votre formulaire. Onglet : ce contr ole ore deux avantages. Il regroupe les informations a ` une m eme place et prend moins despace a ` l ecran. Il sut de cliquer sur longlet pour voir les informations de la cat egorie choisie. Sous formulaire / Sous etat : cet el ement permet dint egrer un sous formulaire. Ce point sera abord e plus loin. autre contr oles : Access contient egalement dautres contr oles qui permettent dautres types de saisie, par exemple le contr ole Calendrier pour les dates

5.5

Sous formulaire

Les sous formulaires sont un peu aux formulaires ce que sont les regroupements aux etats. Ils permettent d editer plusieurs tables en m eme temps. Supposons par exemple que, dans lexemple du libraire, on d esire avoir un formulaire qui ache tous les renseignements concernant les auteurs (nom, pr enom, ...) ainsi que la liste des livres quils ont ecrits. Lop eration peut se faire ` a la main ou a ` laide de lassistant. Nous pr esentons ici deux m ethodes, une simple et rapide, une un peu moins simple (mais tout de m eme) qui permet de faire plus de choses. M ethode simple La cr eation du formulaire se fait de la mani` ere suivante. 1. Cr eez une requ ete qui contient les informations que devra contenir le formulaire (dans lexemple, il sagira dune requ ete contenant tous les auteurs et tous les livres de ces auteurs). 2. Cr eez un formulaire en se basant sur cette requ ete a ` laide de lassistant. 3. Suivez lassistant. La proc edure est la m eme que pour un formulaire simple a ` une nuance pr` es. On vous demande comment vous souhaitez acher vos donn ees, choisissez le niveau de regroupement voulu (comme pour un etat). Choisissez formulaire avec sous formulaire. 30

M ethode un peu moins simple (mais tout de m eme) La m ethode pr esent ee ici a le m eme r esultat que ci-dessus mais permet eventuellement plus de souplesse. On peut par exemple en suivant cette m ethode avoir plusieurs sous-formulaires au sein dun m eme formulaire. Nous reprenons ici le m eme exemple : on d esire tous les auteurs avec tous les livres de chaque auteur. 1. cr eez la requ ete du sous-formulaire : il sagira ici dune requ ete achant tous les livres avec leur auteur (IdAuteur). Les donn ees qui nous int eresse sont eectivement les informations sur les livres, et le champ IdAuteur nous permettra de faire le lien avec le formulaire principal. 2. Cr eez le sous formulaire : il sagira dun formulaire classique sur la requ ete pr ec edente. Ce sera ce formulaire qui sera int egr e dans le formulaire principal. 3. Cr eez le formulaire principal. 4. Modiez ce formulaire : a ` laide du bouton Sous formulaire de la barre doutils, importez le sous formulaire (en ayant activ e la baguette magique). Lassistant vous demandera comment lier le sous-formulaire avec le formulaire : dans notre exemple, il sagit de faire un lien par le champ IdAuteur (on achera ainsi uniquement les livres dont lauteur est celui du formulaire).

5.6
5.6.1

Menus et autres personnalisations


menu g en eral

Une etape importante de la nalisation de la base de donn ee est la conception dun menu. Ce menu permettra a ` lutilisateur de retrouver facilement les di erents el ements dont il a besoin sans avoir a ` manipuler directement la base de donn ee. Id ealement, lutilisateur doit pouvoir r ealiser toutes les op erations dont il a besoin a ` partir du menu. La m ethode est la suivante. 1. Commencez par r e echir a ` ce que vont contenir toutes les di erentes pages de votre menu. 2. Cr eez votre menu principal. Pour cela, aller dans Outils/Gestionnaire du menu g en eral. Acceptez davoir un menu g en eral. 3. Vous avez maintenant acc` es a ` une fen etre dans laquelle se trouve un el ement (menu g en eral). Dans cette fen etre se trouveront toutes les pages de votre syst` eme de navigation. Cr eez-les (avec Ajouter) 4. Vous pouvez maintenant les modier. Chaque page de menu contient di erents el ements. Chaque el ement sera repr esent e par un bouton qui eectuera une action pr ecise. En particulier, on peut : aller sur une autre page du menu,

ouvrir un etat,

ouvrir un formulaire en mode cr eation (souvre sur une page blanche) ou en mode modication (souvre sur le premier enregistrement),

Quitter lapplication... Attention : Access semble etre tr` es sensible aux manipulations sur son menu. En th eorie, vous pouvez consulter le menu qui est pr esent dans les formulaires. Evitez de trop modier ce menu, et surtout ne leacez pas sous peine de voir Access se planter ou vous emp echer de cr eer un nouveau menu... 31

5.6.2

D emarrage de lapplication

On peut ensuite personnaliser davantage notre application en indiquant ce que va voir lutilisateur lorsquil va d emarrer notre base de donn ees. Pour cela, allez dans outils e a on peut .marrage. De l` (entre autres) : indiquer le nom du menu qui est ach e lors du d emarrage de lapplication, lic one de lapplication, le nom de lapplication

32

Vous aimerez peut-être aussi