Vous êtes sur la page 1sur 47

Cours ACCESS

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

Cours Microsoft ACCESS 1. Les systmes de Gestion de Bases de Donnes


1.1 La base de donnes
Une base de donnes est un ensemble structur de donnes enregistres sur des supports accessibles par lordinateur pour satisfaire simultanment plusieurs utilisateurs de faon slective et en un temps opportun. Elle doit avoir un certain nombre de caractristiques : ?? Donnes structures : les informations contenues dans une base de donnes sont rparties en enregistrements , chaque enregistrement ayant une structure bien dfinie ?? Donnes non redondantes : Une mme information ne sera pas rpte plusieurs fois dans la base de donnes. ?? Donnes cohrentes : Il ne doit pas tre permis denregistrer dans une base des informations incohrentes entre elles ?? Donnes accessibles directement selon de multiples critres ?? Indpendance des programmes et des donnes : La base de donnes doit tre indpendante des programmes qui y ont accs, on doit pouvoir utiliser un autre programme pour traiter diffremment ces donnes sans avoir toucher ces donnes ?? Scurit des donnes stockes : la base de donnes doit permettre un systme de scurit permettant de grer les droits daccs aux informations par les utilisateurs.

1.2 Le Systme de Gestion de Bases de Donnes


Un Systme de Gestion de Bases de Donnes (S.G.B.D.) reprsente un ensemble coordonn de logiciels qui permet de dcrire, manipuler, traiter les ensembles de donnes formant la base. Il doit galement assurer la scurit et la confidentialit des donnes dans un environnement o de nombreux utilisateurs ayant des besoins varis peuvent interagir simultanment sur ces donnes. Il doit pouvoir tre utilis par des non-informaticiens. Il doit assurer la dfinition des structures de stockage et des structures de donnes et le suivi de leur volutions ; cest ce quon appelle ladministration des donnes. Il doit pouvoir au maximum vrifier la cohrence des donnes. Le SGBD sert donc dinterface entre les programmes dapplication des utilisateurs dune part, et la base de donnes dautre part. Microsoft Access est un SGBD dont nous allons tudier le fonctionnement.

Page 2 sur 47

Cours ACCESS

2. Lorganisation des donnes dans la base de donnes


2.1 Prsentation de lexemple
Avant de pouvoir exploiter les donnes contenues dans la base, il va falloir les modliser, par modliser, je veux dire trouver le meilleur moyen de reprsenter le monde rel en structurant la base de donnes de manire pouvoir l exploiter la plus simplement par la suite.

2.2 Lorganisation des donnes dans un SG BD


Dans Access, comme dans les autres SGBD, les informations doivent tre segmentes en donnes qui sont stockes dans des tables. Une table est donc un ensemble de donnes, organises en lignes et en colonnes. On peut stocker dans une table nimporte quel type dinformation (texte, chiffres, graphisme, son, etc...) Chaque table est divise en enregistrements, les enregistrements tant lensemble des donnes relatives la mme information. Prenons lexemple dun carnet dadresses. Pour ce carnet dadresses, nous allons utiliser une table contacts qui contiendra toutes les informations concernant chaque contact, chaque enregistrement contiendra les informations relatives un (et un seul) contact (nom, adresse, tlphone, date de naissance, etc.). Comme on vient de le voir, chaque enregistrement contient un ensemble dinformations (nom, adresse, tlphone) qui ont elles-mme diviser lenregistrement en plusieurs parties, chaque partie sappelle un champ. Le champ contient une partie des informations de chaque enregistrement.

Base de donnes

Table 1

Table 2

Table 3

Enregistrement 1

Enregistrement 2

Champ 1

Champ 2

Champ 3

Organisation de la base de donnes

Page 3 sur 47

Cours ACCESS

Si on reprend notre exemple de carnet dadresse, nous allons avoir une table qui peut ressembler a :
Champ

Nom Deuf John Covert Harry Dalors Homre

Adresse Rue Barbe 75001 Paris Rue Minant 59000 Lille Rue Tilant 75003 Paris

Tlphone 01.02.03.04.05 02.03.04.05.06 03.04.05.06.07

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 )

2.3 Diviser pour mieux rgner


Il faut toujours segmenter linformation en lments les plus petits possibles. On aurait trs bien pu crer une table contact avec un seul champ par enregistrement qui contiendrait toutes les informations en mme temps. Mais une des rgles dor dans la cration de la structure dune base de donnes est de diviser le plus possible linformation pour pouvoir la traiter par la suite le plus simplement et le plus efficacement possible. Le SGBD, pour retrouver les donnes quon lui demande, travaille avec le contenu des champs, il lui sera donc difficile, dans la table Contacts telle quelle est de retrouver les contacts habitant Lille, la ville se trouvant mlange au reste de ladresse, de mme, on ne pourra pas rcuprer le nom seul de chaque contact, celui-ci se trouvant dans le mme champ que le prnom. Comme on ne peut pas toujours prvoir, lors de la cration de la structure de la table, de lusage qui en sera fait plus tard, il faut diviser le plus possible les donnes, sachant quil sera toujours compliqu (et risqu) de modifier la structure de la table par la suite lorsquelle sera remplie. Une meilleure organisation de la table serait la suivante : Nom Deuf Covert Dalors Prnom John Harry Homre Rue Rue Barbe Rue Minant Rue Tilant Code Postal 75001 59000 75003 Ville Paris Lille Paris Tlphone 01.02.03.04.05 02.03.04.05.06 03.04.05.06.07

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

2.4 Utiliser plusieurs tables


Prenons lexemple de la gestion dune collection de disque. On pourrait tre tent de crer une seule table contenant les informations suivantes : Collection Nom Auteur Prnom Auteur Titre Album Anne Genre Support Et nous naurions pas spcialement tort, toutes les informations relatives un album sy trouvent. Pourquoi faire plus compliqu ? Nanmoins, nous allons voir quil est plus judicieux de crer ici deux tables : Auteurs Nom Auteur Prnom Auteur Date de naissance Adresse et Albums Titre Album Anne Genre Support

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.

2.5 Il existe trois types de relations entre les tables :


La relation de type un plusieurs (1 n) Un enregistrement dune table est en relation avec plusieurs enregistrements dune autre table. Auteurs Enregistrement 1 Enregistrement 2 Albums Enregistrement 1 Enregistrement 2 Enregistrement 3

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

La relation plusieurs plusieurs ( n m )

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 :

Auteurs N Auteur Nom Prnom

1 n

Auteurs-albums N Auteur N Album n 1

Albums N Album Titre Album Anne Genre Support

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

Auteurs-Albums N Auteur 1 1 2 3 4 N Album 2 3 1 4 4

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

2.7 Les index


Pour optimiser les temps de recherche dans les tables, Access (et dailleurs tous les SGBD) ont besoin dindex. Lindex permet Access de retrouver plus rapidement les enregistrements concerns ; il acclre aussi les oprations de tri. Comment ? Les index fonctionnent avec une table comme la table des matires avec un livre. Lorsquon indexe un champ, Access stocke hors de la table les valeurs de ce champ. Lorsquon effectue une recherche sur ce champ, plutt que de le chercher dans la table, Access va faire sa recherche dans lindex, une fois quil aura trouv, il affichera le contenu de lenregistrement associ cet index. Petit crobard : Supposons que la table Albums soit indexe sur le titre de lalbum Index
Cocoon Crash The Globe Sessions Tuesday Night Top Naz

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

Fournisseurs-produits N Fournisseur Code Produit n 1

Produits Code produit Dsignation Prix unitaire Taux TVA Stock

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

Les relations vont tre :

(fait avec Access !)

Page 16 sur 47

Cours ACCESS

CREATION DUNE BASE DE DONNEES AVEC ACCESS


Nous allons crer la base de donnes Magasin qui va contenir les tables dont nous avons vu la structure plus haut.

3.1 Cration de la base de donnes

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 :

Les Macros : Les Modules :

Page 18 sur 47

Cours ACCESS

3.1 Cration dune table


Cliquer sur Nouveau

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

3.2 Les types de donnes

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)

??Mmo : ??Numrique : ??Date/Heure : ??Montaire :

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

3.3 Les proprits des champs


Comme vous pouvez le constater, chaque champ a des proprits qui dpendent de son type de donnes, ces proprits vont dterminer la faon dont les donnes quil contient vont tre affiches ou comment les donnes vont tre saisies dans ce champ. Ces proprits sont affiches dans longlet Gnral en bas de la fentre. Longlet Gnral affiche chaque proprit du champ et, ct, dans des champs modifiables, la valeur de cette proprit. Ces proprits varient selon le type de donnes (par exemple, un champ numrique aura une proprit dcimales qui indiquent le nombre de chiffres aprs la virgule que ne peut avoir videmment un champ de type texte) Proprits des champs de type Texte et Mmo
Taille du champ

Nombre de caractres maximum qui peuvent tre saisis

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

Null Interdit Chane vide autorise Indexe

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

numro de tlphone), on verra a plus loin

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

Nombres de chiffres aprs la virgule

Proprits des champs de type NumroAuto


Nouvelles valeurs Indique quelle sera la prochaine valeur contenue dans un champ de type

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

3.4 Le format d'affichage


Nous avons vu plus haut qu'on peut modifier la faon dont les donnes contenues dans les champs peuvent tre affiches ou forcer leur saisie selon un format prcis. La faon dont les donnes sont affiches se fait par l'intermdiaire de la proprit "Format d'affichage". Attention, la faon dont les donnes sont affiches dans un champ ne modifie en rien le contenu de ce champ dans la table. Par exemple, si vous forcez afficher un '1' avant le contenu d'un champ, si ce champ contient '234', la valeur affiche sera '1234' mais le contenu du champ dans la table sera toujours '234'. La proprit 'format d'affichage' n'influe que sur la faon dont les donnes d'un champ vont tre affiches. Pour modifier le format d'affichage, on utilise les codes suivants (quand ils marchent...) : Codes du format d'affichage "texte" ! *c [couleur] Affiche le texte "texte" dans le champ Justifie droite le contenu du champ Remplace les espaces par le caractre c Affiche le contenu du champ dans la couleur "couleur"

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 :

Symbole : / c j jj jjj jjjj jjjjj jjjjjj e ee m

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

mm mmm mmmm t A aa aaaa h hh n nn s ss Ttttt AM/PM am/pm A/P a/m AMPM

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 ";"

3.5 Le Masque de saisie


Le masque de saisie permet de faciliter la saisie dans un champ en forant l'utilisateur entrer les donnes selon un format dtermin, les informations stockes dans la table auront le format dfini dans le masque de saisie contrairement au format d'affichage qui affectait seulement la faon dont les donnes contenues dans un champ allaient tre affiches. Le masque de saisie, comme le format d'affichage est constitu d'une combinaison de caractres : Symbole 0 9 # L ? A a & C < > ! Signification Chiffre de 0 9 obligatoire Chiffre ou espace facultatif Chiffre ou espace ou + ou Lettre de A Z obligatoire Lettre de A Z non obligatoire Lettre ou chiffre obligatoire Lettre ou chiffre facultatif Caractre quelconque obligatoire Caractre quelconque facultatif Passe en minuscules Passe en majuscules Saisie partir de la droite

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

3.6 Les Listes de choix


Nous avons vu prcdemment que parmi les types de donnes est propos un type de donnes particulier : la liste de choix, la liste de choix n'est pas proprement parler un type de donnes particulier, c'est un moyen de simplifier la saisie de donnes dans une table en proposant l'utilisateur de cliquer sur un lment propos dans une liste, le champ de la table sera rempli avec l'lment slectionn dans la liste. Pour pouvoir tester cela, nous allons crer la table "Commandes"

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

Voici comment faire :

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 :

On choisit "Clients" (!) et on clique sur Suivant

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

C'est beau non ?

Page 37 sur 47

Cours ACCESS

3.6 La saisie des enregistrements


Jusqu' prsent, nous avons saisi rapidement des enregistrements dans les tables, attardons nous sur la saisie et les recherches / filtres .

Pour se dplacer parmi les enregistrements de la table, on utilise les icnes flchs en bas gauche de la fentre de saisie:

Aller sur l'enregistrement prcdent Aller sur le 1 er enregistrement

Crer un nouvel enregistrement

Aller sur le dernier enregistrement

Aller sur l'enregistrement suivant

Pour supprimer un enregistrement, on clique gauche de la ligne

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

Si la colonne n'tait pas fige, on aurait eu :

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

3.7 Tri parmi les enregistrements


Pour trier la table sur un champ, on se positionne sur le champ en question (peu importe l'enregistrement) et on utilise un des deux icnes de la barre d'outils :

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

3.8 Filtrer des enregistrements


Les filtres permettent de limiter, de faon temporaire, les enregistrements affichs dans la table. On peut filtrer selon deux mthodes : Le filtre sur un seul critre : Par exemple, on ne veut afficher que les clients qui habitent Paris. Pour cela, on se positionne sur l'enregistrement d'un client habitant Paris, et on slectionne le mot "Paris" dans le champ "Ville":

Puis on clique sur l'icne du filtre dans la bote outils :

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".

Pour faire rapparatre tous les enregistrements, on clique sur l'icne

Page 43 sur 47

Cours ACCESS

Filtre sur plusieurs critres On clique sur l'icne :

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.

Une fois entre la deuxime condition, on clique sur :

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.

3.9 Rechercher des enregistrements

Pour faire une recherche, cliquez sur l'icne :

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

Par exemple, pour rechercher le client "Delune" :

On clique sur "Rechercher"

Access se positionne sur le premier enregistrement dont le contenu du champ "Nom" est "Delune" Pour trouver le suivant, on clique sur "Suivant"

En l'occurence ici, il n'y en a pas d'autres, Access renvoie ce message.

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

112 rue La rue DUPONS DUPOND DUPONT

Prochain chapitre : les formulaires ...

Page 47 sur 47

Vous aimerez peut-être aussi