Académique Documents
Professionnel Documents
Culture Documents
1.
Les systmes de Gestion de Bases de Donnes --------------------------------------------------------------------------2 1.1 LA BASE DE DONNES ------------------------------------------------------------------------------------------------------2 1.2 LE SYSTME DE GESTION DE BASES DE DONNES--------------------------------------------------------------2
2.
Lorganisation des donnes dans la base de donnes------------------------------------------------------------------3 2.1 PRSENTATION DE LEXEMPLE------------------------------------------------------------------------------------------3 2.2 LORGANISATION DES DONNES DANS UN SGBD ---------------------------------------------------------------3 2.3 DIVISER POUR MIEUX RGNER-------------------------------------------------------------------------------------------4 2.4 UTILISER PLUSIEURS TABLES --------------------------------------------------------------------------------------------5 2.5 IL EXISTE TROIS TYPES DE RELATIONS ENTRE LES TABLES :----------------------------------------------7 2.6 LES INDEX ----------------------------------------------------------------------------------------------------------------------12
3.
Application ----------------------------------------------------------------------------------------------------------------------------13 CREATION DUNE BASE DE DONNEES AVEC ACCESS---------------------------------------------------17 3.1 CRATION DUNE TABLE--------------------------------------------------------------------------------------------------19 3.2 LES TYPES DE DONNES --------------------------------------------------------------------------------------------------20 3.3 LES PROPRITS DES CHAMPS ----------------------------------------------------------------------------------------22 3.4 LE FORMAT D'AFFICHAGE ------------------------------------------------------------------------------------------------24 Pour les champs texte et mmo--------------------------------------------------------------------------------------24 Pour les champs Numriques et Montaires ---------------------------------------------------------------------24 Pour les champs de type Date / Heure-----------------------------------------------------------------------------26 Format daffichage des dates / heures dans Windows ---------------------------------------------------------28 Pour les champs de type OUI/NON ---------------------------------------------------------------------------------29 3.5 LE MASQUE DE SAISIE -----------------------------------------------------------------------------------------------------29 3.6 LES LISTES DE CHOIX ------------------------------------------------------------------------------------------------------30 3.7 TRI PARMI LES ENREGISTREMENTS ----------------------------------------------------------------------------------42 3.8 FILTRER DES ENREGISTREMENTS ------------------------------------------------------------------------------------43 Le filtre sur un seul critre :--------------------------------------------------------------------------------------------43 Filtre sur plusieurs critres---------------------------------------------------------------------------------------------44 3.9 RECHERCHER DES ENREGISTREMENTS ----------------------------------------------------------------------------45
Page 1 sur 47
Cours ACCESS
Page 2 sur 47
Cours ACCESS
Base de donnes
Table 1
Table 2
Table 3
Enregistrement 1
Enregistrement 2
Champ 1
Champ 2
Champ 3
Page 3 sur 47
Cours ACCESS
Si on reprend notre exemple de carnet dadresse, nous allons avoir une table qui peut ressembler a :
Champ
Adresse Rue Barbe 75001 Paris Rue Minant 59000 Lille Rue Tilant 75003 Paris
Enregistrement
Quelques dfinitions : ?? La base de donnes : Cest lensemble des tables utilises pour grer linformation ?? La table : cest un ensemble de donnes organises en ranges et en colonnes ?? Le champ (ou colonne) : Cest lunit dinformation dans une table. Une table est constitue de diffrents champs er ?? Lenregistrement (ou la ligne) : Cest lensemble des donnes relatif la mme information (le 1 enregistrement de la table contient les informations relatives au contact John Deuf )
Lorganis ation de la table est optimale, elle est dcompose en lments aussi petits que possible, la ville est clairement spare de ladresse et le nom du prnom.
Page 4 sur 47
Cours ACCESS
Pourquoi ? On va regrouper ensemble dans une mme table toutes les informations relatives au mme sujet . On voit bien ici quon peut regrouper ensemble les donnes concernant uniquement lidentit de lauteur et, dans une autre table, les informations relatives uniquement lalbum (par exemple, lanne de sortie dun album na pas de rapport direct avec lidentit de lauteur, on la trouvera dans une autre table). Un bon moyen pour trouver les tables utilises est de partir de la situation existante : Un auteur fait des albums, a un auteur peut correspondre plusieurs albums On en dduit directement une table auteurs et une table albums . Ce qui, au passage, nous permet denrichir les informations sur les auteurs, on peut en profiter pour par exemple ajouter la date de naissance ou son adresse, ce qui aurait t pnible dans la 1re version, en effet, il aurait fallu, pour chaque album dun auteur, ressaisir chaque coup sa date de naissance et son adresse (sans compter les erreurs de frappe dun album lautre), l les informations ne sont saisies quune fois, ce qui est dabord moins fatiguant (et a, cest le plus important) et ensuite, vite les fautes de frappes.
Page 5 sur 47
Cours ACCESS
Bon, cest bien, maintenant on a deux tables, mais du coup, on ne sait plus qui a fait quoi, les informations sont parpilles. Il va donc falloir trouver un moyen pour savoir exactement quel auteur correspond chaque album. Pour cela on va ajouter dans la table auteur un champ qui va identifier de faon unique chaque enregistrement, ce champ didentification unique est appel clef primaire. A quoi sert cette clef ? A pouvoir retrouver de faon non quivoque nimporte quel enregistrement dans la table Auteurs , on ne peut en effet utiliser le nom ou le prnom comme clef primaire car deux auteurs peuvent avoir le mme nom (rare mais pas impossible). Le numro de scurit sociale est un bon exemple de champ clef primaire car il identifie de manire unique un individu. Mme si deux individus ont le mme nom et le mme prnom, ils ne peuvent avoir le mme numro de scurit sociale.
La table Auteurs ressemble alors ceci (la clef primaire est en gras) Auteurs N Auteur Nom Prnom Date de naissance Adresse Et pour pouvoir associer un album un auteur, il va falloir ajouter un champ dans la table Albums , ce champ contient le n de lauteur de lalbum Albums N Auteur Titre Album Anne Genre Support On voit ici que cette organisation rpond une des exigences des bases de donnes, savoir la non redondance des informations, dans la premire organisation, le nom et le prnom de lauteur taient rpts autant de fois quils avait fait dalbums, ici il ne sera prsent quune seule fois. Lorsquon voudra afficher les caractristiques dun album, Access, grce au numro de lauteur prsent dans lenregistrement de la table Albums ira chercher automatiquement les informations le concernant dans la table Auteurs . Cette organisation a un norme avantage, le jour ou on veut modifier le nom ou le prnom dun auteur, cette modification sera rpercute automatiquement sur les albums quil aura fait. Clef primaire ralise partir de plusieurs champs Lorsquon est sr que le contenu dune combinaison de champs ne se rptera pas dans une table, on peut utiliser cette combinaison de champs comme clef primaire. On aurait pu, la place dun n dauteur, utiliser la combinaison nom + prnom + date de naissance , parce quil est rare que deux auteurs diffrents aient le mme nom et le mme prnom et la mme date de naissance. Mais ce type de combinaison complexe est difficile maintenir (il est plus simple de taper un numro quune combinaison complexe de noms et de date, sans parler des erreurs de frappes) et en plus prendrait plus de place dans la base de donnes (on ne voit pas trop lintrt de dcouper les informations en deux tables si cest pour retrouver dans le n de lauteur utilis dans la table Albums quasiment toutes les informations contenues dans la table Auteurs !). Et pour terminer, ce genre de clef primaire complexe fonctionne mal dans Access.
Page 6 sur 47
Cours ACCESS
Grce a cette clef, on va pouvoir mettre les deux tables en relation. tablir une relation entre les tables de la base de donnes va permettre de runir (pour les exploiter ensemble, les analyser, ... ) les informations rparties dans diffrentes tables. La liaison se fait entre les tables partir de la clef primaire, ici, on obtiendra la liste des albums dun auteur grce la liaison entre la table Auteur et la table Album sur la clef primaire n auteur.
Exemple : a un auteur correspond un ou plusieurs albums (plusieurs flches partent du mme auteur), a chaque album ne correspond quun seul auteur.
La relation entre les deux tables se prsente sous cette forme : Auteurs N Auteur Nom Prnom Albums N Auteur Titre Album Anne Genre Support
Page 7 sur 47
Cours ACCESS
Un enregistrement de la table primaire peut tre en relation avec plusieurs enregistrements de la table relie et inversement, un enregistrement de la table relie peut tre en relation avec plusieurs enregistrements de la table primaire. Pour grer ce type de relation, il faut la scinder en deux relations : une relation un plusieurs et une relation plusieurs un . Exemple : On aurait pu avoir le cas o un album a plusieurs auteurs, l, a ne marche plus, car telle que la table Albums est structure, un album ne peut correspondre quun auteur. Si on veut permettre qu un album correspondent plusieurs auteurs (on a alors une relation n m), deux solutions soffrent nous : 1. La plus simple et la plus inlgante (les trucs les plus simples sont souvent inlgants) : ajouter quelques champs auteurs supplmentaires dans la table album pour arriver quelque chose de ce genre, histoire de conserver une relation 1 n : Albums N Auteur N Auteur 2 N Auteur 3 Titre Album Anne Genre Support Ce genre de plaisanterie est viter tout prix, en effet, si il ny a quun seul auteur, les champs n auteur 2 et n auteur 3 ne vont rien contenir, et on va perdre de la place dans la base de donnes, et que va-t-il se passer si il y a quatre auteurs ? ? vous rpondrez quon peut prvoir quatre champs, ce quoi je vous rpondrez quil peut y avoir 5 auteurs, etc
2. Il va donc falloir (on y coupe pas) crer une troisime table qui va servir dintermdiaire entre la table auteurs et la table albums :
1 n
Page 8 sur 47
Cours ACCESS
Jen entends dj hurler ! Quelles sont les modifications ? Nous sommes bien daccord quavec un seul numro dauteur dans la table albums nous ne pouvions pas avoir plusieurs auteurs pour le mme album. La solution 1 tant proscrire (sauf dans le cas o on tait sr quil y aurait toujours 3 et seulement 3 auteurs), la troisime table est la seule solution. Comment ? et bien, chaque album correspond n enregistrements dans la nouvelle table Auteursalbums , chaque enregistrement renvoyant sur un seul enregistrement de la table auteurs . Votre esprit curieux aura not quon a, pour les besoins de la cration de cette nouvelle table, cre une clef primaire dans la table albums . Pourquoi ? Pour faire correspondre un enregistrement de la table Auteurs-albums avec la table Albums , il faut le faire sur la clef primaire, et comme on navait pas de clef primaire dans Albums , il a bien fallu en crer une. Aucun des champs prsents ne pouvait tre utilis comme clef primaire (la clef primaire, je le rpte, doit identifier de faon UNIQUE un enregistrement) : deux albums peuvent avoir le mme titre (rare mais pas impossible), peuvent tre sortis la mme anne, tre du mme genre, etc, on aurait pu utiliser une clef primaire complexe avec un couple (titre + anne), plutt rare que ce couple se retrouve deux fois, mais pour les raisons vues plus haut, on vitera dutiliser ce type de clef.
Page 9 sur 47
Cours ACCESS
Par exemple, on va avoir dans ces tables : Auteurs N Auteur 1 2 3 4 Albums N Album 1 2 3 4 Titre Album Cocoon Crash The Globe Sessions Tuesday Night Music Club Top NAZ Compil Anne 1998 1998 1993 1920 Genre Good Good Good Debile-Blaireau Support CD CD CD CD Nom Crow KSChoice Sbastien Bezu Prnom Sheryl Patrick
Avec cette mthode, on peut affecter sans aucun problme n auteurs m albums. (ici Sheryl Crow a deux albums, KS Choice un seul, et lalbum Top NAZ Compil a deux auteurs que je ne citerai pas)
Enfin, il existe un troisime type de relation, jamais utilis : la relation de type un un : un enregistrement dune table est en relation avec un seul enregistrement dune autre table et inversement. Ce type de relation ne doit pas se produire car les donnes de la table relie nont aucune raison de se trouver l, comme elles ne correspondent qu un seule enregistrement de la 1re table, elles devraient tre dplaces dans cette table. Encore un peu de thorie avant de samuser avec Accs.
Page 10 sur 47
Cours ACCESS
2.6 Amliorations
On peut encore amliorer le schma de nos tables. En effet, pour la mme raison qui nous avait fait sparer en deux tables Albums et Auteurs notre table de dpart pour viter avoir a ressais ir les informations concernant un mme auteur pour chacun de ses albums, il est ici possible deffectuer nouveau une division de la table Albums . En effet, pour chaque album, on va indiquer le genre (rock, pop, reggae, rap etc) et le support (CD, vinyl, K7, DAT, minidisc, etc), ces informations vont tre redondantes et pourraient tre optimises de la faon suivante : 1) On cre une table genre et une table support Genre N Genre Nom Genre Support N Support Nom support 2) On modifie la table albums Albums N Auteur N Auteur 2 N Auteur 3 Titre Album Anne N Genre N Support Maintenant, au lieu dindiquer exp licitement pour chaque album son support et son genre, on indiquera un n de genre et un n de support. Lintrt est triple : gain de place en mmoire (stocker un numro prend moins de place que stocker une chane de caractres), gain de vitesse (entrer un numro est plus rapide que taper le mot complet), optimisation de la structure (on pourra changer le nom dun support, ce changement affectera instantanment lensemble des albums).
Page 11 sur 47
Cours ACCESS
Table Albums 1 Cocoon Crash 1998 Good CD 2 The Globe Sessions 1998 Good CD 3 Tuesday Night 1993 Good Support 3 Enregistrement 1
Enregistrement 2
Enregistrement 3
Lorsquon cherchera un enregistrement de la table albums partir du titre de lalbum, Access parcourra lindex et affichera lenregistrement correspondant lindex quil aura trouv. Un index peut tre compos dun ou de plusieurs champs, on aurait pu indexer la table albums sur un index titre + anne par exemple (si a peut servir quelque chose), de mme, on peut utiliser plusieurs index pour une table, par exemple, on aurait pu indexer la table album sur les champs Titre, Genre et Support. Pourquoi alors ne pas tout indexer ? Lide peut sembler bonne, cela acclrerait les recherches et les tris mais ralentirait toutes les mises jour de la table, en effet, chaque fois quun champ index est modifi dans la table, il faut le modifier galement dans lindex, ce qui peut coter trs cher en temps. On utilisera donc les index avec parcimonie et uniquement si ils savrent utiles.
Page 12 sur 47
Cours ACCESS
3. Application
Maintenant que vous avez tout compris au film, nous allons nous pencher sur un autre cas de figure. Supposons quon veuille grer un magasin avec Access. Crez donc les tables et les relations pour notre magasin, au cas o certains ignoreraient le fonctionnement dun magasin, voici comment a marche : ?? Un client commande des produits ?? Un fournisseur livre des produits ?? Le stock contient des produits Et voil une solution qui semble honnte : (Les clefs primaires sont en gras, les indexes sont souligns) Le choix des index est totalement subjectif, il sera surtout fait en fonction des besoins ultrieurs. Ce nest pas grave si on na pas choisi les bons index, il est toujours possible de les modifier ultrieurement. Une table clients Clients N Client Titre Nom Prnom Adresse Code Postal Ville Observations Une table produits Produits Code produit Dsignation Prix unitaire Taux TVA Stock Une table Commandes qui va indiquer ce qua command le client Commandes N Commande N Client Date de la commande Commande rgle On est daccord, une commande peut avoir plusieurs lignes (plus dun produit command par commande, ca vaut mieux), pour cela, on va avoir une table lignes de commande qui va relier la commande aux produits. Pourquoi navoir pas mis a directement dans la table commande ? on retombe sur notre problme de tout lheure : parce quon ne sait pas par avance le nombre de lignes quon peut avoir dans une commande. O peut voir quun produit peut se retrouver dans n commandes, et que une commande peut faire rfrence m articles, on a donc entre les tables commandes et articles , une relation n m (plusieurs plusieurs) quAccs ne peut grer (ni dailleurs aucun autre SGBD), il faut donc transformer cette relation en deux autres relations 1-n et n-1 en utilisant une table supplmentaire, do lapparition de cette table.
Page 13 sur 47
Cours ACCESS
Lignes commande N Commande Code produit Quantit Pour les fournisseurs, on a quelque chose de trs ressemblant Une table fournisseurs Fournisseurs N Fournisseur Titre Nom Prnom Rue Code Postal Ville Tlphone Fax Observations Mme problme que prcdemment, un fournisseur peut livrer plusieurs produits et le mme produit peut tre livr par plusieurs fournisseur, donc relation n-m, donc cration dune table intermdiaire Fournisseurs-produits N Fournisseur Code Produit
Et voil le travail dartiste, les relations entre tout ce beau monde donnent ceci Clients N Client Titre Nom Prnom Adresse Code Postal Ville Observations Commandes N Commande N Client Date de la commande Commande rgle Lignes-commande N Commande Code produit Quantit
Fournisseurs N Fournisseur Titre Nom Prnom Rue Code Postal Ville Tlphone Fax Observations
Page 14 sur 47
Cours ACCESS
On aurait pu dire quun produit pouvait tre livr par un seul fournisseur, dans ce cas, la table intermdiaire Fournisseurs-Produits aurait t inutile, pour savoir quel tait le fournisseur dun produit, il suffisait dajouter un champ n fournisseur dans la table produit. Il aurait contenu, pour chaque produit, le n de fournisseur le livrant. Dernier exemple pour la route On veut modliser le problme dune partie de la gestion de la scolarit dun tablissement. On connat les rgles suivantes : ?? ?? ?? ?? ?? Les enseignements sont dispenss sous forme de cours Un tudiant peut sinscrire plusieurs cours Un enseignant est rattach un ou plusieurs tablissements et peut enseigner plusieurs cours Un cours peut tre enseign par plusieurs enseignants Certains enseignants peuvent tre responsables des autres
A vous de jouer... Donnez les diffrentes tables qui vont tre utilises et les relations entre elles (on sintresse pas spcialement au contenu exact des tables) Les tables qui vont tre utilises sont : Cours N cours Nom ... tudiants N tudiant Nom Prnom ... Inscriptions N tudiant N cours Note semestre ... Enseignants N enseignant Responsable Nom Prnom ... Enseignants - cours N enseignant N cours tablissements N tablissement Nom Adresse ... Rattachements N enseignant N tablissement
Page 15 sur 47
Cours ACCESS
Page 16 sur 47
Cours ACCESS
Cliquer sur " Nouvelle base de donnes " et entrer magasin.mdb comme nom de la base.
Page 17 sur 47
Cours ACCESS
La fentre Base de Donnes saffiche, elle contient tous les objets qui peuvent composer une base Access :
Les Tables :
Chaque table de la base va contenir les donnes se rapportant un sujet particulier, la table clients va contenir les informations sur les clients. C est lobjet fondamental de la base de donnes, toute requte, formulaire ou tat va tre bas sur une ou plusieurs tables. Les requtes vont tre utilises pour obtenir des donnes contenues dans une ou plusieurs tables partir dune question. Par exemple, une requte va pouvoir nous afficher la liste des clients habitant Paris. Le formulaire est utilis pour faciliter la saisie et la modification des donnes dune table, par exemple, le formulaire "client" va permettre dentrer de faon conviviale les informations concernant un client. On peut les saisir sans formulaire, ce que nous verrons, mais cette mthode est moins conviviale. Les tats permettent dimprimer des donnes contenues dans des tables selon une prsentation dfinie en y intgrant ventuellement des calculs. Les macro commandes permettent dautomatiser une suite doprations rptitives. Les modules sont des programmes crits en Visual Basic for Application (VBA) pour raliser des oprations qui seraient trop complexes en utilisant les seules fonctionnalits dAccess.
Les Requtes :
Les Formulaires :
Les tats :
Page 18 sur 47
Cours ACCESS
Access propose 5 mthodes pour crer une table : ?? Mode feuilles de donnes : ce mode permet de saisir directement des informations dans la table sans se proccuper du nom ou du format des champs, la dfinition du nom et du format sera faite plus tard. ?? Mode cration : On utilisera cette mthode le plus souvent, elle permet de crer les noms et la structure de chaque champ de la table. ?? Assistant Table : Access propose diffrent modles de tables prdfinis (carnet dadresses, factures, etc...) et cre la table, vous devrez la personnaliser ensuite pour quelle rponde vos besoins. ?? Importer la table : Si les donnes de votre table sont dj contenues dans une autre table, dans un fichier ou dans une autre base de donnes, vous pouvez utiliser cette mthode pour importer vos donnes dans une nouvelle table. ?? Attacher une table : Cette option sert attacher une table avec une autre table contenue dans une autre base de donnes, nous ne lutiliserons pas. Nous utiliserons ici le mode cration : La cration de la table seffectue en remplissant les trois colonnes Nom du champ , Type de donnes et Description Chaque ligne de ce tableau contient les informations de chaque champ : ?? Le nom de chaque champ de la table (de 1 64 caractres) ?? Le type de donnes (voir plus bas) choisir parmi 9 types proposs par Access ?? La description du champ (255 caractres maximum)
Page 19 sur 47
Cours ACCESS
Chaque champ peut contenir des donnes de diffrents types : le nom du client va contenir des caractres alphabtiques, le code postal va contenir des chiffres, la date de livraison une date, un champ prix va contenir des valeurs montaires. Il faut choisir, pour chaque champ de la table, le type de donnes le plus appropri, en effet, rien ninterdit de choisir comme type de donnes pour un champ contenant une date ou un code postal un type texte ou pour champ contenant un prix un type numrique , mais autant utiliser les types les plus appropris !
Les diffrents types sont : ??Texte : Pour un champ destin contenir des caractres alphanumriques (lettres et/ou chiffres), attention, le champ de type texte ne peut contenir plus de 255 caractres, on lutilise pour un nom, une adresse, etc Mme utilisation que le type texte, mais le champ de type mmo peut contenir jusque 65535 caractres (64 Ko). Utilis pour une description longue par exemp le. Le champ ne pourra contenir que des nombres avec ou sans dcimales. (un code postal, un n didentification par exemple) Le champ ne pourra contenir que des dates ou des heures (Access vrifie la validit des dates ou des heures saisies) Valeurs prsentes sous format montaire (exemple : 1 23,45F)
Page 20 sur 47
Cours ACCESS
??NumroAuto
Valeur numrique incrmente automatiquement lors de la saisie de chaque enregistrement. Si vous choisissez ce type de champ, vous ne pourrez rien saisir dedans, cest Access qui y placera un nombre automatiquement chaque fois que vous crerez un nouvel enregistrement. On lutilisera lorsquon veut tre sur que le contenu de ce champ ne se retrouvera pas dans un autre enregistrement de la table, par exemple pour le numro de client : chaque nouveau client aura un numro unique automatiquement affect par Access, c'est un champ de ce type qui sera le plus souvent utilis pour tre une clef primaire. Seules deux donnes sont autorises dans ce champ : Oui et Non (on utilisera ce type de donnes par exemple avec un champ rgl qui indiquera si une facture a t rgle ou non) OLE (Object Linked and Embbeded) est une technologie utilise par Windows, elle permet dinsrer dans une application des objets provenant dautres applications, on utilisera un champ de ce type pour insrer dans la table une image, un son, un fichier Word, etc... Un champ de ce type contiendra une adresse Internet sur laquelle on pourra cliquer directement.
??Oui/Non :
??Objet OLE :
??Lien Hypertexte
La liste de choix nest pas vraiment un type de donnes, nous ltudierons plus tard. Une fois la table Clients correctement renseigne, on devrait avoir quelque chose qui ressemble a :
Page 21 sur 47
Cours ACCESS
Valeur par dfaut Texte qui sera contenu par dfaut dans ce champ Valide si
Expression pour valider la saisie, exemple : <> machin , interdira la saisie du mot machin dans ce champ
Message si erreur Message derreur qui va tre affich si lexpression saisie nest pas valide, dans
notre exemple, on pourrait mettre ici saisie de machin interdite Si oui, il faudra obligatoirement saisir une valeur dans ce champ
La chane vide est "", on peut l'utiliser lorsqu'on n'a rien entrer dans un champ obligatoire, si cette proprit est non, il faudra obligatoirement saisir du texte dans ce champ Le champ est un index avec ou sans doublons, si l'index n'a pas de doublons, il ne sera pas possib le de saisir deux fois le mme contenu pour ce champ dans la table Va dfinir comment le contenu du champ va tre affich (voir plus loin)
Format
Masque de saisie Oblige saisir le contenu du champ selon un format prcis (par exemple un
Page 22 sur 47
Cours ACCESS
Tous les autres types de donnes ont des proprits similaires, certains ont des proprits supplmentaires : Proprits des champs de type numrique
Taille du champ
Dfinit la valeur maximale qui va pouvoir tre contenue dans ce champ. Il faudra faire attention et bien penser l'avance quelle sera la valeur maximale permise dans ce champ pour pouvoir ajuster au mieux cette proprit : Octet : Entier : Long : Rel Simple : Rel Double : de 0 255 de 32767 +32768 de 2147483648 +2147483649 de 3.48E 38 +3.40E 38 de 1.79E 308 + 4.96E 324
Plus on descend, plus le champ occupera de la place en mmoire et sur le disque dur (le Rel Double prend 8 fois plus de place que l'octet), pensez-y si la table contient des milliers de lignes...
Dcimales
NumroAuto : avec Incrment, la valeur sera gale la valeur cre dans le prcdent enregistrement+1, avec Alatoire, Accs remplira ce champ avec une valeur tire au hasard (mais qui ne se retrouvera pas dans un autre enregistrement).
Page 23 sur 47
Cours ACCESS
Il y a des formats d'affichages plus spcifiques certains types de donnes : Pour les champs texte et mmo Formats d'affichage spcifiques aux champs Texte et Mmo @ < > Va afficher un espace si on a rien saisi Va afficher le texte en minuscules Va afficher le texte en majuscules
Pour les champs Numriques et Montaires Formats d'affichage spcifiques aux champs Numriques et Montaires Nombre gnral Montaire Fixe Standard Pourcentage Scientifique Affiche le nombre tel qu'il a t saisi Nombre avec sparateur de milliers + 2 chiffres aprs la virgule + symbole montaire Affiche au moins un chiffre + 2 chiffres aprs la virgule Nombre avec sparateur de milliers + 2 chiffres aprs la virgule Multiplie le nombre par 100 et ajoute le symbole % Nombre au format dcimal avec exposant
Page 24 sur 47
Cours ACCESS
On peut dfinir son propre format d'affichage pour les champs numriques ou montaires si le format que l'on dsire ne fait pas partie des formats proposs ci-dessus. Pour cela, on utilise un format d'affichage spcial, ce format est dfini par une chane de caractres qui a le format suivant (vous tapez cette chane de caractres dans le champ 'format' de la proprit du champ) : ; >0 <0 ; =0 ; NULL
La premire partie (avant le premier symbole ";") va dfinir comment va tre l'affichage si le contenu du champ est suprieur 0, la deuxime partie, si le contenu du champ est infrieur 0, la troisime partie si le contenu du champ = 0 et la dernire partie si le contenu du champ est vide. Chaque partie est une combinaison des symboles suivants : Symbole , . 0 # % EE+ Par exemple : $#,##0.00[vert];($#,##0.00)[rouge];"Zro";"Vide" Que va-t-il se passer avec ce format d'affichage ? ?? Si le nombre est suprieur 0, il sera affich en vert avec au moins un chiffre avant la virgule et deux aprs la virgule. ?? Si il est infrieur zro, il sera affich en rouge, entre parenthses avec au moins un chiffre avant la virgule et deux aprs la virgule. ?? Si il est gal zro, il sera affich "Zro". ?? Si le champ est vide, il sera affich "Vide". Notez que les symboles # et 0 symbolisent chaque chiffre du nombre qui doit tre affich. Signification Sparateur de milliers Sparateur dcimal Un chiffre ou zro Un chiffre ou rien Pourcentage (* 100) + symbole % Affichage scientifique, exposant positif non sign Affichage scientifique, exposant positif sign
Page 25 sur 47
Cours ACCESS
Pour les champs de type Date / Heure Formats d'affichage spcifiques aux champs Date / Heure Date, gnral Date, Complet Date, Rduit Date, Abrg Heure, Complet Heure, Rduit Heure, Abrg Par dfaut, affiche la date sous le format JJ/MM/AA HH:MM:SS (si il n'y a pas d'heure, affiche seulement la date) Affiche la date complte comme prvue dans le panneau de configuration de Windows Par exemple : lundi 1 janvier 1999 Affiche : 1-jan-99 Affiche la date abrge comme prvue dans le panneau de configuration de Windows Par exemple : 1/1/99 Affiche l'heure comme prvue dans le panneau de configuration de Windows Par exemple : 17:34:22 Exemple : 5:34 PM
Exemple : 17:34
Comme pour les champs de type numriques ou date, on peut dfinir son propre format d'affichage en utilisant une combinaison des symboles suivants :
Signification Sparateur d'heure Sparateur de date Identique au format "Date, Gnral" Jour du mois (1 31) Jour du mois sur deux chiffres (01 31) Trois premires lettres du jour (dim sam) Nom entier du jour de la semaine (dimanche samedi) Identique au format "Date, Abrg" Identique au format "Date, Complet" Jour de la semaine (1 7) Semaine de l'anne (1 53) Mois de l'anne (1 12)
Page 26 sur 47
Cours ACCESS
Mois de l'anne sur 2 chiffres (01 12) Trois premires lettres du mois (jan dc) Nom entier du mois (janvier dcembre) Trimestre (1 4) Jour de l'anne (1 366) Deniers chiffres de l'anne (00 99) Anne complte (0100 9999) Heure (0 23) Heure sur 2 chiffres (00 23) Minutes (0 59) Minutes sur 2 chiffres (00 59) Secondes (1 59) Secondes sur 2 chiffres (00 59) Identique au format "Heure, Complet" Heure sur 12 heures + AM ou PM Heure sur 12 heures + am ou pm Heure sur 12 heures + A ou P Heure sur 12 heures + a ou p Heure sur 12 heures + indicateur matin/aprs-midi dfini dans le panneau de configuration
Page 27 sur 47
Cours ACCESS
Format daffichage des dates / heures dans Windows Pour dfinir le format d'affichage par dfaut dans Windows, allez dans le panneau de configuration et double cliquez sur l'icne " paramtres rgionaux" (une plante habituellement) :
Il y a deux onglets : Date et Heure qui dfinissent comment vont s'afficher la date et l'heure dans tous les logiciels Windows.
Page 28 sur 47
Cours ACCESS
Pour les champs de type OUI/NON Access propose pour ce type de champ, trois types d'affichage par dfaut : la place de OUI ou NON, on peut afficher "Vrai" ou "Faux" ou alors "Actif" ou "Inactif", si on veut afficher un autre message, il faut dans le champ format de la proprit du champ taper la commande suivante : ;"texte 1";"texte 2" "texte 1" sera affich la place de Oui et "texte 2" la place de Non. On peut, bien sur, utiliser des codes d'affichages supplmentaires, par exemple : ;"OK"[vert];"NON"[Rouge] affichera OK en vert la place de Oui et NON en rouge la place de Non. N'oubliez pas que la ligne commence par le symbole ";"
Par exemple, si on veut saisir 5 chiffres obligatoirement pour un code postal, on utilisera : 00000, si on veut saisir une suite de 3 chiffres et de 3 lettres : 000LLL, si on veut saisir un numro de tlphone : 00-00-00-00-00, ou un nom de famille dont la premire lettre est toujours en majuscules : >L<????????????? (prvoir autant de ? que le nom peut comporter de lettres)
Page 29 sur 47
Cours ACCESS
Elle doit ressembler a. Nous allons maintenant retourner dans la table client et modifier le type de donnes du champ "Titre", Le champ "Titre" va contenir le titre du client : Monsieur, Madame, Mademoiselle. Au lieu de saisir chaque fois le mot en entier, nous allons crer une liste de choix qui proposera ces trois titres, il suffira de cliquer sur l'un d'entre eux pour remplir automatiquement le champ.
Page 30 sur 47
Cours ACCESS
Aprs avoir choisi le type " Liste de Choix" pour le champ "Titre", la fentre suivante s'affiche
Il y a deux faons de crer une liste de choix : soit a partir du contenu d'une autre table (ce que nous verrons aprs), soit partir d'une liste que l'on va taper soi-mme une fois pour toutes, c'est ce que nous allons choisir. (Cliquez ensuite sur Suivant)
On va taper dans la colonne Col1 la liste des titres possibles et cliquer sur Suivant une fois termin.
Page 31 sur 47
Cours ACCESS
On nomme ici la liste de choix (peu importe le nom choisi) et on clique sur "Terminer" Maintenant, pour voir le rsultat, nous allons saisir des donnes dans la table "Clients", dans la fentre o se trouve la liste des tables, on clique sur " Ouvrir", on arrive alors sur un tableau qui ressemble a :
Il y a une ligne par enregistrement, et une colonne par champ, on se positionne sur le champ dsir en cliquant dessus et on saisi directement les donnes.
Et que se passe-t-il lorsqu'on clique sur "Titre" ? La liste de choix apparat, on peut choisir ici un des titres proposs en cliquant dessus d irectement.
Page 32 sur 47
Cours ACCESS
On peut voir que "Monsieur" a t entr directement dans le champ "Titre". On va ainsi crer plusieurs clients :
Une fois ces clients saisis, nous allons aller modifier le type de donnes du champ "N Client" de la table commande pour y mettre une liste de choix. Pourquoi ? Une commande contient le numro du client qui l'a pass, lorsque l'on saisi une commande et qu'on a que le nom du client, il faut se souvenir de son numro pour le taper, la liste de choix va ici proposer la liste de tous les clients se trouvant dans la table "Clients", il suffira de cliquer sur le nom de l'un d'entre eux pour que son numro soit automatiquement entr dans le champ "N Client" de la table "Commande".
Page 33 sur 47
Cours ACCESS
On change le type de donnes du champ "N Client" dans la table "Commande" et on choisit " Liste de Choix". Cette fois -ci, nous n'allons pas saisir tous les lments de la liste, a naurait pas de sens, il faudrait remodifier cette liste chaque fois quon ajoute un nouveau client. Nous allons dire Access de construire sa liste de choix en allant chercher les lments de cette liste dans une autre table, pour a on clique juste sur " Suivant". Access nous affiche les autres tables de la base :
Page 34 sur 47
Cours ACCESS
Access nous demande ici quels vont tre les champs de cette table qui vont tre affichs dans la liste, nous n'avons besoin que du numro du client, de son nom et de sa ville (au cas o il y aurait deux clients homonymes). On slectionne gauche les champs que l'on dsire voir apparatre dans la liste, et on clique sur " >" pour les ajouter, sur " <" pour les retirer, " >>" et " <<" ajoutent et retirent tous les champs.
Access affiche un exemple du contenu de la liste. Vous pouvez ici dimensionner la taille des colonnes.
Page 35 sur 47
Cours ACCESS
Nous avons choisi d'afficher trois champs de la table "Clients" dans notre liste de choix, Access nous demande lequel de ces trois champ va servir initialiser le champ "N Client" de la table "Commande", il est clair que nous voulons que le champ "N Client" de la table "Commande" soit initialis avec le n de client du client que nous aurons slectionn dans la liste, on choisit donc "n Client" et on clique sur Suivant, on nomme ensuite la liste, et on peut commencer saisir des commandes :
Que se passe-t-il lorsqu'on se positionne sur le n de client ? Access va lire toute la table "Clients", et crer une liste de choix partir de cette table. Cette liste contient les champs que nous lui avons indiqu. Il suffit de slectionner un client dans la liste, et comme nous lui avons dit d'initialiser le champ N Client de la table "Commande" avec la premire colonne de la liste de choix, son numro sera automatiquement copi.
Page 36 sur 47
Cours ACCESS
Page 37 sur 47
Cours ACCESS
Pour se dplacer parmi les enregistrements de la table, on utilise les icnes flchs en bas gauche de la fentre de saisie:
et on appuie sur la touche " Suppr ", Access vous demande alors une confirmation.
Page 38 sur 47
Cours ACCESS
Deux petits trucs avant d'en finir avec la saisie de donnes dans les tables : On peut cacher une colonne, pour a, on va dans le menu "Format", et on clique sur l'option "Afficher les colonnes..."
La liste des champs (colonnes) de la table s'affiche, vous slectionnez celles que vous voulez voir apparatre, celles que vous n'avez pas slectionn disparatront de l'affichage quand vous cliquerez sur "Fermer". Attention, ca les fait juste disparatre de l'affichage pour la saisie, en aucun cas, le champ en question va tre supprim de la structure de la table.
Page 39 sur 47
Cours ACCESS
Autre truc interessant, on peut "figer" une colonne, quoi a sert ? Si pendant la saisie nous voulons avoir en permanence le numro client , nous allons slectionner la colonne en question en cliquant sur son titre :
Une fois la colonne slectionne, on va dans le menu " Format" et on clique sur " Figer les colonnes ". Que se passe-t-il maintenant ? Quand on va dplacer l'ascenseur en bas pour modifier un des champs de l'enregistrement, la colonne "N Client" sera toujours visible :
Page 40 sur 47
Cours ACCESS
La colonne "N Client" a boug quand on a dplac l'ascenseur, lorsqu'elle tait fige, elle tait bloque. Pour autoriser le dplacement de toutes les colonnes et annuler l'option "Figer les colonnes ", dans le menu " Format", cliquez sur l'option " Librer les colonnes ".
Page 41 sur 47
Cours ACCESS
Celui de gauche permet le tri alphabtique croissant et celui de droite le tri alphabtique dcroissant. Exemple :
Ceci est l'tat de notre table aprs l'avoir tri de faon croissante sur le champ "Nom"
Page 42 sur 47
Cours ACCESS
Ne s'affichent prsent que les client habitant Paris. On peut aussi limiter le filtre une partie d'un mot, par exemple, on aurait pu slectionner seulement la lettre "P" du mot "Paris", ne se seraient alors affichs que les clients dont le nom de la ville commence par "P".
Page 43 sur 47
Cours ACCESS
Un enregistrement vide s'affiche. Supposons que l'on veuille afficher les clients qui s'appellent "Machin" ou qui habitent Saint-Quentin.
On va cliquer sur "Machin", si on voulait afficher les clients qui s'appellent "Machin" et dont le prnom est "Robert", on cliquerait sur "Robert" dans la colonne "Prnom". Vous avez remarqu que, en bas, se trouvent deux onglets :
En cliquant sur l'onglet "Ou", vous obtenez un nouvel enregistrement vide dans lequel on va pouvoir saisir les critres de notre deuxime condition, le but tant d'avoir les clients qui s'appellent "Machin" OU qui habitent Saint-Quentin, dans le deuxime onglet, on va slectionner "Saint-Quentin" dans le champ ville :
Au passage, notez qu'un troisime onglet est apparu au cas o on voudrait une troisime condition.
Page 44 sur 47
Cours ACCESS
Et on obtient :
Soit la liste des clients dont le nom est soit "Machin" soit la ville est "Saint-Quentin". Vous noterez au passage qu'on peut sauver son filtre multi critre sur disque en cliquant sur l'icne disquette dans la fentre de filtre.
Rechercher
on indique la valeur chercher Indique dans quel sens va se faire la recherche : ?? Tout : dans toute la table ?? Bas : partir de l'enregistrement courant jusque la fin de la table ?? Haut : partir du dbut de la table jusque l'enregistrement courant. Sur quoi va se faire la recherche ?? Champ entier : La valeur cherche doit tre le contenu exact du champ ?? Dbut de champ : La valeur cherche est le dbut du champ ?? N'importe o : La valeur cherche peut se trouver n'importe o dans le champ Doit-on diffrencier les majuscules des minuscules ? Activez cette option si vous souhaitez qu'Access retrouve les donnes telles qu'elles sont
Sens
Respecter la casse
Rechercher les affiches dans la table (en utilisant la proprit "Format" du champ) ou telles qu'elles sont champs comme stockes (c'est--dire telles qu'elles ont t saisies). Formats : Par exemple : pour le code postal, on a dfini un format d'affichage : 00000 pour que si le
code postal commence par 0 (comme 02100), il soit affich correctement et pas sous la forme 2100. Si on active l'option "Rechercher champs comme formats", on pourra rechercher le code postal 02100, sinon, il faudra chercher le code postal 2100. Champ en cours Indique si la recherche doit s'effectuer uniquement dans le champ en cours ou dans tous les champs de la table
Page 45 sur 47
Cours ACCESS
Access se positionne sur le premier enregistrement dont le contenu du champ "Nom" est "Delune" Pour trouver le suivant, on clique sur "Suivant"
Page 46 sur 47
Cours ACCESS
On peut faire des recherches approximatives, pour cela on utilise des caractres gnriques : Caractre * ? # [] ! Exemple : La chane *rue ??rue ##rue DUPON[TD] DUPON![TD] Permet de retrouver 112 rue Boulevard Machin 5 rue 8 rue 10 rue DUPONT DUPOND DUPONS Mais ne retrouve pas Signification Remplace une chane de valeur quelconque Remplace un seul caractre Remplace un chiffre unique Recherche des caractres parmi plusieurs Exclu certains caractres de la recherche
Page 47 sur 47