Você está na página 1de 563

ACCESS

2010

Copyright

2010 Micro Application


20-22, rue des Petits-Htels
75010 Paris
1re dition - Mai 2010

Auteur

MOSAIQUE Informatique, SARL


Toute reprsentation ou reproduction, intgrale ou partielle, faite sans le
consentement de MICRO APPLICATION est illicite (article L122-4 du code
de la proprit intellectuelle).
Cette reprsentation ou reproduction illicite, par quelque procd que ce
soit, constituerait une contrefaon sanctionne par les articles L335-2 et
suivants du code de la proprit intellectuelle.
Le code de la proprit intellectuelle nautorise aux termes de larticle
L122-5 que les reproductions strictement destines lusage priv et
non destines lutilisation collective dune part, et dautre part, que les
analyses et courtes citations dans un but dexemple et dillustration.

Avertissement
aux utilisateurs

Les informations contenues dans cet ouvrage sont donnes titre indicatif
et nont aucun caractre exhaustif voire certain. A titre dexemple non
limitatif, cet ouvrage peut vous proposer une ou plusieurs adresses de
sites Web qui ne seront plus dactualit ou dont le contenu aura chang
au moment o vous en prendrez connaissance.
Aussi, ces informations ne sauraient engager la responsabilit de lEditeur. La socit MICRO APPLICATION ne pourra tre tenue responsable
de toute omission, erreur ou lacune qui aurait pu se glisser dans ce
produit ainsi que des consquences, quelles quelles soient, qui rsulteraient des informations et indications fournies ainsi que de leur utilisation.
Tous les produits cits dans cet ouvrage sont protgs, et les marques
dposes par leurs titulaires de droits respectifs. Cet ouvrage nest ni
dit, ni produit par le(s) propritaire(s) de(s) programme(s) sur le(s)
quel(s) il porte et les marques ne sont utilises qu seule fin de dsignation des produits en tant que noms de ces derniers.
ISBN : 978-2-300-029264
ISSN : 1950-0289
MICRO APPLICATION
20-22, rue des Petits-Htels
75010 PARIS
Tl. : 01 53 34 20 20
Fax : 01 53 34 20 00
http://www.microapp.com

Support technique :
galement disponible sur
www.microapp.com

Retrouvez des informations sur cet ouvrage !


Rendez-vous sur le site Internet de Micro Application
www.microapp.com. Dans le module de recherche,
sur la page daccueil du site, entrez la rfrence
4 chiffres indique sur le prsent livre.
Vous accdez directement sa fiche produit.

2926

Avant-propos
Destine aussi bien aux dbutants quaux utilisateurs initis, la collection Guide Complet repose sur une mthode essentiellement pratique. Les explications, donnes dans un langage clair et prcis,
sappuient sur de courts exemples. En fin de chaque chapitre, dcouvrez, en fonction du sujet, des exercices, une check-list ou une srie
de FAQ pour rpondre vos questions.
Vous trouverez dans cette collection les principaux thmes de lunivers informatique : matriel, bureautique, programmation, nouvelles technologies...

Conventions typographiques
Afin de faciliter la comprhension des techniques dcrites, nous
avons adopt les conventions typographiques suivantes :
j
j

j
j

gras : menu, commande, bote de dialogue, bouton, onglet.


italique : zone de texte, liste droulante, case cocher, bouton

radio.
Police bton : Instruction, listing, adresse internet, texte saisir.
: indique un retour la ligne volontaire d aux contraintes de la
mise en page.

Il sagit dinformations supplmentaires relatives au sujet trait.

Met laccent sur un point important, souvent dordre technique quil ne


faut ngliger aucun prix.

Propose conseils et trucs pratiques.

Donne en quelques lignes la dfinition dun terme technique ou dune


abrviation.

Chapitre 1
1.1.
1.2.

1.3.
1.4.

1.5.
1.6.
1.7.

1.8.

1.9.

1.10.

Chapitre 2
2.1.

Concepts et manipulations de base

Introduction .............................................................. 11
Base de donnes, dfinition ........................................... 15
Lorganisation des donnes en sujets ................................ 15
Lidentifiant unique ...................................................... 18
Les relations permanentes et lintgrit rfrentielle .............. 20
De nombreux objets hirarchiss ..................................... 21
Analyser le problme ................................................... 26
Crer une base de donnes ............................................ 30
Crer une base de donnes vide ...................................... 31
Crer une base de donnes partir dun modle .................. 35
Fermer une base de donnes .......................................... 37
Ouvrir une base de donnes ........................................... 37
Choisir un mode douverture de la base ............................. 39
Dcouvrir linterface dAccess 2010 .................................. 40
Connatre les composants essentiels de linterface ................ 40
Connatre les actions proposes dans la barre doutils Accs
rapide et dans le Ruban ................................................. 42
Changer lemplacement de la barre doutils Accs rapide ........ 42
Modifier le contenu de la barre doutils Accs rapide .............. 43
Dcouvrir le Volet de navigation ...................................... 44
Masquer ou afficher le Volet de navigation .......................... 45
La Barre dtat ............................................................ 46
Manipuler les objets ..................................................... 47
Utiliser laide dAccess 2010 ........................................... 55
Crer une table ........................................................... 57
Crer une table en mode Cration .................................... 57
Fermer et enregistrer une table ....................................... 64
Autres mthodes pour crer des tables .............................. 65
Crer une table en entrant des donnes ............................. 65
Crer une table en important des donnes .......................... 70
Cas pratiques ............................................................. 74
Analyser rapidement les donnes .................................... 74
Crer la base de donnes initiale ...................................... 76
Crer la table Auteurs en entrant des donnes ..................... 77
Crer les tables Contacts et Livres en mode Cration .............. 79

Manipuler les donnes

85

Le mode Feuille de donnes ........................................... 87


Ouvrir une table .......................................................... 87
Ajouter un enregistrement ............................................. 90
Modifier des donnes ................................................... 92
Raliser des slections .................................................. 93
Se dplacer dans les enregistrements au moyen des boutons
de dplacement .......................................................... 97
Supprimer un enregistrement ......................................... 98
Dfinir la largeur des colonnes et la hauteur des lignes ........... 99
Ajouter un champ la structure dune table ....................... 100

2.2.
2.3.
2.4.

2.5.

Chapitre 3
3.1.

3.2.

3.3.

3.4.

3.5.

3.6.

Construire une structure de table optimale

SOMMAIRE

Dplacer un champ .................................................... 102


Renommer un champ ................................................. 104
Supprimer un champ dans une table ............................... 105
Modifier la mise en forme des caractres .......................... 105
Masquer des colonnes ................................................ 107
Afficher des colonnes masques .................................... 108
Imprimer des donnes dune table .................................. 109
Rechercher des donnes dans une table ........................... 114
Remplacer des donnes dans une table ............................ 118
Trier et filtrer les donnes dune table .............................. 120
Effectuer un tri simple ................................................. 120
Effectuer un tri avanc ................................................. 122
Appliquer des filtres courants ........................................ 126
Filtrer par slection .................................................... 130
Filtrer par formulaire ................................................... 131
Appliquer un filtre avanc ............................................ 137
Cas pratique ............................................................. 139
Saisir des donnes ..................................................... 139
Rechercher et remplacer un type de livre .......................... 143
Trier des livres .......................................................... 146
Filtrer des livres ......................................................... 150

155

Manipuler les champs ................................................. 157


Afficher la structure dune table ...................................... 157
Ajouter un champ ...................................................... 159
Slectionner des champs ............................................. 160
Dplacer un champ .................................................... 162
Supprimer un champ .................................................. 162
Exploiter les proprits des champs ................................ 164
La proprit Taille du champ ......................................... 165
La proprit Nouvelles valeurs ...................................... 167
La proprit Format .................................................... 168
La proprit Dcimales ................................................ 176
La proprit Lgende .................................................. 177
La proprit Valeur par dfaut ........................................ 177
La proprit Null interdit .............................................. 179
Appliquer des masques de saisie .................................... 179
Utiliser lAssistant Masque de saisie ................................ 180
Crer un masque de saisie personnalis ........................... 184
Utiliser les listes de choix ............................................. 186
Faciliter la saisie avec des listes de valeurs constantes .......... 186
Faciliter la saisie avec des listes de valeurs provenant
dune table .............................................................. 190
Appliquer des rgles de validation .................................. 196
Appliquer une rgle de validation sur un champ .................. 197
Appliquer une rgle de validation sur une table .................. 202
Indexer les donnes ................................................... 205
Crer un index sur un champ ......................................... 205

3.7.

Chapitre 4
4.1.
4.2.

4.3.

4.4.

4.5.
4.6.

Chapitre 5
5.1.
5.2.

5.3.

5.4.

Crer un index sur plusieurs champs ............................... 207


Supprimer un index .................................................... 209
Cas pratique ............................................................. 209
Optimiser la table Contacts ........................................... 210
Optimiser la table Livres .............................................. 217

Contrler la cohrence des donnes

229

Comprendre lutilit des relations et de lintgrit rfrentielle . 231


Dfinir une cl primaire dans une table ............................ 233
Dfinir une cl primaire sur un champ .............................. 233
Dfinir une cl primaire sur plusieurs champs .................... 235
Supprimer une cl primaire .......................................... 236
Dfinir les relations entre les tables ................................. 237
Construire des relations un plusieurs ............................. 237
Construire des relations plusieurs plusieurs .................... 244
Construire des relations un un ..................................... 251
Modifier une relation .................................................. 254
Supprimer une relation ............................................... 255
Appliquer des rgles dintgrit rfrentielle ...................... 256
Comprendre lutilit des rgles dintgrit rfrentielle ......... 256
Appliquer lintgrit rfrentielle .................................... 259
Appliquer lintgrit rfrentielle en cascade ..................... 260
Imprimer les relations ................................................. 264
Cas pratique ............................................................. 265
Dfinir des relations un plusieurs ................................. 267
Dfinir des relations plusieurs plusieurs ......................... 274
Dfinir des relations un un .......................................... 281
Quelques oprations annexes ....................................... 285

Extraire des donnes

291

Comprendre le rle des requtes .................................... 293


Les requtes de slection ............................................. 294
Quelques rudiments de SQL ......................................... 295
Travailler en mode Cration .......................................... 308
Crer une requte trie ................................................ 315
Crer une requte sur plusieurs tables ............................. 316
Crer une requte utilisant des critres ............................. 319
Crer une requte utilisant des oprations ........................ 326
Dfinir des formats dans une requte .............................. 329
Utiliser les jointures dune requte .................................. 330
Utiliser lAssistant Requte ........................................... 333
Crer une requte simple avec lAssistant ......................... 333
Crer une requte sur les doublons ................................. 337
Crer une requte sur la non-correspondance entre des tables . 340
Crer des requtes action ............................................. 342
Crer une requte action de type cration de table ............... 342
Crer une requte action de type ajout ............................. 345
Crer une requte action de type suppression .................... 347
Crer une requte action de type mise jour ...................... 348

5.5.
5.6.

Chapitre 6
6.1.
6.2.
6.3.

6.4.

6.5.

Chapitre 7
7.1.

7.2.
7.3.

Chapitre 8
8.1.

8.2.
8.3.
8.4.
8.5.
8.6.

Ajouter des paramtres dans les requtes ......................... 350


Cas pratique ............................................................. 352
Crer des requtes de slection en mode SQL .................... 353
Crer des requtes en mode Cration .............................. 358
Crer une requte action .............................................. 369
Utiliser un paramtre dans la requte .............................. 370
Crer une liste de choix avec requte ............................... 372

Amliorer la saisie

379

Comprendre le rle des formulaires ................................ 381


Le modle conceptuel des objets des formulaires ................ 382
Crer des formulaires simples ....................................... 383
Utiliser lAssistant ...................................................... 383
Crer un formulaire sans lAssistant ................................ 387
Manipuler des donnes dans un formulaire ....................... 395
Modifier les objets du formulaire en mode Cration ............. 403
Crer des formulaires imbriqus .................................... 424
Crer un formulaire et un sous-formulaire simultanment
laide de lAssistant .................................................. 424
Crer un sous-formulaire dans un formulaire existant ........... 427
Cas pratique ............................................................. 430
Raliser un carnet dadresses avec lAssistant Formulaire ...... 430
Modifier des objets du formulaire ................................... 433
Raliser le formulaire de saisie dune facture ..................... 436
Insrer un calcul dans un formulaire ................................ 443

Restituer les donnes

449

Crer des tats simples ................................................ 451


Utiliser les Assistants .................................................. 451
Crer un tat sans lAssistant ......................................... 459
Visualiser les donnes de ltat ...................................... 463
Modifier un tat en mode Cration .................................. 469
Crer des tats avancs ............................................... 482
Cas pratique ............................................................. 485
Raliser un tat du carnet dadresses avec lAssistant ........... 486
Raliser ltat des factures ............................................ 487

Automatiser les traitements

501

Crer une macrocommande .......................................... 503


Modifier une macro .................................................... 506
Excuter une macro .................................................... 508
Utiliser une macro ..................................................... 509
Crer des modules en Visual Basic .................................. 509
Crer des graphiques .................................................. 512
Crer des tableaux croiss dynamiques ............................ 516
Consulter les donnes dans un navigateur Internet .............. 522
Dmarrer automatiquement lapplication ......................... 526

8.7.

Chapitre 9

Cas pratique ............................................................. 528


Crer une macro affichant un message de bienvenue ........... 529
Crer une macro excutant plusieurs actions ..................... 530
Utiliser une macro lance par un vnement
dans un formulaire ..................................................... 530
Utiliser une macro dans un bouton de commande ............... 533

Glossaire

537

B .......................................................................... .539
C .......................................................................... .539
D .......................................................................... .540
E .......................................................................... .540
F ........................................................................... .540
G .......................................................................... .541
I ........................................................................... .541
L ........................................................................... .542
M .......................................................................... .542
N .......................................................................... .543
O .......................................................................... .543
P .......................................................................... .543
R .......................................................................... .543
S .......................................................................... .544
T .......................................................................... .544
U .......................................................................... .544
V .......................................................................... .545

Chapitre 10 Index

547

CHAPITRE 1

CONCEPTS
ET MANIPULATIONS
DE BASE
Introduction .................................................................................................................... 11
Base de donnes, dfinition ................................................................................... 15
Analyser le problme ................................................................................................ 26
Crer une base de donnes .................................................................................... 30
Fermer une base de donnes ................................................................................ 37
Ouvrir une base de donnes .................................................................................. 37
Dcouvrir linterface dAccess 2010 .................................................................... 40
Crer une table ............................................................................................................. 57
Autres mthodes pour crer des tables ............................................................ 65
Cas pratiques ................................................................................................................. 74

Dans ce premier chapitre, vous allez dcouvrir les concepts fdrateurs dAccess 2010.

1.1. Introduction
"Je gre ma base de donnes sur Excel"
Il est encore frquent dentendre cette phrase, un non-sens puisque
Excel nest pas un systme de gestion de bases de donnes mais un
tableur. Cette confusion trouve son origine dans le fait que les interfaces des deux logiciels sont similaires, lorsque les donnes sont
prsentes en tableau.

Figure 1.1 : La prsentation de


donnes dans une feuille de calcul
Excel

Figure 1.2 : La prsentation des donnes en mode Feuille de donnes sur Access nest pas sans
rappeler celle dExcel

1.1. Introduction

11

La ressemblance sarrte l. Le tableur se caractrise par sa souplesse et sa rapidit de mise en uvre, alors que le systme de
gestion de bases de donnes permet avant tout dassurer la cohrence dune grande quantit dinformations, indpendamment de
leur prsentation : tables, relations, intgrit rfrentielle sont autant
de puissants outils spcifiques aux bases de donnes que vous
dcouvrirez bientt dans cet ouvrage permettant dassurer un
contrle permanent de la cohrence des informations quelles renferment.

Figure 1.3 : Les relations entre tables reprsentent un outil puissant doptimisation de la cohrence
des donnes

Bien sr, comme Excel, Access vous permet de saisir des informations, de les consulter lcran et de les imprimer. De plus, le logiciel
est capable deffectuer des traitements, des synthses de donnes et
il est interfaable avec le Web. Toutefois, comme tout systme de
gestion de base de donnes, la caractristique majeure dAccess, qui
le diffrencie des autres familles dapplications, est son aptitude
optimiser lorganisation des donnes quil renferme. Lutilisation
dun SGBDR est donc envisager lorsque la quantit de donnes
enregistrer est importante et que les traitements de ces donnes
sont nombreux et sophistiqus.

SGBDR
Sigle signifiant "systme de gestion de bases de donnes relationnelles".
Access entre dans cette catgorie de logiciels.

12

1. Concepts et manipulations de base

Si vous souhaitez, par exemple, dvelopper rapidement et facilement le systme de facturation de votre entreprise, grer les albums
de votre discothque ou les livres de votre bibliothque ou encore
administrer les comptes et les mots de passe des abonns en ligne
de votre site web, Access est fait pour vous.

Figure 1.4 : Access dispose de nombreux outils de synthse et de prsentation des donnes (ici, un
formulaire avanc faisant appel aux donnes de plusieurs tables)

RAD
Sigle signifiant Rapid Application Development et dsignant les logiciels
permettant les dveloppements rapides dapplications. Access 2010 entre
dans cette catgorie de programmes.

Access et Excel
Chaque logiciel dispose de spcificits propres ; vous devez avoir recours
lun ou lautre en fonction de la situation traiter. Ainsi le manque de
scurit dExcel, en ce qui concerne la cohrence des donnes, est-il largement compens par une grande souplesse en matire de calculs complexes
ou de ralisation de graphiques. linverse, Access demande au dveloppeur
une grande rigueur, du temps et des connaissances, tribu quil devra payer
comme prix du contrle de cohrence permanent quexerce Access sur les
donnes. Choisissez donc le tableur si vous travaillez seul sur des donnes
non optimises ou encore si vous avez besoin dobtenir rapidement des

1.1. Introduction

13

rsultats lors de simulations, par exemple. En revanche, prfrez Access


si votre travail est de type collaboratif, si la quantit dinformations est
grande et si les traitements sont nombreux, rptitifs et normaliss.

Les autres SGBDR


Access est certainement le SGBDR le plus rpandu, mais il trouve ses
limites lorsque les applications deviennent trs importantes ou ncessitent
lcriture dune grande quantit de code de programmation. Des SGBDR tels
quOracle ou SQL Server lui sont alors prfrs, mme sils ncessitent un
temps de mise en uvre beaucoup plus important.

Les diffrentes versions dAccess


Depuis 1992, anne de son lancement, Microsoft a mis sur le march de
nombreuses versions du logiciel : Access 2, Access 95, Access 97, Access 2000, Access XP, Access 2003, Access 2007 et enfin Access 2010, la mouture de loin la plus sophistique et la plus puissante du programme.

Produit ayant pleinement atteint sa maturit, la version 2010 dAccess est donc la dernire en date avoir t commercialise par
Microsoft. Access est le SGBDR le plus utilis ce jour ; statut mrit
si lon dresse la liste impressionnante et non exhaustive des traitements que le logiciel sait effectuer. Rcupration de donnes issues
de sources htrognes, exportations vers la majorit des autres
applications, utilisations nombreuses sur Internet et en intranet,
interfaage natif avec SQL Server, langage de programmation
lattention des dveloppeurs ou encore bibliothque de commandes
macros pour les novices : ce ne sont que quelques exemples significatifs.

Configuration matrielle ncessaire


Access est un logiciel assez gourmand en ressources matrielles. Pour
utiliser le programme dans des conditions de confort ralistes, la configuration
matrielle ncessaire pourra tre un ordinateur compatible PC, avec 2 Go Mo
de mmoire vive et quelques gigaoctets despace libre sur le disque dur.

14

1. Concepts et manipulations de base

1.2. Base de donnes, dfinition


Pour tre raliste, il convient de prciser que la mise en uvre dun
SGBD requiert un investissement de temps non ngligeable (le dveloppement de la structure dune base de donnes et des objets qui
lentourent comme les formulaires, les requtes, ou les tats demande de nombreux jours de travail). Dans quel cas doit-on utiliser
un SGBDR et quelles sont les caractristiques dune base de donnes
relationnelle ?

Lorganisation des donnes en sujets


Un SGBDR optimise la manire dont les informations sont stockes
en vitant les redondances. En effet, plutt que denregistrer toutes
les donnes dans un seul fichier, comme ce serait le cas dans un
classeur dExcel, Access 2010 fractionne linformation et regroupe
les donnes appartenant un mme centre dintrt (ou sujet) dans
des fichiers virtuels : les tables.

Redondance
Ce terme, couramment utilis par les informaticiens, est synonyme de
rptition.

Les tables, fichiers de donnes virtuels dAccess


Access utilise un fichier unique et indissociable, portant lextension .accdb,
et regroupant lensemble des objets de la base de donnes, dont les tables. Il
nest donc pas possible den isoler une et de la copier individuellement dans
un dossier du disque dur. Il nest donc pas faux de parler de "fichiers virtuels"
pour dsigner les tables, dans la mesure o, si une table ne peut tre
manipule indpendamment de lapplication qui la renferme en tant que
fichier, il est en revanche parfaitement possible de la modifier depuis Access,
aprs avoir ouvert la base de donnes qui la contient.
Certains SGDBR nont pas recours un fichier unique mais des fichiers
spars. Il est alors possible disoler une table et de la copier indpendamment.

Lexemple qui suit permet dillustrer ces propos quelque peu thoriques. Imaginez que votre travail consiste constituer un fichier de
personnes, des tudiants inscrits en universit, par exemple. La
quantit de donnes rpertorier est importante et les rubriques

1.2. Base de donnes, dfinition

15

telles que le nom, le prnom ou encore ladresse de chacun dentre


eux sont nombreuses.
Chaque tudiant est inscrit un cours optionnel, dispens par des
enseignants spcifiques (bien sr, lnonc du problme est rduit ici
au minimum). Le tableau suivant vous montre comment les informations seraient stockes dans un fichier Excel :
Tableau 1.1 : Prsentation des donnes dans un fichier unique
Nom

Prnom

Adresse

Code
postal

Ville

Matire
Nom de
optionnelle lenseignant

TACQUE

Rachel

65 ter, rue de
lglise

54000

NANCY

Allemand

THOUVENT

Franois 1, rue Gambetta

HIRSHEIM

conomie

Npal

COSSELIN

Jol

240, rue du Chne 29000

BREST

Histoire de
lart

Gentil

ACHONE

Lucie

135, rue VictorHugo

CHTEAUROUX

Espagnol

Mullerio

CZARD

Valrie

120, rue de Villers 33100

BORDEAUX conomie

Npal

MULLER

Pierre

16, rue de la Cte

44800

SAINTHERBLAIN

Commerce
international

Bernardo

THOUVENIN Graldine 22, rue GeorgesClemenceau

69006

LYON

Histoire de
lart

Gentil

67890

36018

Solange

DUPONT

Denise

9, rue des rables 75010

PARIS

Espagnol

Muller

MULLER

Maryse

98, rue Pasteur

LENS

Histoire de
lArt

Gentil

62300

MARCHAND Jean

5 bis, rue Blondot 56330

RENNES

conomie

Npal

SCHLESSER Tom

17, rue Hortensia

75015

PARIS

Commerce
international

Bernardo

DUPONT

Julie

292 bis, rue du


Moulin

54140

JARVILLE

Espagnol

Mullerio

COSSELIN

Pascale

1, alle des Lilas

57000

METZ

Allemand

Solange

(voir Figure 1.5)


En fait, le tableur napporte ici aucun avantage significatif la gestion
de linformation, par rapport un fichier manuel. Voyez maintenant
comment Access traite le problme. Vous allez voir les failles de cette
premire solution ou, plus exactement, les redondances dinformations

16

1. Concepts et manipulations de base

Rien dire en ce qui concerne les donnes personnelles des tudiants : nom, prnom, adresse, code postal ou encore la ville. Ces
informations sont uniques et spcifiques chaque individu. Elles
doivent donc tre saisies dans leur intgralit. Il nexiste aucun
moyen de droger cette saisie (sous peine de perdre des informations). Il nen va pas de mme pour les rubriques Matire optionnelle
et Nom de lenseignant qui, comme vous pouvez le constater dans le
tableau, sont rptes autant de fois quil existe dtudiants inscrits
au cours dispens par lenseignant. Ces rptitions dune mme
information napportent rien. Puisquune matire et le nom de lenseignant qui la dispense sont uniques, il ne sert rien de les rpter.
Bien au contraire, cette redondance des informations est caractristique dun manque doptimisation de la manire dont les donnes
sont enregistres et gnre des alas : perte de temps, risques de
fautes dorthographe, place gche inutilement sont les principaux.

Figure 1.5 : Les donnes enregistres dans une feuille de calcul dExcel

Lun des concepts majeurs, que doit garder lesprit tout dveloppeur dune base de donnes, est de ncrire quune fois une
information donne, mme si celle-ci est utilise par plusieurs "fiches" (une ligne dinformation dans cet exemple). Pour cela, il se doit
de regrouper les donnes en "sujets". Cette mthode, applique
lexemple qui prcde, donne le rsultat suivant :

1.2. Base de donnes, dfinition

17

Tableau 1.2 : Le premier sujet est celui de lidentit de ltudiant


Nom

Prnom

Adresse

Code postal

Ville

TACQUE

Rachel

65 ter, rue de lglise

54000

NANCY

THOUVENT

Franois

1, rue Gambetta

67890

HIRSHEIM

COSSELIN

Jol

240, rue du Chne

29000

BREST

ACHONE

Lucie

135, rue Victor-Hugo

36018

CHTEAUROUX

CZARD

Valrie

120, rue de Villers

33100

BORDEAUX

MULLER

Pierre

16, rue de la Cte

44800

SAINT-HERBLAIN

THOUVENIN

Graldine 22, rue Georges-Clemenceau 69006

LYON

DUPONT

Denise

PARIS

9, rue des rables

75010

MULLER

Maryse

98, rue Pasteur

62300

LENS

MARCHAND

Jean

5 bis, rue Blondot

56330

RENNES

SCHLESSER

Tom

17, rue Hortensia

75015

PARIS

DUPONT

Julie

292 bis, rue du Moulin

54140

JARVILLE

COSSELIN

Pascale

1, alle des Lilas

57000

METZ

Tableau 1.3 : Le deuxime sujet est celui de la matire et de son enseignant


Matire optionnelle

Nom de lenseignant

Allemand

Solange

Commerce international

Bernardo

conomie

Npal

Espagnol

Mullerio

Histoire de lart

Gentil

Il nexiste plus maintenant de rptition. La mthodologie employe


pour le stockage de linformation est optimale et les inconvnients
de la premire mthode disparaissent : temps de saisie limit au
minimum, orthographe unique pour une ligne, optimisation de lespace de stockage.

Lidentifiant unique
Il nest pas possible darrter ici le modle conceptuel prsent
prcdemment car il est encore imparfait. Certes, les redondances
dinformations sont vites mais quel prix. Les cours optionnels (et
les noms des enseignants correspondants) ne sont plus rattachs

18

1. Concepts et manipulations de base

aux tudiants, si bien quil devient impossible de savoir quelle


matire ceux-ci sont inscrits. La base de donnes est inutilisable en
ltat.
Il faut donc trouver un moyen, fiable, de relier les deux sujets. La
solution consiste recourir un identifiant unique, appel "cl primaire", affect chaque matire et report sur la liste des tudiants.
Voyez cette mthode applique notre exemple :
Tableau 1.4 : La rubrique ajoute permet de rpertorier lidentifiant de la matire optionnelle
Nom

Prnom

Adresse

Code
postal

Ville

Numro de la matire optionnelle

TACQUE

Rachel

65 ter, rue de lglise

54000

NANCY

THOUVENT

Franois 1, rue Gambetta

67890

HIRSHEIM

COSSELIN

Jol

240, rue du Chne

29000

BREST

ACHONE

Lucie

135, rue Victor-Hugo

36018

CHTEAUROUX

CZARD

Valrie

120, rue de Villers

33100

BORDEAUX

MULLER

Pierre

16, rue de la Cte

44800

SAINT HERBLAIN 2

THOUVENIN Graldine 22, rue GeorgesClemenceau

69006

LYON

DUPONT

Denise

9, rue des rables

75010

PARIS

MULLER

Maryse

98, rue Pasteur

62300

LENS

MARCHAND Jean

5 bis, rue Blondot

56330

RENNES

SCHLESSER Tom

17, rue Hortensia

75015

PARIS

DUPONT

Julie

292 bis, rue du Moulin 54140

JARVILLE

COSSELIN

Pascale

1, alle des Lilas

METZ

57000

Tableau 1.5 : Un identifiant unique est affect chaque matire optionnelle


Numro

Matire optionnelle

Nom de lenseignant

Allemand

Solange

Commerce international

Bernardo

conomie

Npal

Espagnol

Mullerio

Histoire de lArt

Gentil

Cette modification est suffisante pour redonner leur cohrence aux


donnes : il est maintenant possible de connatre la matire optionnelle et lenseignant attachs un tudiant. La quantit dinforma-

1.2. Base de donnes, dfinition

19

tions enregistres a, certes, un peu augment (il faut enregistrer les


identifiants uniques dans chaque table), mais le volume de stockage
utilis reste infrieur celui quil tait initialement. Il le serait encore
plus si la table des matires optionnelles renfermait beaucoup plus
de rubriques : on parle alors de "champs".

Terminologie des bases de donnes relationnelles


Il existe une terminologie consacre au dveloppement de bases de donnes.
Ainsi, pour dsigner des sujets (les tudiants par exemple), des fiches (le troisime tudiant par exemple) et des rubriques (le prnom par exemple), il est
dusage dutiliser respectivement les termes "tables, enregistrements" ou
"lignes" et "champs" ou "colonnes".

Le gain de place nest pas le seul avantage de cette organisation des


donnes : une modification du nom de lenseignant affect une
matire ne sera effectue quune fois (alors quelle aurait d tre
ritre autant de fois que le nom tait utilis si les informations
taient stockes dans une table unique, comme ctait le cas initialement).

Les relations permanentes et lintgrit


rfrentielle
Imaginez maintenant que lune des matires optionnelles enseigne dans la facult soit supprime et que les tudiants inscrits
ces cours doivent tre rays des listes car ils sont automatiquement inscrits dans un autre tablissement universitaire dispensant ces cours.
Pour loprateur ou lopratrice de saisie missionn pour raliser
la mise jour des fichiers, la tche est considrable puisquil lui
faut, dune part, supprimer lenregistrement correspondant la
matire de la table des matires optionnelles, mais aussi et surtout supprimer de la table des tudiants ceux dentre eux qui
taient inscrits au cours dans lesquels la matire supprime tait
dispense.
Access permet dtablir une relation permanente entre les deux
tables et dy associer une trs puissante fonctionnalit, nomme
"intgrit rfrentielle", dont le rle est dassurer une mise jour
en cascade des enregistrements dune table en fonction des modifications effectues dans une autre. Dans cet exemple, tous les

20

1. Concepts et manipulations de base

enregistrements faisant rfrence la matire optionnelle supprime seraient automatiquement effacs dans la table des tudiants.

Figure 1.6 : Lapplication de


lintgrit rfrentielle sous
Access est une
fonctionnalit trs puissante

De nombreux objets hirarchiss


Une base de donnes Access est un objet conteneur de toute lapplication.
Il convient de dfinir les notions dobjets conteneurs et dobjets
contenus car il est fait rfrence en permanence ces notions dans
Access (de mme que dans la plupart des langages de programmation actuels qui sont dits orients objets). La plupart des lments
utiliss se nomment des "objets" et fonctionnent selon le principe
des poupes russes : un objet conteneur contient des sous-objets
conteneurs qui contiennent eux-mmes encore des sous-objets
conteneurs ou des objets contenus. Ce schma permet de dsigner
nimporte quel lment dune application en "traversant" les objets
qui lui sont hirarchiquement infrieurs ; le terme consacr est
DOM (Data Object Model).
Le DOM est une mthode trs efficace pour dsigner sans ambigut un objet, une de ses caractristiques ou proprits, ou
encore une action associe un vnement (on parle alors de
"mthode").
Cette description du modle objet peu paratre quelque peu absconse, voici donc une transposition de ce que pourrait tre le
DOM sur des tres humains Lanalogie permettra de mieux
fixer les ides. Imaginez que la langue DOM soit parle dans le
langage usuel. Vous ne direz plus alors : "Jai mal loreille

1.2. Base de donnes, dfinition

21

gauche", mais : "Jai Corps.Tte.Oreille.Douleur = Vrai". Droutante,


cette syntaxe a le mrite dtre claire puisque, dans lobjet conteneur
Corps, vous trouvez le sous-objet conteneur Tte, qui lui-mme
contient lobjet Oreille dont la proprit Douleur est gale la valeur
boolenne Vrai.

Objet
Le concept dobjet est omniprsent dans Access. Chaque bote de dialogue, chaque liste ou chaque bouton est un objet. Certains dentre eux sont
des objets conteneurs, dautres des objets contenus. Lobjet conteneur le plus
vaste est lobjet Base de donnes qui contient toute lapplication.

Lobjet conteneur Base de donnes contient plusieurs grandes familles dobjets sous-conteneurs. Les principaux sont cits dans ce
qui suit.

Les tables
Les tables, qui ont dj t prsentes, sont les objets conteneurs
principaux dAccess. Elles renferment linformation structure en
enregistrements, eux-mmes diviss en champs.

Figure 1.7 : Une table visualise depuis linterface dAccess 2010

Les requtes
Ces puissants objets permettent dextraire et de modifier des informations contenues dans les tables.

22

1. Concepts et manipulations de base

Figure 1.8 : Une requte dAccess

Les formulaires
Les formulaires autorisent la prsentation lcran des informations
contenues dans les tables ou dans les requtes des fins de consultation ou de modification. Sans eux, les donnes peuvent toutefois
tre obtenues dans un mode brut par le mode Feuille de donnes,
mais ce dernier est peu convivial et ne peut tre utilis comme
interface de saisie des informations dans une application finalise (le
mode Feuille de donnes nest utilis que pour tester lapplication
pendant le dveloppement).

Figure 1.9 : Un formulaire dAccess


1.2. Base de donnes, dfinition

23

Les tats
Les tats sont utiliss pour restituer un rsultat final, synthse de
linformation renferme dans les tables (une facture imprime ou
consulte lcran par exemple).

Figure 1.10 : Un tat


dAccess 2010

Les macros
Les macros (ou macrocommandes) permettent, sans connaissance
particulire en matire de programmation, dautomatiser des tches
simples.

Figure 1.11 : Une macrocommande


dAccess

24

1. Concepts et manipulations de base

Les modules
Plus puissants que les macrocommandes, ces objets sont des programmes crits en langage Visual Basic. Ils permettent deffectuer
tous les traitements. Il est cependant ncessaire, pour y avoir recours, de disposer dune connaissance approfondie en matire de
programmation.

Figure 1.12 : Le code dun module, en Visual Basic

Rsum des termes utiliss sur Access


Une base de donnes contient les familles dobjets suivantes : les tables,
les requtes, les formulaires, les tats, les macros et les modules.
Une table contient des enregistrements (ou lignes) qui contiennent des
champs (ou colonnes) qui contiennent des donnes.

Figure 1.13 : Les principales familles dobjets dune base de donnes Access

1.2. Base de donnes, dfinition

25

1.3. Analyser le problme


Bien entendu, vous tes probablement impatient de crer votre
premire table sur Access 2010. Les sections suivantes de ce chapitre vont satisfaire vos attentes. Mais profitons encore de cette introduction pour rpter quune table suffit rarement, pour ne pas dire
jamais, comme conteneur dune application, mme primitive. En fait,
le seul cas de figure qui se satisfasse dune table unique est celui
dune simple liste (un carnet dadresses par exemple), ce qui,
avouons-le, constitue un pitre exercice de style pour un SGBDR
aussi sophistiqu que celui qui est le sujet de ce livre.
Lexemple simple dcrit dans la section prcdente a dj mis en
vidence laspect nfaste des redondances dinformations dans une
table. Ce constat doit tre lev au niveau de dogme pour tout
dveloppeur dune base de donnes qui se respecte.
Cette affirmation est certes plus facile noncer qu mettre en
pratique car chaque dveloppement est guid par une problmatique spcifique quil convient danalyser. Aussi, avant de se lancer
dans le dveloppement dune base de donnes, qui dbute forcment par la cration des tables puisque celles-ci constituent le noyau
du systme mis en uvre, il est conseill de prendre le temps
ncessaire la rflexion. Vos deux outils sont le papier et le crayon,
tout simplement. Pensez que les quelques heures investies initialement et pendant lesquelles vous questionnerez les utilisateurs, observerez leurs habitudes et anticiperez leurs besoins vous seront
restitues au centuple lorsque vos formulaires et vos tats sappuieront sur une structure saine et optimale constitue de tables bien
construites. Pensez, linverse, que des tables mal structures reprsenteront un boulet quil vous faudra traner tout au long du temps
de vie de lapplication et qui vous imposera un assemblage de
"rustines", sources derreurs et gnratrices de temps perdu.
Le premier principe, quil vous faut appliquer, car il vous guidera
dans votre analyse, est le "regroupement par sujets". Pour le
comprendre et le matriser, vous allez tudier un nouvel exemple
thorique. Vous dcouvrirez ensuite comment mettre en pratique
votre analyse. Voici votre objectif : grer une collection de disques.

26

1. Concepts et manipulations de base

Regroupement par sujets


Pendant lanalyse du problme, les informations doivent tre runies par
sujets. Les sujets dtermins permettent ensuite de crer facilement les
tables qui en dcoulent.

Sujet
Un sujet est un type dinformation, fractionn en plusieurs parties distinctes (les champs) et dcrivant intgralement et uniquement le type concern (il
ne doit manquer aucun champ ncessaire la description et, linverse, le
sujet ne doit pas renfermer de champ extrieur au type dinformation quil
dcrit).

Si vous agissez dans la prcipitation, vous risquez de commettre une


erreur frquente, la mme que celle qui a t constate dans lexemple
prcdent, cest--dire crer une table unique dans laquelle chaque
champ correspond lune des informations stocker. Inutile de prciser que la mthode est mauvaise car elle est synonyme, une fois
encore, de redondances dinformations, de perte de temps, de risques
derreurs et de place gaspille, pour ne citer que les maux les plus
flagrants. En outre, les "dgts" seront plus importants que prcdemment car lapplication ncessite de stocker plus dinformations.
Pas de prcipitation, donc. ce stade, un simple papier et un crayon
sont les seuls instruments ncessaires. Commencez par dresser la liste
(volontairement simplifie) de toutes les informations enregistrer :
j

le titre du disque ;

le nom de lartiste ;
le prnom de lartiste ;
le nom de lditeur ;
ladresse de lditeur ;
le code postal de lditeur ;
la ville de lditeur ;
le pays de lditeur ;
la date de sortie du disque ;
le type de disque (CD-ROM, DVD, vinyle) ;
le thme musical (blues, classique, jazz, mtal, pop, rap, rock,
rythm and blues, varit, soul) ;
le prix du disque.

j
j
j
j
j
j
j
j
j

1.3. Analyser le problme

27

Indpendance des champs


Lors de la construction dune table, veillez crer un champ pour chaque
donne enregistrer. Ainsi, le nom et le prnom tant des informations
distinctes, il est indispensable de leur affecter chacun un champ dans la table
qui les enregistrera. Si vous nappliquez pas cette rgle lmentaire, les
traitements ultrieurs des donnes sen trouveront alourdis, voire impossibles. Imaginez, par exemple, que vous nayez rserv quun seul champ pour
stocker la fois le code postal et la ville. Il vous serait alors trs difficile
deffectuer un classement des enregistrements selon cette dernire.

Imaginons que vous vous lanciez prcipitamment dans la cration


dune table unique, qui contiendrait autant de champs quil existe
dlments sur cette liste. Ds le dbut de la saisie, vous serez
confront au problme de redondance de certaines informations. En
effet, il est rare quun auteur compose un seul disque et, si plusieurs
uvres dun mme auteur doivent tre enregistres, il deviendra
ncessaire de rpter autant de fois la saisie de son nom et de son
prnom que le fichier contiendra de disques de cet artiste. Cette
erreur sera alors sanctionne par :
j

une perte de temps non ngligeable lors de la saisie ;

une occupation inutile de lespace libre de votre disque dur ;


une baisse des performances lors des traitements (le parcours
dun fichier volumineux est plus long que celui dun petit fichier) ;
une augmentation des risques derreurs (les informations tant
enregistres plusieurs fois, une erreur de saisie est probable) ;
limpossibilit de corriger une information relative un artiste (un
changement de nom la suite dun mariage par exemple) sans
devoir rpter la correction sur tous les enregistrements des disques de cet artiste.

Une fois encore, la ncessit de regrouper les informations par


sujets simpose. Une information donne ne doit tre enregistre
quune fois dans son sujet. Linformation finale (les renseignements
relatifs un disque donn dans cet exemple) sera reconstitue en
liant les sujets entre eux au moyen de relations, dont le principe et
les mcanismes seront dcrits plus loin.
Dans cet exemple, la liste des informations peut tre fractionne en
trois sujets :

28

les informations relatives au disque ;

les informations relatives lartiste ;

1. Concepts et manipulations de base

les informations relatives lditeur.

Chacun de ces sujets ncessite la cration dune table.

Dterminer les sujets


Cette opration devient naturelle avec lexprience car les mmes schmas reviennent toujours, indpendamment du domaine dapplication. Une
bonne mthode consiste lister, sur papier, toutes les informations stocker
(comme cela a t fait prcdemment). Inutile de chercher ce stade tablir
un ordre. Il est par contre important de ne rien oublier. Dterminez ensuite le
premier sujet, affectez-lui une marque dindex (le chiffre 1 ou la lettre A par
exemple) et indexez tous les lments de la liste qui lui correspondent (ces
lments deviendront des champs lorsque la table correspondante sera
cre). Faites de mme pour les autres sujets. Une fois chaque sujet prcisment dcrit, il ne vous restera qu ordonner les informations (mettre le code
postal avant la ville par exemple). Cet ordonnancement a pour seul but de
vous permettre une meilleure apprhension du contenu de la table. Une
erreur ce stade nest toutefois pas gravissime car il vous est toujours
possible de prsenter les donnes dans lordre de votre choix dans les
formulaires ou les tats rcapitulatifs.

Le rsultat obtenu est le suivant :


Tableau 1.6 : La liste des sujets
Sujet

Numro dindex du sujet

Disques

Artistes

Maisons ddition de disques

Tableau 1.7 : Les informations enregistrer et leurs sujets


Donnes stocker

Sujet auquel la donne est affecte

Titre du disque

Nom de lartiste

Prnom de lartiste

Nom de lditeur

Adresse de lditeur

Code postal de lditeur

Ville de lditeur

Pays de lditeur

Date de sortie du disque

Type de disque

1.3. Analyser le problme

29

Tableau 1.7 : Les informations enregistrer et leurs sujets


Donnes stocker

Sujet auquel la donne est affecte

Thme musical

Prix

Cl primaire
Le numro dindex du sujet est nomm "cl primaire". Il sagit dun identifiant unique, affect chacun des enregistrements du sujet et permettant de
lidentifier.

Dsormais, en cas derreur sur le nom dun artiste, son orthographe


ne sera corrige quune fois au sein du sujet Artistes mis en relation
avec le sujet Disques.
Une telle analyse initiale du problme vous permettra de construire
un "conteneur" optimal des donnes. Mettons fin pendant quelques
pages la thorie pour dcouvrir comment construire sur Access 2010 les tables correspondant aux sujets que vous venez de
dfinir. Mais avant cela, il vous faut crer la base de donnes, conteneur de toute lapplication.

1.4. Crer une base de donnes


La procdure de cration dune base de donnes est trs simple. Elle
sapparente celle utilise sur la plupart des logiciels bureautiques
tels que Word ou Excel. Gardez toutefois lesprit quune base de
donnes, mme si Access lenregistre sous la forme dun fichier
unique (portant lextension .accdb), renferme de nombreux objets de
types diffrents, dont les tables constituent le pivot central.
Commencez par lancer Access 2010 en cliquant sur le bouton dmarrer, puis sur le menu Tous les programmes/Microsoft Office/Microsoft
Office Access 2010.

Lcran louverture dAccess 2010


Lorsque Access 2010 est dmarr, un premier cran est affich. Il propose
les principales fonctionnalits de cration dune base de donnes (une base
vide ou constitue partir dun modle) ou douverture dune base existante
(cre prcdemment sous Access). Ct cran nest pas affich si le fichier
dune base de donnes existante est directement ouvert (par un double-clic

30

1. Concepts et manipulations de base

depuis lExplorateur de fichiers de Windows, par exemple) : la base est


dans ce cas automatiquement ouverte dans Access.

Figure 1.14 : Lcran affich au


dmarrage dAccess 2010

Il existe plusieurs mthodes pour crer une base de donnes, la


premire consistant gnrer une base de donnes vide.

Crer une base de donnes vide


1

Cliquez sur longlet Fichier situ en haut et gauche de la


fentre dAccess 2010.

2 Dans le menu affich, cliquez sur Nouveau.

Figure 1.15 : Le menu affich par longlet Fichier

3 A la rubrique Modles disponibles, choisissez Base de donnes vide.


Dans la zone Nom de fichier, saisissez le nom de la base de donnes crer puis cliquez sur le bouton Crer.
1.4. Crer une base de donnes

31

Figure 1.16 : La cration dune base de donnes vide

Access 2010 vous propose par dfaut denregistrer le fichier


dans le dossier Documents. Pour modifier cet emplacement, cliquez sur licne Cherchez un emplacement pour votre base de donnes, symbolis par un dossier ouvert, droite de la zone Nom de
fichier.

5 Dans la bote de dialogue Fichier Nouvelle base de donnes, choisissez le dossier denregistrement de la base de donnes et cliquez
sur le bouton OK.

Figure 1.17 : Lenregistrement de la base de donnes dans le dossier choisi

32

1. Concepts et manipulations de base

Cration dun nouveau dossier lors de lenregistrement dun fichier


Pour crer rapidement un dossier lors de lenregistrement du fichier, utilisez le bouton Nouveau dossier.

Les noms de fichiers


Comme les autres logiciels Microsoft, Access 2010 propose le dossier
Documents par dfaut comme espace denregistrement. Il est prfrable de
ne pas enregistrer tous vos fichiers dans ce dossier car leur nombre va trs
vite augmenter. Utilisez plutt la mthode consistant crer un dossier par
type dapplication.
Choisissez des noms de fichiers significatifs : vitez les noms du type Base de
donnes1.accdb car ils ne donnent pas dindication sur le contenu du fichier
et prfrez des noms comme Facturation.accdb ou Disques.accdb.

Extensions des fichiers Access 2010


Conservez lextension .accdb pour vos fichiers de bases de donnes
Access 2010, sinon les fichiers ne seront plus reconnus par lapplication
(accdb est labrviation de Access Data Base).
Lextension .accdb se substitue, depuis la version 2007 dAccess, lancienne
extension .mdb, employe par Microsoft pour les fichiers de bases de donnes Access, jusqu la version 2003.
Il existe deux autres extensions caractristiques dAccess 2010 : lextension .accde, qui remplace lancienne extension .mde et caractrise les fichiers qui peuvent uniquement tre excuts (sans possibilit de modification) ainsi que lextension .accdt, utilise pour les modles de bases de
donnes Access.

6 De retour dans le volet Base de donnes vide, cliquez sur le bouton


Crer.
Dans la fentre dAccess apparat celle de la base de donnes. Access
propose lutilisateur de crer immdiatement une table pour y
saisir des donnes, en mode Feuille de donnes.

1.4. Crer une base de donnes

33

Figure 1.18 : la cration dune nouvelle base de donnes, la cration immdiate dune premire
table est propose

Modifier le dossier denregistrement par dfaut


Pour redfinir le dossier denregistrement
par dfaut de vos bases de donnes, cliquez
sur longlet Fichier puis sur le bouton Options.
Cliquez ensuite sur longlet Gnral dans la bote de dialogue Options
Access. Saisissez le chemin du nouveau dossier dans la zone Dossier de base
de donnes par dfaut de la rubrique Cration de bases de donnes.

Figure 1.19 : Le choix du dossier denregistrement par dfaut

Format denregistrement de la base de donnes


Le format denregistrement Access 2007 est propos par dfaut (format de
la version prcdente dAccess). Il vous permet de bnficier de toutes les
fonctionnalits offertes par cette nouvelle version du logiciel. Il vous est
toutefois possible, pour des raisons de compatibilit, dutiliser des formats
denregistrement antrieurs des bases de donnes. Cliquez pour ce faire sur

34

1. Concepts et manipulations de base

la flche de la liste Format de fichier par dfaut pour la base de donnes


vierge de longlet Gnral de la bote de dialogue Options Access.

Figure 1.20 : Le choix du format denregistrement de la base de donnes

Crer une base de donnes partir dun modle


Access 2010 offre de nombreux modles de bases prconstruites,
copis lors de linstallation du logiciel sur le disque dur de lordinateur ou disponibles en ligne, sur le site Internet de Microsoft, et dont
les objets peuvent tre utiliss en ltat ou modifis. Cest un gain de
temps apprciable pour le dveloppeur qui y trouve un thme proche de celui de sa future application ; cette fonction reprsente
galement un outil pdagogique non ngligeable puisque les objets
gnrs peuvent y tre tudis.
Access 2010 offre plusieurs catgories de modles.
1 Cliquez sur longlet Fichier.

Le mode Backstage
Ce nouveau terme dsigne, sous Office 2010, les fonctionnalits accessibles
depuis longlet Fichier (ouvertures et enregistrements de bases de donnes,
raccourcis vers les fichiers rcemment utiliss, impressions, options, ).

2 Dans la partie gauche de la fentre, cliquez sur Nouveau.


3 la rubrique Modles disponibles, cliquez sur Exemples de modles.

Utiliser les modles en ligne


La rubrique Modles Office.com propose, dans sa partie infrieure, des
liens permettant daccder des catgories de modles, depuis le site Internet de Microsoft.

4 Cliquez sur le nom du modle utiliser (Base de donnes Contacts


sur le Web, par exemple), symbolis par une icne dans le volet.

1.4. Crer une base de donnes

35

Figure 1.21 : Le choix dun modle

5 Dans la zone Nom de fichier, en bas et droite de la fentre,


saisissez le nom affecter la nouvelle base de donnes puis
cliquez sur le bouton Crer.

Figure 1.22 : La saisie du nom de la nouvelle base de donnes

Modles tlchargs partir dOffice Online


Si le modle utilis est tlcharg depuis Office Online, il nest pas prsent
sur lordinateur et doit tre tlcharg avant de pouvoir tre utilis. Le bouton
Tlcharger se substitue alors au bouton Crer.

Figure 1.23 : La nouvelle base de donnes, cre selon le modle choisi, est ouverte dans la fentre
dAccess 2010

36

1. Concepts et manipulations de base

1.5. Fermer une base de donnes


Comme tout fichier, une base de donnes doit tre ferme la fin de
son utilisation. Lopration comprend videmment une phase denregistrement automatique des donnes dans un fichier sur le disque
dur afin de permettre leur rutilisation ultrieure.
Pour fermer la base de donnes en cours dutilisation, cliquez sur
longlet Fichier puis sur Fermer la base de donnes, dans le volet
affich.

Figure 1.24 : La fermeture de la base de donnes

1.6. Ouvrir une base de donnes


Il existe plusieurs mthodes pour ouvrir une base de donnes. La
plus conviviale, si la base a t rcemment utilise, est la suivante :
1 Depuis le mode Backstage, accessible par longlet Fichier, cliquez
sur lun des liens pointant vers lune des dernires bases de
donnes utilises.

Figure 1.25 : Louverture dune base de donnes rcemment


utilise

2 Ces liens, pointant vers les bases de donnes rcemment ouvertes, sont galement proposs depuis longlet Fichier, lorsque le
bouton Rcent est cliqu.
1.6. Ouvrir une base de donnes

37

Figure 1.26 : Les liens proposs


lorsque le bouton Rcent est
cliqu

3 Si le nom de la base de donnes ouvrir nest pas affich dans la


liste des dernires bases utilises, cliquez sur le bouton Ouvrir,
aprs avoir cliqu longlet Fichier (ou utilisez la combinaison de
touches [Ctrl]+[O]).
La bote de dialogue Ouvrir apparat.
4 Dans la bote de dialogue, cliquez sur le lecteur ou sur le dossier
qui contient la base de donnes ouvrir. Slectionnez la base de
donnes, puis cliquez sur le bouton Ouvrir ou double-cliquez directement sur le nom de la base de donnes ouvrir.

Figure 1.27 : Louverture de la


base de donnes

38

1. Concepts et manipulations de base

La recherche dune base de donnes


Pour retrouver rapidement une base de donnes, alors que la bote de
dialogue Ouvrir est affiche, cliquez sur le dossier ou sur le lecteur de lordinateur susceptible de renfermer la base de donnes (un disque dur ou un
lecteur de CD, par exemple). Dans la zone Rechercher, saisissez tout ou partie
du nom de la base de donnes recherche.

Choisir un mode douverture de la base


Access 2010 dispose de plusieurs modes douverture dune base de
donnes. Par dfaut, lorsque le bouton Ouvrir de la bote de dialogue
Ouvrir est activ, la base est ouverte en mode daccs partag. Cela
signifie que tous les utilisateurs peuvent lire et crire simultanment
dans la base.
Pour ouvrir la base de donnes en lecture seule afin de la consulter
sans la modifier, cliquez sur la flche du bouton Ouvrir et choisissez
Ouvrir en lecture seule.

Figure 1.28 : Louverture dune base de donnes en


lecture seule

Si vous souhaitez ouvrir la base de donnes en mode Exclusif,


choisissez Ouvrir en exclusif parmi les options proposes sur la liste
du bouton Ouvrir (les autres utilisateurs ne pourront pas, dans ce cas,
ouvrir la base pendant votre utilisation de celle-ci).
Si vous choisissez la dernire option propose dans la liste du
bouton Ouvrir, intitule Ouvrir en mode lecture seule exclusif, vous
disposerez des mmes fonctionnalits que dans loption prcdente,
mais, de plus, seule la consultation vous sera permise (vous ne
pourrez pas modifier la base).

Compatibilit avec dautres formats de bases de donnes


Le bouton Microsoft Access de la bote de dialogue Ouvrir autorise louverture de fichiers enregistrs dans des formats diffrents du format ACCDB
(mdb, dBASE, Excel, Exchange, Paradox, Sharepoint, etc.). Un Assistant
construit alors les tables Access correspondantes et cre un lien dynamique
avec le fichier source.

1.6. Ouvrir une base de donnes

39

Figure 1.29 : De nombreux


formats de bases de donnes
peuvent tre ouverts

1.7. Dcouvrir linterface dAccess 2010


Avant daller plus loin dans lutilisation du logiciel, dcouvrez son
interface.

Connatre les composants essentiels de linterface


Les principaux composants de linterface dAccess 2010 sont les
suivants :
j

la Barre de titre, en haut de la fentre dAccess 2010, et dans


laquelle le nom de la base de donnes ouverte est indiqu ;

le Ruban. Cette zone, affiche en haut de la fentre dAccess,


renferme plusieurs catgories dlments de contrle du programme. Parmi ceux-ci, citons les onglets de commandes, permettant dinteragir sur le logiciel. Certains de ces onglets sont dits
contextuels car leurs contenus varient en fonction de laction en
cours de ralisation. Le Ruban affiche galement des galeries
(zones daperus permettant dapprcier le futur rsultat, aprs
application dun traitement) ;

Figure 1.30 : Le Ruban dAccess 2010

40

1. Concepts et manipulations de base

La personnalisation du Ruban, une nouveaut dAccess 2010


Il vous est dsormais possible de personnaliser laspect du Ruban de
linterface dAccess (ajouter ou supprimer des onglets et les boutons quils
renferment).
Pour ce faire, cliquez sur Fichier/Options ou oprez un clic droit dans le
Ruban et choisissez Personnaliser le Ruban dans le menu contextuel qui
apparat. La bote de dialogue Options Access, qui est alors affiche, vous
permet de choisir les lments affichs dans le Ruban ainsi que leurs
emplacements.

Figure 1.31 : La personnalisation du Ruban depuis la bote de dialogue Options Access

la barre doutils Accs rapide,


Figure 1.32 : La barre
doutils Accs rapide
qui regroupe les commandes les
plus frquemment utilises, accessibles par de simples clics sur des boutons ;

le volet Tous les objets Access, qui permet daccder aux objets
constituant la base de donnes.

Figure 1.33 : Le volet Tous les objets Access

1.7. Dcouvrir linterface dAccess 2010

41

Connatre les actions proposes dans la barre


doutils Accs rapide et dans le Ruban
Pour connatre la signification des boutons proposs dans la barre
doutils Accs rapide et dans le Ruban, survolez-les avec le pointeur
de la souris sans cliquer. Aprs une seconde environ dimmobilit du
pointeur sur un bouton, une petite zone de texte, nomme "infobulle", est affiche et donne une description succincte de laction
offerte par le bouton survol.

Figure 1.34 : Une infobulle est affiche lors du survol dun


bouton du Ruban

Changer lemplacement de la barre doutils Accs


rapide
La barre doutils Accs rapide renferme un bouton, nomm
Personnaliser la barre doutils Accs rapide, permettant de modifier
lemplacement de la barre doutils et son contenu.
Pour modifier la position de la barre doutils dans linterface, cliquez
sur le bouton Personnaliser la barre doutils Accs rapide et choisissez
Afficher en dessous du ruban ou Afficher au-dessus du ruban dans le
menu qui est alors dvelopp, en fonction de la position que vous
souhaitez affecter la barre doutils.

Figure 1.35 : Le bouton Personnaliser la barre doutils


Accs rapide

42

1. Concepts et manipulations de base

Modifier le contenu de la barre doutils Accs


rapide
Pour modifier le contenu de la barre doutils (cest--dire les boutons
quelle contient) :
1 Cliquez sur le bouton Personnaliser la barre doutils Accs rapide
et choisissez Autres commandes.
La bote de dialogue Options Access apparat alors et la rubrique
Barre doutils Accs rapide y est affiche.
2 Choisissez la catgorie de commandes (Onglet Fichier, Onglet
Aperu avant impression, Onglet Accueil, etc.) dans la liste droulante de la zone Choisir les commandes dans les catgories suivantes
puis cliquez sur la commande devant tre ajoute la barre
doutils, dans la liste prsente sous cette zone.
3 Cliquez sur le bouton Ajouter pour placer la commande slectionne dans la barre doutils (la commande est alors affiche dans la
colonne de droite).
linverse, le bouton Supprimer permet de retirer une commande de
la barre doutils, aprs que celle-ci a t slectionne dans la colonne
de droite.
4 Cliquez sur le bouton OK de la bote de dialogue Options Access.

Figure 1.36 : La rubrique


Personnaliser la barre doutils
Accs rapide de la bote de
dialogue Options Access

1.7. Dcouvrir linterface dAccess 2010

43

Autre mthode daccs la personnalisation de la barre doutils Accs rapide


La rubrique Personnaliser la barre doutils Accs rapide de la bote de
dialogue Options Access est galement accessible par un clic sur longlet
Fichier puis sur le bouton Options dans le menu affich. Dans la bote de
dialogue Options Access, cliquez sur Barre doutils Accs rapide.

Dcouvrir le Volet de navigation


Le Volet de navigation affich sur la gauche de la fentre dAccess 2010 lorsquune base de donnes a t ouverte, les objets qui
composent la base de donnes, rangs selon certaines catgories.

Modifier la taille du Volet de navigation


Pour modifier la largeur du Volet de navigation, il vous suffit de cliquer sur
son bord droit, nomm Barre de redimensionnement, de maintenir le bouton
de la souris enfonc et de glisser la double flche qui apparat vers la droite
ou vers la gauche.

Figure 1.37 : Le redimensionnement du


Volet de navigation
Si la taille du volet a t rduite son maximum, il naffiche plus les catgories dobjets (seule la mention Volet de navigation est affiche verticalement
gauche de la fentre dAccess).
Pour redonner au volet sa taille initiale, cliquez sur le bouton Ouvrir/Fermer la
barre de redimensionnement prsent en haut du Volet de navigation.

44

1. Concepts et manipulations de base

Figure 1.38 : Le bouton Ouvrir/Fermer la


barre de redimensionnement

Autre mthode de modification de la taille du Volet de navigation


Pour modifier la taille du Volet de navigation, il vous est galement possible dutiliser la touche [F11] ou de double-cliquer sur la Barre de redimensionnement place droite du volet.

Masquer ou afficher le Volet de navigation


Vous pouvez choisir de rendre visible ou non le Volet de navigation
en cliquant sur longlet Fichier puis sur le bouton Options qui est alors
affich et enfin en choisissant Base de donnes active dans la bote de
dialogue Options Access. Dcochez ou cochez alors la case Afficher le
volet de navigation la rubrique Navigation. Cette option sera dans ce
cas active au prochain dmarrage du logiciel.

1.7. Dcouvrir linterface dAccess 2010

45

Figure 1.39 : Loption daffichage du volet de navigation

La Barre dtat
La Barre dtat est situe en bas de la fentre dAccess 2010. Son rle
est dafficher des informations spcifiques laction en cours. Elle
renferme galement diffrents boutons utiles pour passer dun mode
daffichage un autre.

Masquer ou afficher la Barre dtat


Vous pouvez choisir de rendre visible ou non la Barre dtat en cliquant sur
longlet Fichier puis sur le bouton Options qui est alors affich. Cliquez
ensuite sur Base de donnes active puis dcochez ou cochez la case Afficher
la barre dtat la rubrique Options de lapplication.

Figure 1.40 : Loption daffichage de la Barre dtat

46

1. Concepts et manipulations de base

Manipuler les objets


Duplication, suppression, changement de nom ou encore de description sont des oprations qui seffectuent de faon identique sur
chacune des familles dobjets dAccess 2010.

Les diffrents classements dobjets proposs dans


le Volet de navigation
Le Volet de navigation propose, dans sa partie suprieure droite, un
bouton permettant de modifier les critres daffichage des objets de
la base de donnes (tous les objets, tables, formulaires, requtes,
etc.) sous forme de catgories ou de groupes.

Figure 1.41 : Les critres daffichage des objets de la base


de donnes, dans le Volet de navigation

Dvelopper ou rduire un groupe dobjets


Pour faire apparatre la liste des objets dun groupe dans le Volet de
navigation, cliquez sur la double flche dirige vers le bas, droite
du nom du groupe. linverse, cliquez sur la double flche dirige
vers le haut, droite du nom du groupe, pour masquer la liste des
objets quil renferme.

Figure 1.42 : Les groupes contenus dans le Volet de


navigation peuvent tre dvelopps ou rduits volont

1.7. Dcouvrir linterface dAccess 2010

47

Autre mthode de rduction ou de dveloppement dun groupe


Dans le Volet de navigation, un groupe peut galement tre dvelopp ou
rduit par un double-clic sur son nom ou par un clic droit sur le groupe.
Choisissez ensuite Rduire le groupe ou Dvelopper le groupe dans le menu
contextuel qui apparat. Les actions de rduction ou de dveloppement peuvent galement tre appliques lensemble des groupes par les menus
Dvelopper tout et Rduire tout prsents dans le menu contextuel.

Figure 1.43 : Le menu contextuel offre une


autre mthode pour rduire ou dvelopper
les groupes

Afficher les objets


La prsentation des objets de la base de donnes est modifiable
selon votre convenance. Vous pouvez ainsi personnaliser cet lment de linterface en ayant recours des icnes ou des listes plus
ou moins dtailles. Des options daffichage vous sont proposes.
j

Laffichage utilisant des icnes. Cliquez du bouton droit sous la


liste des objets prsents dans le Volet de navigation ou sur un
groupe dobjets. Dans le menu contextuel qui apparat, choisissez
Afficher par/Icne.

Figure 1.44 : Le choix dun


affichage utilisant de grandes
icnes

48

1. Concepts et manipulations de base

Laffichage en liste. Cliquez du bouton droit sous la liste des objets


prsents dans le Volet de navigation ou sur un groupe dobjets.
Dans le menu contextuel qui apparat, choisissez Afficher par/Liste.

Figure 1.45 : Le choix dun affichage utilisant des listes


j

Laffichage dtaill. Cliquez du bouton droit sous la liste des objets


prsents dans le Volet de navigation ou sur un groupe dobjets.
Dans le menu contextuel qui apparat, choisissez Afficher par/Dtails.

Figure 1.46 : Le choix dun affichage dtaill

1.7. Dcouvrir linterface dAccess 2010

49

Trier les objets


Pour chacun des affichages dcrits prcdemment, lordre de prsentation
des objets de chaque groupe peut tre modifi par un clic droit sous la liste
des objets prsents dans le Volet de navigation ou sur un groupe dobjets.
Dans le menu contextuel qui apparat, choisissez Ordre de tri puis un critre
de tri des objets (tri croissant, tri dcroissant, nom, type, date de cration,
date de modification).

Figure 1.47 : Le choix


de lordre de prsentation
des objets

Renommer un objet
Pour renommer un objet de la base de donnes :
1 Dans le Volet de navigation, cliquez du bouton droit sur lun des
objets appartenant un groupe (une table, par exemple).
2 Dans le menu contextuel qui apparat, choisissez Renommer.

Figure 1.48 : Le menu contextuel permet


de renommer lobjet

50

1. Concepts et manipulations de base

Utilisation de la touche F2
Cette touche, lorsquelle est active, permet galement de renommer
lobjet slectionn.

Le nom de lobjet apparat en surbrillance.


3 Saisissez un nouveau nom. Validez en utilisant la touche [].

Annuler le changement du nom de lobjet


Pour annuler une modification du nom dun objet, utilisez la combinaison
des touches [Ctrl]+[Z].

Dupliquer un objet
La copie est une opration trs utile lorsque, par exemple, vous
souhaitez raliser une sauvegarde dun objet avant une modification
dlicate ou si vous dsirez crer un objet proche de celui qui est
copi (en modifiant uniquement les caractristiques spcifiques du
nouvel objet afin de le personnaliser).
Voici, titre dexemple, le mode opratoire permettant de dupliquer
une table dans une base de donnes :
1 Aprs avoir vrifi que la table est ferme et dvelopp le groupe
dobjets Tables, dans le Volet de navigation, cliquez du bouton
droit sur lune des tables de la base de donnes ouverte.
2 Dans le menu contextuel qui apparat, choisissez Copier.
3 Cliquez du bouton droit dans le Volet de navigation et choisissez
Coller dans le menu contextuel qui apparat.

Oprer la duplication au moyen des touches du clavier


Lopration de Copier/Coller peut galement tre effectue en utilisant les
touches [Ctrl]+[C] (pour effectuer le Copier) sur lobjet qui doit tre dupliqu
puis les touches [Ctrl]+[V] (pour raliser le Coller).

La bote de dialogue Coller la table sous est affiche.


4 Dans la bote de dialogue, saisissez le nom de la nouvelle table
dans la zone Nom de la table.

1.7. Dcouvrir linterface dAccess 2010

51

5 Si lobjet en cours de duplication est une table, la bote de dialogue


Coller la table sous affiche des options spcifiques. Cochez lune de
celles-ci, en fonction de laction souhaite :
Pour utiliser uniquement la structure de la table copier, cliquez
sur loption Structure seulement sous la rubrique Options.
Pour rcuprer la structure et les donnes de la table copier,
cliquez sur loption Structure et donnes sous la rubrique Options.
Cochez la troisime option, Ajouter les donnes une table, pour
effectuer une copie des donnes dans la table mentionne dans
la zone Nom de la table. La table de destination doit exister et
possder la mme structure que la table copie.

Figure 1.49 : Les options de duplication dune table

Supprimer un objet
Voyez maintenant comment supprimer un objet dans une base de
donnes. Voici, titre dexemple, le mode opratoire permettant de
supprimer une table dans une base de donnes :
1 Aprs avoir vrifi que la table est ferme et dvelopp le groupe
dobjets Tables, dans le Volet de navigation, cliquez du bouton
droit sur lune des tables de la base de donnes ouverte.
2 Dans le menu contextuel qui apparat, choisissez Supprimer.

Autres mthodes de suppression dun objet


Pour supprimer lobjet slectionn dans le Volet de navigation, il vous est
galement possible dutiliser la touche [Suppr].
Vous pouvez galement utiliser le bouton Supprimer, propos dans le groupe
Enregistrements de longlet Accueil du Ruban. Si le bouton napparat pas
dans le Ruban, vous devrez le rendre visible en cliquant sur le groupe
Enregistrements de celui-ci.

Figure 1.50 : Le bouton Supprimer propos dans le Ruban

52

1. Concepts et manipulations de base

La bote de dialogue Microsoft Office Access est affiche.


3 Confirmez la suppression en cliquant sur le bouton Oui.

Figure 1.51 : La confirmation de la suppression de lobjet

Annuler la suppression dun objet


Si un objet a t supprim malencontreusement, utilisez la combinaison
des touches [Ctrl]+[Z] ou encore le bouton Annuler de la barre doutils Accs
rapide.

Saisir la description dun objet


La description, qui peut tre fort utile quand la quantit dobjets
contenus dans la base augmente, est visible uniquement si laffichage dtaill des objets est activ (par un clic droit sous la liste des
objets prsents dans le Volet de navigation ou sur un groupe dobjets puis en choisissant Afficher par/Dtails dans le menu contextuel
qui apparat).
1 Dans le Volet de navigation, cliquez du bouton droit sur lobjet puis
choisissez Proprits dans le menu contextuel qui apparat.
La bote de dialogue Proprits de lobjet saffiche.
2 Dans la bote de dialogue Proprits, saisissez le texte de la description dans la zone Description. Cliquez sur le bouton OK.

Figure 1.52 : La saisie de la description,


dans la bote de dialogue des proprits
de lobjet

1.7. Dcouvrir linterface dAccess 2010

53

Le texte saisi dans la description saffiche dans le Volet de navigation,


sous le nom de lobjet, aprs les zones Cr le et Modifi le.

Masquer un objet de la base de donnes


La case cocher Masqu dans ce groupe de la bote de dialogue
Proprits de lobjet slectionn permet de masquer ce dernier (il
napparat plus alors parmi les autres objets de la fentre de la base
de donnes).
Deux modes daffichage des objets masqus soffrent vous. Lorsque le premier est activ, les objets concerns ne figurent plus dans
le Volet de navigation. Le second mode affiche les objets dsactivs
sous la forme dicnes transparentes.
Pour activer lun ou lautre de ces modes :
1 Cliquez du bouton droit sur la barre de titre du Volet de navigation.
2 Choisissez le menu Options de navigation dans le menu contextuel
qui apparat.

Figure 1.53 : Laccs aux Options de navigation

3 Dcochez ou cochez la case Afficher les objets masqus de la rubrique Afficher les options dans la bote de dialogue Options daffichage.

Figure 1.54 : Le paramtrage du


mode daffichage des objets
masqus

54

1. Concepts et manipulations de base

Utiliser laide dAccess 2010


Comme tous les logiciels Microsoft, Access 2010 dispose dune aide
intgre qui peut se rvler fort utile. Procdez ainsi :
Cliquez sur le bouton Aide sur Microsoft Office Access, symbolis par
un point dinterrogation plac en haut et droite de la fentre
dAccess 2010 (ou appuyez sur la touche [F1] du clavier).

Figure 1.55 : Le bouton Aide sur Microsoft Office Access

La fentre Access Aide est affiche.

Figure 1.56 : La fentre dAide

La fentre daide prsente diffrentes parties, permettant daccder


de plusieurs manires aux sources de documentation proposes par
le logiciel.

1.7. Dcouvrir linterface dAccess 2010

55

Le volet Table des matires, plac dans la partie gauche de la


fentre, prsente de nombreux chapitres ordonns selon une progression pdagogique correspondant celle dun utilisateur dcouvrant le logiciel. Lorsquon clique sur le titre de lun de ces
chapitres, les sous-chapitres qui le composent sont dvelopps en
dessous. Lorsquon clique sur les sous-chapitres, les informations
leur correspondant sont affiches dans la partie droite de la fentre daide.

Afficher et masquer la table des matires


Lors de la lecture dune page daide, il peut tre utile de masquer
temporairement la table des matires, afin de disposer dune surface
plus importante lcran. Utilisez pour ce faire le bouton Masquer la table
des matires, plac dans la barre doutils de la fentre daide (ce bouton se
nomme Afficher la table des matires lorsque la table des matires est
masque).

Une zone de recherche, place en haut et gauche de la fentre


daide, permet lutilisateur de saisir un ou plusieurs mots cls
caractristiques de sa recherche. Lorsquon clique ensuite sur le
bouton Rechercher, les rsultats de la recherche sont affichs dans
la partie droite de la fentre, sous la forme de liens.

Figure 1.57 : Une recherche de documentation, lance depuis la zone de recherche


j

56

Initialement, la barre doutils de la fentre daide renferme les


boutons Prcdent, Avant, Arrter, Actualiser, Accueil, Imprimer,
Modifier la taille de la police, Masquer/Afficher la table des matires,
Ne pas placer sur le dessus/Maintenir sur le dessus, qui facilitent la
navigation et lutilisation de laide.

1. Concepts et manipulations de base

Figure 1.58 : La barre doutils de la fentre daide

1.8. Crer une table


Une base de donnes Access contient toujours au moins une table
dont le rle est, rappelons-le, de permettre lenregistrement structur des informations (une table correspond un sujet de lanalyse).
Rappelons encore le schma structurel de toutes les tables : une
table contient des enregistrements (ou lignes) qui contiennent des
champs (ou colonnes) dans lesquels sont stockes les donnes.
Il existe plusieurs types de champs permettant denregistrer des
donnes de types diffrents. Ainsi, un champ utilis pour enregistrer
le prnom dune personne nest pas de mme type que celui dans
lequel un prix est stock, et une date fait appel un troisime type de
champ.
Les caractristiques de la table ne se limitent pas aux types affects
aux champs. Il est en effet possible daller beaucoup plus loin en
appliquant des rgles de validation qui empchent la saisie de donnes aberrantes (une date de naissance postrieure la date du jour,
par exemple).

Crer une table en mode Cration


Comme sont nom lindique, le mode Cration permet de "crer",
cest--dire de dfinir un objet. Il ne sapplique pas seulement aux
tables : il est employ pour la construction des formulaires, des tats
et des requtes par exemple. Une fois lobjet cr, il peut tre excut (le terme gnralement usit sur Access est "ouvrir").
Vous allez donc maintenant crer votre premire table. Elle sera
modlise sur le sujet des disques.
La cration de la structure dune table est une tape obligatoire avant
la saisie des donnes. La table tant un "rceptacle" dinformations,
vous allez dfinir les champs qui collecteront les renseignements de
manire structure.
Bien quAccess dispose dun mode permettant de crer une table en
entrant des donnes qui permet de se dispenser de ltape de cration de la structure de la table, il est conseill de ne pas y avoir
recours, dans un premier temps du moins, pour deux raisons :

1.8. Crer une table

57

la premire est dordre pdagogique. Ce mode donne lillusion


que la cration de la structure de la table est facultative car une
grille de saisie est affiche et quelle sapparente fort une feuille
de calcul Excel. Le risque dune confusion entre les deux familles
de logiciels (bases de donnes et tableurs) est alors important ;

la seconde raison est que le travail qui na pas t ralis au dbut


doit ltre la fin. Des noms de champs sont crs arbitrairement
par Access (Champ1, Champ2, etc.). Il en va de mme pour les
types des champs (texte, numrique, etc.). Il est donc, dans ce cas,
ncessaire de reprendre la dfinition de ces paramtres par la
suite.

Le mode Cration est le mode le plus frquemment employ car il est


le plus polyvalent. Cest lui que vous aurez recours dans la majorit
des cas. Il vous permet de dfinir lintgralit de la structure de la
table, dajouter, de supprimer ou de personnaliser les champs quelle
renferme.
Le tableau ci-aprs montre la structure de la table crer :
Tableau 1.8 : Structure de la table Disques
Champ

Type de donnes Description

nodisque

NumroAuto

Numro du disque

titre

Texte

Titre du disque

datesortie Date/Heure

Date de sortie du disque

theme

Texte

Thme musical du disque (blues, classique, jazz, mtal, pop,


rap, rock, rythm and blues, varit, soul)

type

Texte

Type du disque (CD-ROM, DVD, vinyle)

prix

Montaire

Prix du disque

Procdez ainsi :
1 Crez une nouvelle base de donnes vide, par longlet Fichier puis
Nouveau/Base de donnes vide/Crer. Enregistrez-la sous le nom
Gestion des disques.accdb par Fichier/Enregistrer la base de donnes
sous, aprs avoir accept la fermeture des objets de la base,
propose dans la bote de dialogue Microsoft Access qui apparat.

Figure 1.59 : La confirmation de la fermeture des objets de la base

58

1. Concepts et manipulations de base

Avertissement de scurit
Access peut afficher un message davertissement de scurit, indiquant
que du contenu actif a t dsactiv, afin de prvenir dventuels risques
potentiels lis aux virus, lorsque la base de donnes renferme du code VBA
notamment. Si un tel message est affich, cliquez sur le bouton Activer le
contenu, propos droite du message de scurit.

Figure 1.60 : Lavertissement de scurit

2 Cliquez sur longlet Crer puis sur le bouton Cration de table du


groupe Tables, prsent dans le Ruban.

Figure 1.61 : Le groupe Tables

Longlet Table1 apparat en mode Cration.

Figure 1.62 : Longlet de cration de la structure de la table

Vous allez utiliser autant de lignes que vous devez crer de champs.
La dfinition dun champ est effectue par :
j

la saisie de son nom dans la premire colonne ;

la dfinition de son type de donnes dans la deuxime colonne ;


1.8. Crer une table

59

la saisie dune description, facultative mais utile lorsque de nombreux champs sont manipuls, dans la troisime colonne ;
la personnalisation ventuelle de ses proprits dans la partie
infrieure de la fentre.

La premire ligne du tableau prcdent, qui dcrit le numro unique


utilis pour identifier un disque dans la table des disques, vous
servira dexemple dillustration de la cration dun champ.
3 Saisissez le nom du premier champ dans la premire cellule de la
colonne Nom du champ, par exemple nodisque.

Figure 1.63 : Longlet de cration de la structure de la table

Rgles respecter pour les noms des champs


Chaque nom doit tre unique dans une table (deux champs ne peuvent
porter le mme nom).
Bien que les espaces et les accents soient autoriss, il est recommand de
ne pas y avoir recours. Les noms de champs seront en effet peut-tre
utiliss ultrieurement dans du code, crit dans un langage de programmation, voire avec dautres tables de caractres, dans dautres langues. Il
sera alors beaucoup plus facile dutiliser des noms de champs nemployant
ni caractres spcifiques la langue franaise, ni espaces. Si la consonance
et lorthographe des noms vous paraissent inadquates pour une prsentation des utilisateurs de la base, nayez aucune inquitude : les noms des
champs ne seront pas vus par les utilisateurs dans vos applications car
vous pouvez les remplacer par les libells de votre choix dans les formulaires et dans les tats.

Dans cet exemple, vous devez disposer dun identifiant unique pour
chaque disque. Afin dviter les risques de saisies de doublons, vous
utiliserez un type de donnes gr automatiquement par Access et
ddi cet emploi : le type NumroAuto.
Par dfaut, le type de donnes propos est Texte.
4 Choisissez le type de donnes du champ dans la deuxime colonne en droulant la liste Type de donnes et en slectionnant
NumroAuto.

60

1. Concepts et manipulations de base

Figure 1.64 : Le choix du type de donnes du champ

Le type de donnes NumroAuto


Vous aurez recours ce type de donnes trs frquemment pour gnrer
automatiquement un numro unique dans un champ (le numro est incrment chaque fois quun nouvel enregistrement est ajout dans la table).
Lunicit des numros gnrs et lincrmentation automatique du numro
font du type de donnes NumroAuto une solution idale pour la cration des
cls primaires dans une table (lutilisation des cls primaires est dcrite plus
loin dans cet ouvrage).

Les types de donnes


Le choix du type de donnes est important car Access ne ralisera pas les
mmes traitements dun type de donnes un autre. Un champ de type texte
pourra, par exemple, tre converti en majuscules alors quun champ de type
numrique pourra tre additionn un autre.

La liste Type de donnes propose un nombre important dlments,


correspondant des types de donnes diffrents auxquels vous
pouvez avoir recours, en fonction des donnes que vous souhaitez
enregistrer dans le champ. Le tableau ci-aprs dcrit ces types de
donnes :
Tableau 1.9 : Les types de donnes dun champ
Type de donnes

Dfinition

Texte

Ce type de champ est utilis pour stocker des chanes de caractres


ou des combinaisons de caractres et de chiffres. Il sagit du type de
champ le plus couramment employ, pour enregistrer des informations
telles que des noms ou des prnoms de personnes. Les champs de
type Texte ne permettent pas les calculs (si un montant hors taxe y est
saisi, il ne sera pas possible dutiliser sa valeur pour dterminer le
montant toutes taxes comprises par exemple). Ce type de champ autorise jusqu 255 caractres (cette valeur maximale peut tre rduite).

1.8. Crer une table

61

Tableau 1.9 : Les types de donnes dun champ


Type de donnes

Dfinition

Mmo

Ce type de champ, qui autorise la saisie dun nombre de caractres


allant jusqu 65 535, est idal pour lenregistrement de grandes chanes de caractres. Les champs Mmo se prsentent comme de petites zones de texte dans lesquelles les retours la ligne sont possibles.
Ils sont parfaitement adapts lenregistrement de commentaires libres.

Numrique

Ce type de champ est utilis pour lenregistrement des donnes numriques, sur lesquelles des calculs peuvent tre effectus (pour les calculs montaires, prfrez-leur le type Montaire, ddi cet usage).

Date/Heure

Ce type de champ est adapt la saisie des dates et des heures.

Montaire

Ce type de champ doit tre employ pour stocker des valeurs montaires. Il empche larrondissement au chiffre suprieur qui peut avoir
lieu lorsque des calculs sont effectus.

NumroAuto

Ce type de champ gnre un numro unique, incrment automatiquement. Les champs de type NumroAuto sont trs souvent employs
pour constituer des champs renfermant des cls primaires dans les
tables.

Oui/Non

Ce type de champ est utilis pour stocker des valeurs boolennes


comme oui/non ou encore vrai/faux.

Objet OLE

Ce type de champ est utilis pour stocker des objets OLE tels que des
documents Word ou des feuilles de calcul Excel, des images, ou encore des sons.

Lien hypertexte

Ce type de champ est utilis pour stocker des liens hypertextes pointant vers dautres applications ou des pages Internet.

Pice jointe

Ce type de champ permet de stocker des fichiers tels que des photos,
des fichiers Office, ainsi que tous les fichiers pouvant tre enregistrs
au format binaire.

Calcul

Ce nouveau type de champ permet dafficher une valeur calcule


partir dautres donnes de la mme table.

Assistant Liste de
choix

Il ne sagit pas proprement parler dun type de champ. Cette option,


propose sur la liste Type de donnes, lance un Assistant permettant
la cration facile dune fonctionnalit qui propose une liste de valeurs
ou qui rcupre une valeur dans une autre table.

Fonctionnement de la numrotation automatique


Lors de la saisie, Access gre automatiquement lincrmentation des
champs de type NumroAuto, de faon irrversible. Si vous supprimez un
enregistrement dans la table ou si vous interrompez la saisie de lenregistrement en cours avec la touche [chap], le numro qui avait t utilis dans cet
enregistrement ne le sera plus jamais.
Si une table contient dix enregistrements et que vous supprimiez le dernier, qui
porte le numro automatique 10, le nouvel enregistrement ajout portera le
numro 11. Vous passerez donc de lenregistrement 9 lenregistrement 11.

62

1. Concepts et manipulations de base

Le numro 10 ne sera plus jamais utilis par Access. Ce principe assure


lunicit du numro qui vous sera fort utile lorsque vous tablirez des relations entre les tables.

Bien que lutilisation de la zone Description soit facultative, il est


recommand de toujours la remplir. En effet, une table bien commente est beaucoup plus facile utiliser, et le contenu de cette zone
apparat dans la barre dtat, lors de la saisie des informations dans
le champ.
5 Saisissez la description du champ dans la troisime colonne, par
exemple Numro du disque.

Figure 1.65 : La saisie de la description du champ

La taille maximale de la zone Description


La taille de la zone Description est limite 255 caractres.

6 Utilisez cette mme mthode pour dfinir chaque champ de la


table.

Figure 1.66 : La structure de la table aprs dfinition des champs

1.8. Crer une table

63

Les proprits des champs peuvent tre personnalises. Les oprations qui sont effectues dans les zones contenues sous les deux
onglets apparaissant en bas de longlet de la table seront dcrites
plus loin dans cet ouvrage.

Fermer et enregistrer une table


La structure de la table a maintenant t dfinie en mode Cration.
Pour que votre travail soit mmoris par Access, vous allez fermer et
enregistrer la table.
1 Pour fermer longlet Table1, cliquez sur le bouton Fermer, symbolis par une croix et positionn en haut et droite de la zone
affichant longlet (ou utilisez la combinaison de touches [Ctrl]+[F4]).
La bote de dialogue Microsoft Office Access saffiche, vous invitant
enregistrer le fichier de la base de donnes.
2 Cliquez sur le bouton Oui de la bote de dialogue.
3 Dans la bote de dialogue Enregistrer sous, dans la zone Nom de la
table, remplacez Table1 par votre propre nom, par exemple, ou
entrez le nom Disques, puis cliquez sur le bouton OK.
Si aucun champ de type cl primaire na t cr dans la structure de
la table, une bote de dialogue apparat, vous avertissant quaucune
cl primaire na t dfinie et vous demandant si vous souhaitez en
crer une maintenant. Vous rpondrez par laffirmative cette question dans la plupart des cas.
4 Dans cet exemple, choisissez de rpondre Non.

Limportance de la cl primaire
Cest un lment trs important. Sans elle, il devient impossible de dfinir des
relations utilisant lintgrit rfrentielle entre les tables. Sauf cas exceptionnel,
vous devrez toujours crer une cl primaire (cest pourquoi Access affiche ce
message). Vous verrez plus loin quil existe plusieurs mthodes pour cela. Aucune
cl primaire nest cre dans cet exemple car le sujet trait ne limpose pas encore
(mais une cl primaire sera bientt ajoute la table).

Enregistrer nouveau la table


Les oprations dcrites dans ce qui prcde supposent que la table est
enregistre pour la premire fois. Dans le cas contraire, pour enregistrer la
nouvelle version de la table avec le mme nom, utilisez la combinaison de
touches [Ctrl]+[S] ou le bouton Enregistrer de la barre doutils Accs rapide ou

64

1. Concepts et manipulations de base

encore cliquez sur longlet Fichier puis sur Enregistrer dans le menu qui
apparat.

1.9. Autres mthodes pour crer


des tables
Bien que le mode Cration soit le plus frquemment utilis pour
crer la structure des tables, Access 2010 dispose dautres modes
assurant cette fonction. Ils sont dcrits dans ce qui suit.

Crer une table en entrant des donnes


Cette mthode permettant de crer une table est le mode Feuille de
donnes. Il nest ici pas ncessaire dexcuter ltape de cration de
la structure de la table. tonnant, puisque lon sait quil nest pas
possible de saisir des donnes dans une table dont la structure na
pas t dfinie. En ralit, Access attribue des noms de champs par
dfaut aux colonnes de la table (Champ1, Champ2, etc.). Les types de
champs sont galement dcids par Access en fonction des premires valeurs saisies (la saisie de la chane de caractres Durand, par
exemple, dclenche automatiquement lemploi du type Texte, alors
que la valeur 832 entrane, elle, la cration dun champ de type
Numrique). Ce mode offre lavantage de permettre la saisie immdiate dinformations dans une table qui na pas encore t cre,
mais il vous faudra de toute faon renommer vos champs ( moins
que vous ne souhaitiez travailler avec des noms de champs aussi peu
significatifs que Champx). De plus, ce mode incite la saisie "tte
baisse" des informations, sans grande rflexion sur la structure des
tables. Or, vous savez maintenant quil est prfrable de rflchir
posment cette structure. Retenez que ce mode est utile lorsque
des informations appartenant toutes un mme sujet (donc faisant
lobjet dune seule table) doivent tre enregistres rapidement.
Le tableau ci-aprs montre les donnes du sujet qui pourra ici servir
dexemple : les informations relatives aux maisons dditions des
disques.
Tableau 1.10 : Exemple de donnes du sujet des maisons ddition de disques
noediteur nom

adresse

cp

35, boulevard Charlemagne

75019 Paris

BGB

ville

1.9. Autres mthodes pour crer des tables

65

Tableau 1.10 : Exemple de donnes du sujet des maisons ddition de disques


noediteur nom

adresse

cp

Le papillon indomptable

137, rue des Ponts

69000 Lyon

ville

La puce lectrique

1 ter, rue Marguerite

34000 Bordeaux

Dcibels

8, place de la Victoire

75010 Paris

La table correspondante aura donc la structure suivante :


Tableau 1.11 : Structure de la table Maisons ddition de disques correspondant au sujet
Nom de champ

Type de donnes

Description

noediteur

NumroAuto

Numro de lditeur

nom

Texte

Nom de lditeur

adresse

Texte

Adresse de lditeur

cp

Texte

Code postal de lditeur

ville

Texte

Ville de lditeur

Vous allez nouveau utiliser la base de donnes Gestion des disques.accdb.

1 Assurez-vous que la base est ouverte.


2

Cliquez sur longlet Crer puis sur Table du groupe Tables,


prsent dans le Ruban.

La table Table1 est affiche en mode Feuille de donnes, initialement


compose des colonnes N et Ajouter un nouveau champ.

Figure 1.67 : La nouvelle table, sa cration,


en mode Feuille de donnes

3 Saisissez dans la premire cellule de la colonne Ajouter un nouveau champ la donne BGB. Utilisez les touches [] ou [] pour
passer la colonne suivante.
La colonne prend le nom Champ1 aprs validation de la saisie de la
premire donne dans la colonne.

Figure 1.68 : Access affecte un nom


gnrique au champ

66

1. Concepts et manipulations de base

Cration de la cl primaire
Vous serez peut-tre surpris de constater que le descriptif du mode opratoire qui suit ne commence pas par la saisie dune premire colonne
(actuellement nomme N et qui sera renomme terme noediteur) correspondant au premier champ qui constitue la cl primaire utilise dans la table.
En effet, celle-ci est gnre automatiquement par Access 2010 lors de la
saisie des donnes.

Les champs manquants vont maintenant tre crs, aprs chaque


validation des donnes ajoutes dans la colonne Ajouter un nouveau
champ, qui est dplace vers la droite chaque ajout dune nouvelle
colonne.
4 Comme vous lavez fait dans la colonne Champ1, saisissez dans la
troisime colonne la donne 35, boulevard Charlemagne. Saisissez
de mme dans la colonne suivante la donne 75019. Saisissez la
donne Paris dans la dernire colonne qui constituera la table.
Les champs Champ2, Champ3 et Champ4 ont t crs automatiquement aprs validation des donnes dans la colonne Ajouter un nouveau champ.

Figure 1.69 : La saisie des donnes de la premire ligne de la table Maisons ddition de disques en
mode Feuille de donnes

5 Vous pouvez de mme ajouter quelques enregistrements complmentaires (correspondant aux lignes du tableau dcrivant les donnes du sujet).
Les noms des en-ttes de colonnes (Champ1, Champ2, Champ3,
Champ4) ne sont pas significatifs. Il est prfrable de les renommer.
6 Cliquez du bouton droit sur le nom de la colonne, Champ1. Choisissez Renommer le champ dans le menu contextuel qui apparat
(voir Figure 1.70).
Le nom de la colonne est affich en vido inverse et saligne
gauche dans sa zone.
7 Saisissez nom au lieu de Champ1. Renommez de la mme manire
les trois autres colonnes, avec les noms respectifs adresse, cp et
ville (voir Figure 1.71).

1.9. Autres mthodes pour crer des tables

67

Figure 1.70 : La colonne Champ1 va tre


renomme

Figure 1.71 : Les nouveaux en-ttes de colonnes de la table des maisons de disques

Pour tudier la structure de la table, il est ncessaire de passer en


mode Cration.
8 Dans le Ruban, cliquez sur longlet Accueil, sur Affichage et sur
Mode Cration.

Figure 1.72 : Lactivation du mode Cration

Access vous propose denregistrer la table au moyen de la bote de


dialogue Enregistrer sous.
9 Saisissez le nom Maisons ddition de disques dans la zone Nom de
la table de la bote de dialogue.

68

1. Concepts et manipulations de base

Figure 1.73 : La saisie du nom de la table, lors de son


enregistrement

Access affiche maintenant la structure de la table. Les noms des


colonnes prcdemment renommes apparaissent dsormais
comme des noms de champs. Les types de donnes des champs ont
t dtermins automatiquement par Access selon les donnes saisies. Remarquez la cl primaire sur la premire ligne. Elle est de type
NumroAuto et porte le nom N (vous pouvez ventuellement renommer ce champ en noediteur, si vous souhaitez rester fidle la
dfinition exacte du sujet).

Figure 1.74 : La structure de la table Maisons ddition de disques

10 Vrifiez la structure de la table gnre automatiquement par


Access et corrigez ventuellement le type des champs, notamment le champ cp qui doit tre de type Texte pour pouvoir recevoir
des donnes telles que 05000 sans que le premier caractre, non
significatif dans un champ numrique, soit supprim. Fermez la
fentre du mode Cration en cliquant sur son bouton Fermer, situ
en haut et droite.

1.9. Autres mthodes pour crer des tables

69

Crer une table en important des donnes


Cette mthode consiste crer la structure dune table en la modlisant depuis une table existante et enregistre dans une autre base
de donnes. Lopration propose diffrentes options dimportation :
il vous est ainsi possible de choisir dimporter ou non les donnes de
la table modle (dans la ngative, seule la structure de la table est
copie).

Les diffrents formats dimportation


Access 2010 permet dimporter une grande quantit de formats de fichiers
externes : Access, Excel, liste PowerPoint, fichiers texte, XML, ODBC, HTML,
Outlook, dBase, Paradox et Lotus.

Le tableau ci-aprs montre la structure de la table crer, modlise


sur le sujet des artistes :
Tableau 1.12 : Structure de la table Artistes
Nom de champ

Type de donnes

Description

noartiste

NumroAuto

Numro de lartiste

nom

Texte

Nom de lartiste

prenom

Texte

Prnom de lartiste

datenaissance

Date/Heure

Date de naissance de lartiste

remarque

Mmo

Commentaire

Vous allez nouveau utiliser la base de donnes Gestion des disques.accdb. Lopration qui va tre ralise ici consiste importer la
structure de la table artistes de la base de donnes Gestion des
vnements.mdb, cre dans une version antrieure dAccess.
1 Assurez-vous que la base de donnes Gestion des disques.accdb
est ouverte.
2 Dans le Ruban, cliquez sur longlet Donnes externes puis sur
Access, dans le groupe Importer et lier.

Figure 1.75 : Le choix du type de


fichier import

70

1. Concepts et manipulations de base

La fentre Donnes externes Base de donnes Access souvre. Elle


affiche un Assistant dont le rle est de vous guider lors de limportation et dont les options varient en fonction du type de fichier
import.
3 Dans la fentre, droite de la zone Nom fichier, cliquez sur le
bouton Parcourir. Choisissez la base de donnes importer dans
larborescence de votre poste de travail qui apparat. Cliquez sur le
bouton Ouvrir.

Figure 1.76 : La fentre Donnes externes Base de donnes Access

4 De retour dans la fentre Donnes externes Base de donnes


Access, choisissez loption Importer des tables, des requtes, des
formulaires, des tats, des macros et des modules dans la base de
donnes active puis cliquez sur le bouton OK.

Source de donnes lie


La seconde option propose dans la fentre Donnes externes Base de
donnes Access se nomme Lier la source de donnes en crant une table
attache. Lorsque cette option est choisie, les modifications apportes aux
donnes dans la table lie (ici en cours de cration) sont reportes dans la
source de donnes dorigine, et rciproquement.

La bote de dialogue Importer des objets apparat.

1.9. Autres mthodes pour crer des tables

71

5 Slectionnez longlet Table dans la bote de dialogue, puis la ou les


tables importer (ici la table Artistes). Cliquez sur le bouton OK.

Figure 1.77 : La bote de dialogue Importer des objets

Importer la structure seule


Par dfaut, Access 2010 importe simultanment la structure et les donnes
de la table modle. Si vous dsirez importer uniquement la structure de la table,
cliquez sur le bouton Options, prsent dans la bote de dialogue Importer des
objets. Cochez loption Dfinition uniquement sous la rubrique Importer les
tables qui apparat dans la partie infrieure de la bote de dialogue.

Figure 1.78 : Loption dimportation de la structure de la table uniquement

72

1. Concepts et manipulations de base

La dernire tape de lAssistant dimportation vous propose denregistrer les tapes dimportation afin de vous permettre de rpter
ultrieurement limportation sans avoir redfinir les paramtres
prcdemment dcrits.
6 Cochez dans ce cas la case Enregistrer les tapes dimportation.

Enregistrer les paramtres dimportation


Si vous cochez la case Enregistrer les tapes dimportation, lAssistant
ouvre une nouvelle page dans la fentre Donnes externes Base de
donnes Access. Il vous est alors possible de nommer la squence denregistrement de paramtres qui vient dtre effectue et de proposer une description de celle-ci. La tche pourra alors ventuellement vous tre rappele par
Outlook ou lance depuis le Ruban par le bouton Importations enregistres
du groupe Importer et lier de longlet Donnes externes.

Figure 1.79 : Lenregistrement des paramtres de limportation

7 Cliquez sur le bouton Fermer.


La table importe (Artistes) apparat maintenant dans la liste des
tables dans le Volet de navigation.

1.9. Autres mthodes pour crer des tables

73

1.10. Cas pratiques


Vous allez maintenant aborder la pratique. Dans cette dernire section, vous mettrez en uvre les notions thoriques que vous venez
de dcouvrir.
Vous commencerez, dans cette premire tude de cas pratiques, par
btir quelques tables que vous continuerez utiliser au fil des chapitres de cet ouvrage, afin de construire une application complte de
gestion et de facturation de livres. Plusieurs mthodes sont utilises
pour la cration des tables, afin dillustrer la partie thorique qui
prcde.

Analyser rapidement les donnes


Vous voici promu au poste danalyste. Votre mission est de dterminer les besoins dune maison ddition en matire de gestion de
donnes.
Afin de conserver ce livre sa cohrence pdagogique, sans laquelle
le lecteur ne pourrait assimiler les notions exposes, certaines parties de lanalyse sont pures. Ainsi, cest dlibrment que nous
avons choisi de ne pas difier toutes les tables, mais seulement
celles dont vous avez besoin ici. Les autres seront cres au fil de ce
livre et en fonction des cas de figure.
Voici la liste simplifie des informations enregistrer :
j

le titre de luvre ;

le nom de lauteur ;
le prnom de lauteur ;
ladresse de courriel de lauteur ;
lanne du copyright de luvre ;
le code ISBN du livre ;
la collection du livre ;
le type du livre ;
la date de sortie du livre ;
le prix du livre ;
les remarques sur le livre ;
le nom du contact (un contact est un client potentiel) ;
le prnom du contact ;
le titre du contact (Monsieur, Madame, Mademoiselle) ;

j
j
j
j
j
j
j
j
j
j
j
j

74

1. Concepts et manipulations de base

j
j
j
j
j
j
j
j
j
j
j

la socit du contact ;
ladresse du contact ;
le code postal du contact ;
la ville du contact ;
le dpartement du contact ;
le pays du contact ;
le numro de tlphone du contact ;
le numro de tlcopie du contact ;
ladresse de courriel du contact ;
le site Internet du contact ;
les commentaires relatifs au contact.

La liste des sujets est la suivante :


Tableau 1.13 : La liste des sujets
Sujet

Numro dindex du sujet

Livres

Auteurs

Contacts

Tableau 1.14 : Les informations enregistrer et leurs sujets correspondants


Donnes stocker

Sujet auquel la donne est affecte

Titre de luvre

Nom de lauteur

Prnom de lauteur

Adresse de courriel de lauteur

Anne du copyright de luvre

Code ISBN du livre

Collection du livre

Type du livre

Date de sortie du livre

Prix du livre

Remarques sur le livre

Nom du contact

Prnom du contact

Titre du contact

Socit du contact

1.10. Cas pratiques

75

Tableau 1.14 : Les informations enregistrer et leurs sujets correspondants


Donnes stocker

Sujet auquel la donne est affecte

Adresse du contact

Code postal du contact

Ville du contact

Dpartement du contact

Pays du contact

Numro de tlphone du contact

Numro de tlcopie du contact

Adresse de courriel du contact

Site Internet du contact

Commentaires relatifs au contact

Crer la base de donnes initiale


Noubliez pas quune table ne peut tre cre si elle nappartient pas
une base de donnes. Commencez donc par crer la base. Vous la
nommerez Livres.accdb.
1 Lancez Microsoft Access 2010 par le menu Dmarrer/Tous les
programmes/Microsoft Office/Microsoft Office Access 2010.
2 Cliquez sur longlet Fichier.
3 Dans le menu qui est affich, cliquez sur Nouveau.
4 Cliquez sur Base de donnes vide, saisissez le nom Livres.accdb
dans la zone Nom de fichier (pensez choisir votre dossier de
travail au moyen du bouton Cherchez un emplacement pour votre
base de donnes, plac droite de la zone Nom de fichier).
5 Cliquez sur le bouton Crer.

Figure 1.80 : La cration de la


nouvelle base de donnes

76

1. Concepts et manipulations de base

La base de donnes Livres saffiche dans la fentre dAccess avec une


table vide (nomme temporairement Table1) ouverte en mode Feuille
de donnes. Laissez cette table ouverte car elle va tre utilise dans
ce qui suit.

Crer la table Auteurs en entrant des donnes


Vous allez construire cette premire table du cas pratique de ce
chapitre en y entrant directement des donnes en mode Feuille de
donnes.
Voici la structure de la table crer (il sagit de la table des auteurs) :
Tableau 1.15 : Structure de la table Auteurs
Nom de champ

Type de donnes

Description

noauteur

NumroAuto

Numro de lauteur

nom

Texte

Nom de lauteur

prenom

Texte

Prnom de lauteur

courriel

Lien hypertexte

Adresse de courriel de lauteur

1 Assurez-vous que la table cre prcdemment est toujours affiche en mode Feuille de donnes.

Si la table a t ferme sans tre enregistre


Si la table vide, gnre automatiquement
par Access la cration de la base de donnes, a
t ferme, crez une nouvelle table en cliquant
sur longlet Crer puis sur longlet Table du
groupe Tables, prsent dans le Ruban.

Figure 1.81 : Crez la table


par le mode Feuille de
donnes

2 Saisissez un nom de famille dans la premire cellule de la colonne


Ajouter un nouveau champ. Utilisez la touche [] pour passer la
colonne suivante. Saisissez-y un prnom. Utilisez nouveau la
touche [] et saisissez une adresse lectronique dans la quatrime
colonne qui prendra le nom Champ3 lorsque vous passerez la
ligne suivante pour y saisir les coordonnes du deuxime auteur.

Figure 1.82 : Saisissez les donnes directement dans la feuille de donnes, sans avoir dfini la
structure de la table

1.10. Cas pratiques

77

3 Pour renommer len-tte de la premire colonne N (cest--dire


changer le nom de ce champ), cliquez du bouton droit sur le nom
de la colonne. Choisissez Renommer le champ dans le menu
contextuel qui apparat.
Le nom de la colonne est affich en vido inverse et saligne
gauche dans sa zone.
4 Saisissez noauteur au lieu de N. Renommez de la mme manire
les trois autres colonnes, avec les noms nom en remplacement de
Champ1, prenom en remplacement de Champ2 et courriel en remplacement de Champ3.

Figure 1.83 : Modifiez les libells des en-ttes des autres colonnes

5 Pour tudier la structure de la table, passez en mode Cration en


cliquant sur longlet Accueil dans le Ruban, puis sur Affichage et
enfin sur Mode Cration. Lorsque Access vous demande denregistrer la table, saisissez Auteurs, puis cliquez sur le bouton OK de la
bote de dialogue Enregistrer sous.
La structure de la table est affiche en mode Cration.
6 Saisissez la description de chaque champ et remplacez galement
le type de donnes Texte du champ courriel par le type de donnes
Lien hypertexte. En effet, le type du champ gnr automatiquement par Access ne correspond pas celui qui vous est ncessaire
pour saisir des adresses lectroniques.

Figure 1.84 : La structure de la table Auteurs est modifie

78

1. Concepts et manipulations de base

7 Fermez la fentre de cration de la structure de la table en cliquant


sur le bouton Fermer (symbolis par une croix droite du nom de
longlet de table) et acceptez lenregistrement des modifications
en cliquant sur le bouton Oui de la bote de dialogue qui apparat.
La table Auteurs est le premier objet de la base affich sur la liste des
tables du Volet de Navigation.

Figure 1.85 : Le premier objet que vous venez


de crer apparat maintenant dans la liste
des tables

Crer les tables Contacts et Livres en mode


Cration
Vous allez ici crer la table des contacts dans le mode Cration. Vous
trouverez le nom de chaque champ, son type de donnes et sa
description dans le tableau suivant :
Tableau 1.16 : Structure de la table Contacts
Nom de champ

Type de donnes

Description

nocontact

NumroAuto

Numro du contact

nom

Texte

Nom du contact

prenom

Texte

Prnom du contact

titre

Texte

Titre du contact

societe

Texte

Nom de la socit du contact

adresse

Texte

Adresse du contact

cp

Texte

Code postal du contact

ville

Texte

Ville du contact

departement

Texte

Dpartement du contact

pays

Texte

Pays du contact

telephone

Texte

Numro de tlphone du contact

telecopie

Texte

Numro de tlcopie du contact

courriel

Lien hypertexte

Adresse de courriel du contact

internet

Lien hypertexte

URL du site Internet du contact

commentaire

Mmo

Commentaires divers

La fentre de la base de donnes Livres est affiche.

1.10. Cas pratiques

79

1 Cliquez sur longlet Crer puis sur Cration de table du groupe


Tables, prsent dans le Ruban.

Figure 1.86 : Vous allez gnrer la structure de la table en mode Cration

Longlet Table1 apparat en mode Cration. Vous allez dfinir le premier champ, nocontact, dans la premire ligne du tableau.
2 Dans la colonne Nom du champ, saisissez nocontact.
3 Dans la colonne Type de donnes, choisissez NumroAuto dans la
liste.

Figure 1.87 : Choisissez le type de donnes


NumroAuto

4 Dans la zone Description, saisissez Numro du contact.


Figure 1.88 : Vous venez de dfinir
le premier champ, nocontact, dans
la structure de la table

5 De la mme faon, dfinissez les autres champs correspondant au


sujet des contacts.

Figure 1.89 : La structure complte de


la table, aprs que vous ayez dfini
tous les champs

80

1. Concepts et manipulations de base

Le choix des types de donnes


Vous tes peut-tre surpris de voir que certains champs, comme celui qui
contient le code postal, sont de type texte et non de type numrique. Cest
une faon simple de traiter le problme du zro non significatif : si vous
saisissez par exemple 05000 comme code postal dans un champ de type
texte, le premier zro sera conserv car il sera considr comme un caractre,
alors quil sera supprim par Access dans un champ de type numrique
puisque, se trouvant en dbut de la valeur, il ne sera pas considr comme
significatif.

6 Fermez Table1 en cliquant sur le bouton Fermer du mode Cration.


Dans la bote de dialogue Microsoft Office Access qui saffiche,
cliquez sur Oui. Dans la bote de dialogue Enregistrer sous, dans la
zone Nom de la table, tapez Contacts.
Une bote de dialogue apparat, vous avertissant quaucune cl primaire na t dfinie et vous demandant si vous souhaitez en crer
une maintenant.
7 Cliquez sur le bouton Non.

Figure 1.90 : Vous refusez la cration de la cl primaire (elle sera effectue plus tard)

La table Contacts est le deuxime objet affich dans le Volet de


navigation.
Vous allez galement utiliser le mode Cration pour crer la table des
livres.
Voici la liste des champs quil vous faut dfinir :
Tableau 1.17 : Structure de la table Livres
Nom de champ Type de donnes Description
nolivre

NumroAuto

Numro du livre

titre

Texte

Titre de luvre

anneecopyright Numrique

Anne du copyright

isbn

Texte

Code ISBN

collection

Texte

Collection (Poche, Superpoche, Titan, Je me lance, Tout


de suite)

1.10. Cas pratiques

81

Tableau 1.17 : Structure de la table Livres


Nom de champ Type de donnes Description
type

Texte

Type (Bureautique, Programmation, Loisirs)

datesortie

Date/Heure

Date de parution du livre

prixHT

Montaire

Prix de vente hors taxes du livre

remarque

Mmo

Commentaire libre sur le livre

8 En utilisant le mme mode opratoire que celui employ pour la


table des contacts, crez la table des livres en mode Cration en
modlisant sa structure sur le tableau qui prcde.

Figure 1.91 : Vous crez la table Livres en mode Cration

Vous allez maintenant dfinir une cl primaire sur nolivre, le premier


champ de la table, de type NumroAuto, la fermeture et lenregistrement de la table.
9 Lorsque vous cliquez sur le bouton Fermer du mode Cration, la
bote de dialogue Microsoft Office Access est affiche. Rpondez
par laffirmative la question vous demandant si vous souhaitez
enregistrer les modifications apportes la structure de la table.
10 Dans la bote de dialogue Enregistrer sous, saisissez Livres dans la
zone Nom de la table puis cliquez sur le bouton OK.
11 Access affiche nouveau la bote de dialogue Microsoft Office
Access et vous demande si vous souhaitez dfinir une cl primaire.
Acceptez en cliquant sur le bouton Oui (la cl est alors cre sur le
champ nolivre, de type NumroAuto).
La table Livres est le troisime objet affich dans le Volet de navigation.
Vous allez, pour finir, ajouter une description chacune des tables.
12 Dans le Volet de navigation, cliquez du bouton droit. Choisissez
Afficher par/Dtails dans le menu contextuel qui apparat.
Aucune description de table nest encore saisie.

82

1. Concepts et manipulations de base

13 Cliquez du bouton droit sur la table Auteurs dans le Volet de


navigation. Choisissez Proprits de la table dans le menu contextuel qui apparat.
14 Saisissez la description Table des auteurs dans la zone Description
de la bote de dialogue Proprits de Auteurs qui apparat. Cliquez
sur le bouton OK de la bote de dialogue.

Figure 1.92 : La saisie de la description


de la table

15 Rptez lopration afin de saisir une description similaire pour


chacune des deux autres tables. Saisissez, par exemple, Table des
contacts (clients) comme description de la table des contacts et
Table des Livres comme description de la table des livres.
Les descriptions des tables apparaissent dsormais, lorsque laffichage est en mode Dtails, dans la fentre de la base de donnes.

Figure 1.93 : Les descriptions sont dsormais affiches


ct de leurs tables respectives

Tlchargement de la base de donnes


Vous retrouverez les bases de donnes Gestion des disques.accdb, Gestion des vnements.mdb et Livres.accdb utilises dans ce chapitre sur le site
de Micro Application (www.microapp.com) dans le dossier Chapitre01.

1.10. Cas pratiques

83

CHAPITRE 2

MANIPULER
LES DONNES
Le mode Feuille de donnes .................................................................................. 87
Rechercher des donnes dans une table ....................................................... 114
Remplacer des donnes dans une table ......................................................... 118
Trier et filtrer les donnes dune table ............................................................. 120
Cas pratique ................................................................................................................. 139

85

La saisie des donnes et la recherche dinformations spcifiques


dans la base de donnes pourraient se rvler de fastidieuses oprations sans les nombreux outils ddis ces traitements proposs
par Access 2010.
Ajouts, suppressions, modifications, dplacements, mais aussi recherches, remplacements et tris sont quelques exemples des sujets
abords dans ce chapitre.

2.1. Le mode Feuille de donnes


Il existe plusieurs mthodes pour accder aux donnes dune table.
Une application finalise utilise presque toujours les formulaires
comme mthode daccs, mais, pendant le dveloppement et les
premiers tests, cest le mode Feuille de donnes qui est le plus
utilis. Il permet laffichage dun grand nombre denregistrements de
la table dans un tableau dont laspect est proche de celui dune feuille
de calcul dExcel. Les enregistrements y sont reprsents en lignes et
les champs en colonnes.

Ouvrir une table


Pour afficher une table en mode Feuilles de donnes, utilisez la
mthode suivante.
Une base de donnes ayant t ouverte, double-cliquez sur le nom
de la table ouvrir, dans le Volet de navigation ou cliquez du bouton
droit sur la table dans le Volet de navigation puis choisissez Ouvrir
dans le menu contextuel qui apparat.

Figure 2.1 : Louverture dune table par le


menu contextuel

2.1. Le mode Feuille de donnes

87

La table est ouverte dans la partie droite de la fentre dAccess, en


mode Feuille de donnes.

Figure 2.2 : La table est ouverte


en mode Feuille de donnes

Basculer du mode Cration au mode Feuille de donnes


Depuis le mode Cration, il est possible de basculer tout moment en
mode Feuille de donnes (afin de saisir des donnes dans la table). Cliquez
pour ce faire sur longlet Accueil puis sur Affichage, dans le Ruban.
Si la table a t modifie en mode Cration, Access vous demandera de lenregistrer avant de vous permettre de retourner en mode Feuille de donnes.

Figure 2.3 : Le bouton Affichage


Pour retourner au mode Cration depuis le mode Feuille de donnes, cliquez
nouveau sur Affichage.

Figure 2.4 : Un simple clic sur le groupe Affichage permet de basculer


du mode Feuille de donnes au mode Cration

Autre mthode de changement de mode


Une autre mthode soffre vous pour passer dun mode un autre :
utiliser les boutons Mode Feuille de donnes, Mode Tableau crois dynamique, Mode Graphique crois dynamique et Mode Cration prsents en bas
et droite de la fentre dAccess 2010, dans la Barre dtat. Les actions des
deuxime et troisime boutons seront explicites plus loin.

Figure 2.5 : Les boutons


proposs dans la Barre
dtat

88

2. Manipuler les donnes

Une feuille de donnes est compose :


j

de lignes reprsentant les enregistrements ;

den-ttes de colonnes qui reprsentent les champs dfinis par


leurs noms (ou leurs lgendes, si celles-ci ont t dfinies) ;

Lgende
La lgende correspond lune des proprits du champ, accessible en
mode Cration par longlet Gnral de la rubrique Proprits du champ (le
recours aux lgendes est dtaill plus loin dans cet ouvrage).

dune ligne de boutons de dplacements, de recherches et de


filtres, en bas de la fentre du mode Feuille de donnes, permettant la navigation entre les enregistrements ;

de nombreux boutons du Ruban permettent deffectuer des traitements dans la feuille de donnes. Ces boutons seront dcrits plus
loin dans ce chapitre.

Figure 2.6 : Les composants de la feuille de donnes

louverture de la feuille de donnes, le pointeur est plac par dfaut


dans le premier champ du premier enregistrement, cest--dire dans
la premire cellule, en haut et gauche de la feuille de donnes.
Lenregistrement en cours est indiqu par une case colore situe
gauche de la ligne concerne, lorsquon clique sur cette ligne. La
ligne correspondant lenregistrement est galement affiche dans
une teinte diffrente de celle des autres lignes et une bordure de
couleur lencadre.

2.1. Le mode Feuille de donnes

89

Figure 2.7 : La ligne de la feuille de donnes correspondant lenregistrement en cours est indique
par Access

Quitter le mode Feuille de donnes


Pour quitter ce mode, cliquez sur le bouton Fermer, symbolis par une
croix, en haut et droite de la feuille de donnes ou utilisez lune des deux
combinaisons de touches [Ctrl]+[W] ou [Ctrl]+[F4].

Ajouter un enregistrement
Pour ajouter un enregistrement dans une table ouverte en mode
Feuille de donnes, utilisez lune des mthodes suivantes :
j

cliquez dans le premier champ vide de la dernire ligne vide puis


saisissez-y des donnes ;

Figure 2.8 : Un nouvel enregistrement est ajout par simple saisie dans la dernire ligne de la feuille
de donnes
j

90

cliquez dans le Ruban sur longlet Accueil puis sur le bouton


Nouveau dans le groupe de boutons Enregistrements ;

2. Manipuler les donnes

cliquez sur le dernier bouton de dplacement, nomm Nouvel


enregistrement (vide), en bas de la fentre du mode Feuille de
donnes ;
Figure 2.9 : Le bouton Nouvel enregistrement (vide)

j
j

utilisez la combinaison des touches [Ctrl]+[+] ;


cliquez sur le bouton Atteindre du groupe Rechercher de longlet
Accueil, puis sur Nouveau.

Pour passer au champ suivant, lors de la saisie, utilisez la touche []


ou la touche [].
Pour passer lenregistrement suivant, arriv en bout de ligne,
utilisez galement la touche [] ou la touche []. Lenregistrement
prsent dans la dernire ligne saisie est alors enregistr automatiquement lors du passage lenregistrement suivant.

Incrmentation des champs NumroAuto


Si le premier champ de la premire colonne fait appel au type de donnes
NumroAuto, comme cest frquemment le cas lorsque le champ doit renfermer un identifiant unique faisant office de cl primaire, aucune saisie nest
attendue par Access de la part de lutilisateur. Commencez donc la saisie au
deuxime champ.
Un champ de type NumroAuto est incrment automatiquement lors de
lajout dun enregistrement. La valeur quil renferme nest pas modifiable.

La saisie des champs de type de donnes Date et heure


Access 2010 permet la saisie des dates dans les champs de type Date et
heure par un simple clic sur un calendrier qui apparat lorsquon clique sur
licne accompagnant la zone de saisie du champ slectionn dans la feuille
de donnes.

Figure 2.10 : La saisie des dates peut seffectuer depuis un


calendrier

2.1. Le mode Feuille de donnes

91

Modifier des donnes


Cliquez dans le champ contenant les donnes que vous voulez modifier, afin de placer le curseur lendroit voulu puis effectuez la
saisie des donnes modifier au moyen du clavier.

Annulation des modifications dans le champ en cours


Pour annuler des modifications effectues dans un champ, alors que ces
modifications nont pas encore t valides par un dplacement ou par
lutilisation de la touche [], utilisez la touche [chap].

Gagner du temps lors de la saisie


Lors de lajout ou de la modification des donnes dun champ, il est
possible de reprendre celles qui sont contenues dans le mme champ de
lenregistrement prcdent en utilisant la combinaison des touches [Ctrl]+[']
(apostrophe).

Forcer lenregistrement dun champ


Lajout ou la modification de donnes dans un champ sont effectifs uniquement lorsque le point dinsertion est dplac sur un autre enregistrement
ou lorsque la feuille de donnes est ferme. Pour enregistrer les donnes de
lenregistrement en cours de saisie ou de modification sans avoir recours aux
actions qui prcdent, activez le bouton Enregistrer de la zone Enregistrements de longlet Outils de table du Ruban (il nest plus possible alors
dannuler la saisie ou la modification par la touche [chap]).

Le tableau suivant rsume les principaux raccourcis clavier utilisables lors de la saisie ou de la modification denregistrements dans
une table.
Tableau 2.1 : Principaux raccourcis clavier disponibles lors de la saisie ou de la modification denregistrements

92

Action

Touches

Atteindre le champ suivant

[] ou []

Atteindre le dbut du champ en cours

[]

Atteindre la fin du champ en cours

[Fin]

Atteindre lenregistrement suivant

[]

Atteindre lenregistrement prcdent

[]

2. Manipuler les donnes

Tableau 2.1 : Principaux raccourcis clavier disponibles lors de la saisie ou de la modification denregistrements
Action

Touches

Atteindre le premier enregistrement

[Ctrl]+[]

Atteindre le dernier enregistrement

[Ctrl]+[Fin]

Ajouter un enregistrement

[Ctrl]+[+]

Raliser des slections


Comme dans tous les logiciels, les slections sont des oprations
qui, si elles sont faciles raliser, nen sont pas moins importantes.

Slectionner des champs


Les principaux modes opratoires qui vous permettront deffectuer
des slections de champs sont dtaills dans ce qui suit :
j

slection partielle des donnes renfermes dans un champ. Placez


le point dinsertion au dbut de la zone slectionner, en maintenant le bouton de la souris enfonc, puis tirez la slection jusqu
la fin de la zone slectionner. La slection apparat en vido
inverse, cest--dire en lettres blanches sur fond noir, dans la
plupart des cas ;
Figure 2.11 : Ici, cest une partie de ladresse qui est
slectionne

slection dun champ entier. Cliquez sur un bord intrieur du


champ. Au survol de cette zone, le pointeur de la souris prend la
forme dune croix blanche ;
Figure 2.12 : Le pointeur forme une croix blanche au survol de la bordure du
champ : il indique ici que le champ renfermant la donne Valrie peut tre
slectionn dun clic

slection de plusieurs champs. Slectionnez le premier, comme


prcdemment, puis tirez la zone aux champs voisins en maintenant le bouton de la souris enfonc. Le pointeur conserve lapparence dune croix blanche pendant lopration ;

Figure 2.13 : La slection de plusieurs champs


avec la souris

2.1. Le mode Feuille de donnes

93

slection dune colonne entire, cest--dire de toutes les valeurs


prises par un champ sur lintgralit de la table. Cliquez sur lentte (ou slecteur de champ) de la colonne. Le pointeur de la souris
prend la forme dune flche noire verticale lorsque la zone dentte est survole ;

Figure 2.14 : La slection dune colonne entire vient dtre


effectue
j

slection de plusieurs colonnes mitoyennes. Cliquez sur le nom de


len-tte de la premire colonne, puis tirez la zone slectionne
en maintenant le bouton de la souris enfonc jusqu la dernire
colonne. Le pointeur de la souris prend lapparence dune flche
noire dirige vers le bas pendant lopration.

Figure 2.15 : La slection de plusieurs colonnes conscutives

94

2. Manipuler les donnes

Slection dun grand nombre de colonnes


Pour slectionner un grand nombre de colonnes conscutives, cliquez sur
len-tte de la premire colonne et maintenez la touche [Maj] enfonce. Utilisez
ventuellement la barre de dfilement horizontale pour visualiser des colonnes napparaissant pas lcran et cliquez sur la dernire colonne intgrer
dans la slection.

Slectionner des enregistrements


Voici maintenant les principaux modes opratoires qui vous permettront de slectionner des enregistrements.
j

Slection dun enregistrement : cest--dire dune ligne. Cliquez en


dbut de ligne sur le slecteur denregistrement (la petite case qui
prcde la ligne). Lors de son survol, le pointeur se transforme en
flche noire dirige vers la droite.

Figure 2.16 : La slection dune ligne (cest--dire dun enregistrement de la table)

Autre mthode de slection dun enregistrement en cours


Pour slectionner la ligne de la cellule active,
cliquez dans le Ruban sur le bouton Slectionner
du groupe Rechercher de longlet Accueil puis
sur Slectionner parmi les commandes affiches.

2.1. Le mode Feuille de donnes

95

Slection de plusieurs enregistrements contigus. Cliquez sur le


slecteur denregistrement du premier enregistrement, maintenez
le bouton de la souris enfonc, puis tendez la zone verticalement
jusquau slecteur du dernier enregistrement inclure dans la
slection.

Figure 2.17 : La slection de plusieurs enregistrements

Slection dun grand nombre de lignes


Cette autre mthode est utile pour slectionner un grand nombre denregistrements conscutifs : cliquez sur le slecteur du premier enregistrement,
maintenez la touche [Maj] enfonce, utilisez ventuellement la barre de dfilement verticale pour visualiser des lignes napparaissant pas lcran et
cliquez sur la ligne correspondant au dernier enregistrement intgrer dans
la slection.

Slection de tous les enregistrements de la table. Cliquez dans


langle suprieur gauche de la feuille de donnes.

Figure 2.18 : La slection de tous les enregistrements de la table

96

2. Manipuler les donnes

Autre mthode de slection de tous les enregistrements


Une autre mthode de slection de tous les
enregistrements de la table consiste cliquer dans le Ruban sur le bouton
Slectionner du groupe Rechercher de
longlet Accueil puis sur Slectionner tout,
parmi les commandes alors affiches.

La mthode de slection la plus rapide


Pour slectionner tous les enregistrements de la table ouverte dans la
feuille de donnes, la mthode la plus rapide consiste utiliser la combinaison des touches [Ctrl]+[A].

Se dplacer dans les enregistrements au moyen


des boutons de dplacement
Les boutons de dplacement sont regroups dans la barre de navigation, au bas de la fentre de la feuille de donnes (ou des formulaires). Ils permettent des dplacements faciles entre les enregistrements de la table.

Figure 2.19 : La barre de


navigation

Ces boutons (et la zone daffichage qui les accompagne) permettent


les oprations suivantes :
j

le dplacement sur le premier enregistrement de la table ;

le dplacement sur lenregistrement prcdent lenregistrement


en cours ;
laffichage du numro de lenregistrement en cours ;

2.1. Le mode Feuille de donnes

97

j
j

le dplacement sur lenregistrement suivant lenregistrement en


cours ;
le dplacement sur le dernier enregistrement de la table ;
la cration dun nouvel enregistrement.

Autre mthode de dplacement parmi les enregistrements


Les oprations dcrites prcdemment peuvent galement tre effectues
depuis le Ruban, en cliquant sur le bouton Atteindre du groupe Rechercher
de longlet Accueil.

Figure 2.20 : Le bouton Atteindre du groupe Rechercher

Supprimer un enregistrement
Pour supprimer un enregistrement de la table, en mode Feuille de
donnes, utilisez la mthode qui suit.
1 Cliquez dans la ligne de lenregistrement supprimer.
2 Dans le Ruban, cliquez sur longlet Accueil puis sur le groupe
Enregistrements. Cliquez sur le bouton Supprimer.
Vous pouvez galement cliquer du bouton droit sur le slecteur
denregistrement et choisir Supprimer lenregistrement dans le menu
contextuel qui est alors affich.

Figure 2.21 : La suppression dun enregistrement par le menu


contextuel

Access affiche une bote de dialogue dans laquelle il vous est demand de confirmer la suppression de lenregistrement.

98

2. Manipuler les donnes

Figure 2.22 : La confirmation


de la suppression de
lenregistrement

3 Confirmez cette opration en cliquant sur le bouton Oui de la bote


de dialogue Microsoft Office Access.

Suppression rapide dune ligne


Une autre mthode permet de supprimer rapidement une ligne. Slectionnez cette dernire en cliquant sur son slecteur denregistrement ( gauche
de la ligne), puis appuyez sur la touche [Suppr] de votre clavier.

Suppression de plusieurs lignes conscutives


Plusieurs lignes peuvent tre supprimes en une seule opration : slectionnez le groupe de lignes supprimer au moyen des slecteurs de lignes
placs gauche des lignes, puis appuyez sur la touche [Suppr] du clavier.

Suppression de donnes dans des tables en relation


Vous dcouvrirez, dans les chapitres suivants, que plusieurs tables peuvent tre mises en relation et donc devenir dpendantes les unes des autres.
La suppression de donnes dans lune des tables ne doit pas tre effectue
intempestivement, sous peine de briser la cohrence des informations renfermes dans la base de donnes. Lapplication de mthodes de contrle de
lintgrit rfrentielle (suppressions en cascade par exemple) apporte une
solution ce problme.

Dfinir la largeur des colonnes et la hauteur


des lignes
La largeur des colonnes et la hauteur des lignes peuvent tre redfinies dun simple clic entre deux en-ttes (ou entre deux cellules
rserves laffichage du slecteur denregistrement). Maintenez le
bouton de la souris enfonc et augmentez ou rduisez la largeur de la
colonne ou la hauteur de la ligne.

2.1. Le mode Feuille de donnes

99

Dfinir exactement la largeur des colonnes et la hauteur des lignes


Il vous est galement possible dexprimer une largeur pour les colonnes
ou une hauteur pour les lignes slectionnes en cliquant sur longlet Accueil
du Ruban puis sur Enregistrements et sur Plus.
Cliquez sur Largeur de colonne ou sur Hauteur de ligne dans le menu qui
apparat (vous obtiendrez le mme rsultat en cliquant du bouton droit sur
len-tte dune colonne ou sur un slecteur denregistrement et en choisissant
respectivement Largeur de colonne ou Hauteur de ligne dans le menu
contextuel qui apparat).
Il ne vous reste qu saisir la largeur que vous souhaitez affecter la colonne
(ou la hauteur la ligne) dans la zone idoine de la bote de dialogue qui est
affiche.

Figure 2.23 : La saisie de la largeur exacte


de la colonne

Ajouter un champ la structure dune table


Un champ manquant la structure de la table peut tre ajout lors de
la saisie des donnes dans une table en mode Feuille de donnes.
1 Cliquez du bouton droit sur len-tte de la colonne avant laquelle la
colonne manquante doit tre insre.
2 Dans le menu contextuel qui apparat, choisissez Insrer une colonne.
Access insre une colonne, nomme Champ1, gauche de la colonne dans laquelle se trouvait le point dinsertion.

Figure 2.24 : Une nouvelle colonne


correspondant un champ a t insre
dans la table

100

2. Manipuler les donnes

Il nest pas conseill de conserver le nom gnrique utilis par


Access comme en-tte de la nouvelle colonne. Pensez renommer
ce champ.
3 Double-cliquez sur le nom de len-tte de la nouvelle colonne,
temporairement appel Champ1. Remplacez-le par un nouveau
nom plus significatif. Validez lopration au moyen de la touche []
ou en cliquant dans lune des cellules de la zone daffichage des
donnes.

Figure 2.25 : Le nouveau champ est renomm

Le nouveau champ est cr.

Modifier le type du champ insr


Si vous souhaitez modifier le type du champ qui vient dtre insr et
passer dun type Texte un type Numrique par exemple ou encore saisir sa
description, utilisez le mode Cration de table en utilisant le bouton Affichage
de longlet Accueil du Ruban.

Certaines modifications de structures sont dsormais possibles en


mode Feuille de donnes
Vous pouvez utiliser des raccourcis depuis le mode Feuille de donnes vers les caractristiques du champ en cours. Il vous est ainsi
possible, par exemple, de modifier le type de donnes et le format du
champ, ainsi que dautres proprits telles que lunicit ou lautorisation de saisie des valeurs nulles qui seront dcrites plus loin dans
cet ouvrage.
Ces oprations sont envisageables depuis longlet contextuel Outils
de table du Ruban, via le groupe Mise en forme de longlet Champs.

Figure 2.26 : La modification dun type de donnes peut tre


effectue en mode Feuille de donnes

Le bouton Plus de champs


Une autre mthode dajout de champs la table propose par Access en
mode Feuille de donnes, consiste cliquer sur le bouton Plus de champs du

2.1. Le mode Feuille de donnes

101

groupe Ajouter et supprimer de longlet Champs du Ruban. Le type de


champ choisi dans la liste est alors insr aprs le champ en cours, dans la
feuille de donnes.

Figure 2.27 : Lajout dun champ depuis le bouton


Plus de champs

Dplacer un champ
Le dplacement de la position dun champ est une modification de
lordre de prsentation des colonnes en mode Feuille de donnes,
sans affectation de la structure de la table (lordre des champs nest
pas modifi lorsquil est consult en mode Cration).
1 Slectionnez la colonne dplacer en cliquant sur len-tte de
cette colonne.
2 Gardez le bouton de la souris enfonc, puis glissez la colonne
lendroit dsir.

Figure 2.28 : Le dplacement de la colonne Prnom

102

2. Manipuler les donnes

Figure 2.29 : La colonne Prnom est dsormais


positionne avant la colonne Nom

Colonnes figes
Une colonne fige ne peut tre dplace. Access permet en effet de
figer la position des colonnes afin dviter des dplacements involontaires et inopportuns. Une colonne peut tre fige en cliquant du
bouton droit sur son en-tte puis en choisissant Figer les champs
dans le menu contextuel qui est affich.

Figure 2.30 : Le menu contextuel permet de


figer une colonne

Une colonne fige est toujours visible, gauche de la fentre, afin de


permettre par exemple lutilisateur de toujours voir les noms des
personnes rpertories dans la table alors quil dplace le point
dinsertion vers la droite, parmi un grand nombre de colonnes, ou
quil utilise la Barre de dfilement horizontale. Comme le dplacement dun champ en mode Feuille de donnes, cette fonctionnalit,
qui facilite la lecture des donnes, naffecte pas la structure de la

2.1. Le mode Feuille de donnes

103

table (le champ correspondant la colonne napparat pas dplac


lorsque la structure de la table est consulte en mode Cration).

Figure 2.31 : La colonne Prnom reste visible, mme lors de lutilisation de la barre de dfilement
horizontale

Pour dplacer une colonne fige, vous devez au pralable la librer,


par un clic droit sur son en-tte puis en choisissant Librer toutes les
colonnes dans le menu contextuel qui apparat.
Il est possible de dplacer plusieurs colonnes contigus simultanment : slectionnez les colonnes concernes puis glissez ces dernires comme dcrit prcdemment.

Renommer un champ
Un champ peut tre renomm depuis le mode Feuille de donnes.
la diffrence de la prcdente manipulation, cette opration affecte la
structure de la table (le nom du champ apparat modifi lorsque la
structure de la table est consulte en mode Cration).
1 Cliquez du bouton droit sur len-tte de la colonne devant tre
renomme.
2 Dans le menu contextuel qui apparat, choisissez Renommer le
champ.
Le nom de la colonne est affich en vido inverse et align gauche
dans sa zone.
3 Saisissez le nouveau nom en remplacement du nom existant.

Renommer plus rapidement une colonne


Vous pouvez double-cliquer sur le nom de len-tte de colonne. Celui-ci
apparat en vido inverse. Il ne vous reste plus qu saisir le nouveau nom.

104

2. Manipuler les donnes

Supprimer un champ dans une table


Comme la prcdente, cette opration, qui consiste supprimer une
colonne, affecte la structure de la table (le nom du champ napparat
plus lorsque la structure de la table est consulte en mode Cration).
1 Cliquez du bouton droit sur len-tte de la colonne supprimer.
2 Dans le menu contextuel qui apparat, choisissez Supprimer le
champ.
Access affiche une bote de dialogue demandant confirmation de la
suppression du champ.

Figure 2.32 : La demande de confirmation de la suppression de la colonne

3 Confirmez la suppression en cliquant sur le bouton Oui de la bote


de dialogue Microsoft Office Access.

Modifier la mise en forme des caractres


La mise en forme des donnes affiches dans une feuille de donnes
peut tre facilement modifie afin damliorer la lecture des informations et de rendre la saisie plus conviviale. La modification affecte
lintgralit de la feuille de donnes en cours.
1 Dans le Ruban, cliquez sur longlet Accueil puis sur lun des boutons du groupe Mise en forme du texte.

Figure 2.33 : Le groupe Mise en forme


du texte

2 Les principales mises en forme qui vous sont proposes affectent :


la police de caractres ;
le style de caractres ;
la taille des caractres ;
le soulignement des caractres ;
la couleur des caractres.

2.1. Le mode Feuille de donnes

105

Figure 2.34 : La modification de la police de caractres

Modifier la mise en forme de toutes les feuilles de donnes


Access 2010 propose galement une modification possible de la mise en
forme applique par dfaut toutes les feuilles de donnes. Pour cela, cliquez
sur longlet Fichier puis sur le bouton Options et enfin Feuille de donnes (de
nombreux paramtres de mise en forme complmentaires des feuilles de
donnes sont alors proposs).

Choisir rapidement une police de caractres


La modification de la police de caractres utilise en mode Feuille de
donnes seffectue en droulant la liste de la zone Police, dans le groupe Mise
en forme du texte du Ruban. Pour choisir rapidement la police dsire dans la
liste, tapez les premiers caractres de son nom.

Personnaliser lapparence de la feuille de donnes


Dans le Ruban, le groupe Mise en forme du texte de longlet Accueil
propose un bouton Mise en forme de la feuille de donnes.

Figure 2.35 : Le bouton Mise en forme de la feuille de donnes du groupe Mise en forme du texte
Lorsquon clique sur ce bouton, la bote de dialogue Mise en forme de la
feuille de donnes est affiche. Elle autorise des modifications esthtiques de
lapparence de la feuille de donnes telles que lapplication dun effet 3D au
pourtour des cellules ou encore la modification de la couleur darrire-plan
ou de celle du quadrillage de celles-ci.

106

2. Manipuler les donnes

Figure 2.36 : La bote de dialogue


Mise en forme de la feuille de
donnes
La rubrique Sens de la bote de dialogue Mise en forme de la feuille de
donnes permet, quant elle, dinverser lordre de prsentation des champs
(cette fonctionnalit vite lutilisation de la barre de dfilement horizontal
lorsquon doit accder aux derniers champs de la table).

Masquer des colonnes


Si la table renferme un grand nombre denregistrements et que
laffichage dune partie dentre eux nest pas ncessaire pour la
ralisation du travail en cours, certaines colonnes peuvent tre temporairement masques afin de diminuer la surface daffichage des
donnes lcran.
1 Slectionnez la ou les colonnes que vous souhaitez masquer.
2 Cliquez du bouton droit sur lune des en-ttes de colonnes slectionnes puis choisissez Masquer les champs dans le menu contextuel qui apparat (ou cliquez sur le bouton Enregistrements de
longlet Accueil du Ruban puis sur Plus et sur Masquer les champs).
(voir Figure 2.37)
Les colonnes masques napparaissent plus dans la feuille de donnes (voir Figure 2.38).

2.1. Le mode Feuille de donnes

107

Figure 2.37 : La colonne va tre masque

Figure 2.38 : La colonne Adresse2, masque, nest plus affiche

Afficher des colonnes masques


Les colonnes masques dans la feuille de donnes peuvent tre
aisment affiches nouveau.
1 Cliquez du bouton droit sur lune des en-ttes de colonnes et
choisissez Afficher les champs dans le menu contextuel qui apparat.
La bote de dialogue Afficher les colonnes est affiche.
2 Cochez les cases correspondant aux colonnes que vous souhaitez
voir nouveau afficher (et dcochez les cases relatives aux colonnes que vous ne voulez pas afficher) puis cliquez sur le bouton
Fermer de la bote de dialogue Afficher les colonnes.

108

2. Manipuler les donnes

Figure 2.39 : Ici, toutes les colonnes de la table seront


affiches

Imprimer des donnes dune table


Access 2010 vous permet dimprimer tout ou partie des donnes
renfermes dans une table.
Afin dviter les pertes de temps et le gaspillage de papier, commencez par vrifier la mise en page du document qui sera imprim.
1 La table tant ouverte en mode Feuille de donnes, cliquez sur
longlet Fichier puis sur Imprimer, affich dans le menu qui apparat. Cliquez sur Aperu avant impression.

Figure 2.40 : Laperu avant impression est lanc

2.1. Le mode Feuille de donnes

109

Lancer plus rapidement lAperu avant impression


Pour lancer lAperu avant impression dun simple clic, vous pouvez ajouter le bouton Aperu avant impression la barre doutils Accs rapide.
Cliquez pour ce faire sur le bouton Personnaliser la barre doutils Accs
rapide, propos droite de la barre doutils, et cochez Aperu avant
impression dans le menu qui est alors dvelopp.

Longlet Aperu avant impression est ouvert dans la fentre dAccess 2010. Les donnes de la table apparaissent dans un aperu
rduit de la feuille, telle quelle sera imprime.

Figure 2.41 : Les donnes de la feuille de donnes sont visibles dans laperu avant impression

Les boutons prsents dans le groupe Mise en page de longlet


Aperu avant impression permettent deffectuer les oprations de
mise en page les plus courantes, telles que le choix dun format de
papier prdfini (bouton Taille) ou le choix de lorientation de limpression (boutons Portrait et Paysage).
Vous pouvez galement utiliser le mode opratoire qui suit. Il vous
permettra de dfinir vos propres paramtres de mise en page (tels
quune taille spcifique de papier ou la dfinition de vos propres
valeurs pour les marges).
2 Cliquez sur le bouton Mise en page du groupe Mise en page ou
cliquez du bouton droit sur la zone daperu. Choisissez Mise en
page dans le menu contextuel qui apparat.

110

2. Manipuler les donnes

Figure 2.42 : Laccs aux donnes personnalises de la mise en page

La bote de dialogue Mise en page est affiche. Elle contient deux


onglets :
longlet Options dimpression permet de dfinir les marges, exprimes en millimtres et appliques sur les quatre bords de la
feuille, et dindiquer si les titres doivent tre imprims ;

Figure 2.43 : Longlet Options dimpression


de la bote de dialogue Mise en page

longlet Page permet quant lui de dfinir lorientation du papier


(portrait ou paysage), sa taille et ventuellement le bac de limprimante qui doit tre utilis.

Figure 2.44 : Longlet Page de la bote de


dialogue Mise en page

2.1. Le mode Feuille de donnes

111

3 Aprs avoir apport dventuelles corrections aux valeurs proposes dans la bote de dialogue Mise en page, fermez celle-ci en
cliquant sur son bouton OK.
la fermeture de la bote de dialogue, de retour dans longlet Aperu
avant impression, laperu avant impression vous permet de contrler le rsultat de la mise en page effectue.
Longlet Aperu avant impression offre galement diffrents contrles
de laffichage, tels que :
j

le nombre de pages simultanment affiches lcran dans


laperu (boutons Une page, Deux pages et Plus de pages du groupe
Zoom) ;

le facteur de grossissement (zoom), paramtrable au moyen de la


zone Zoom, en bas droite de la Barre dtat, compose des
boutons Zoom arrire et Zoom avant ainsi que du curseur de
rglage du grossissement, plac entre ces deux boutons ;

Figure 2.45 : La zone Zoom


j

le pointeur de la souris, qui prend la forme dune petite loupe


lorsquil survole la zone daperu. Il offre alors la possibilit daugmenter ou de rduire le facteur de zoom par un simple clic.

Autre mthode de rglage du facteur de zoom


Le facteur de grossissement peut galement tre dfini en cliquant du
bouton droit sur laperu puis en utilisant le menu Zoom dans le menu

112

2. Manipuler les donnes

contextuel affich. Il vous est alors possible de saisir le facteur de zoom


ou de le choisir parmi une liste de valeurs proposes.

Figure 2.46 : Le facteur de zoom de laperu peut galement tre dfini par le menu contextuel

4 Aprs avoir vrifi laspect de la


future sortie imprime, cliquez
dans le Ruban sur le bouton
Imprimer de longlet Aperu
avant impression.

Figure 2.47 : Le bouton Imprimer

Autres mthodes de lancement de limpression


Vous pouvez galement lancer limpression en utilisant lune des mthodes suivantes :
cliquez du bouton droit sur la zone daperu et choisissez Imprimer dans
le menu contextuel qui apparat ;
j utilisez la combinaison de touches [Ctrl]+[P] au clavier ;
j cliquez sur longlet Fichier puis choisissez Imprimer/Imprimer.
j

La bote de dialogue Imprimer apparat.


5 Dans cette bote de dialogue, dfinissez le nom de limprimante
utiliser dans la zone Nom. Indiquez sous la rubrique Imprimer si la
totalit des informations renfermes dans la table doit tre imprime ou non. En cas dimpression partielle, indiquez les pages
(prcdemment consultes lors de laperu avant impression)

2.1. Le mode Feuille de donnes

113

imprimer. Si vous dsirez nimprimer quune partie spcifique des


donnes renfermes dans la table, slectionnez-les auparavant
dans la feuille de donnes et choisissez loption Enregistrement(s)
slectionn(s). Enfin, entrez le nombre de copies souhait.

Figure 2.49 : Le bouton Fermer laperu de longlet Aperu avant impression

Lancer directement limpression


Limpression peut tre lance directement depuis le mode Feuille de donnes, sans ouverture de la bote de dialogue Imprimer, en cliquant sur le
bouton Imprimer de la barre doutils Accs rapide (pour ajouter ce bouton
la barre Accs rapide, utilisez le bouton Personnaliser la barre doutils Accs
rapide, puis cochez Impression rapide dans le menu qui vous est propos).
Les paramtres dimpression par dfaut seront alors appliqus lors de
limpression.

Figure 2.48 : Limpression rapide

6 Fermez la fentre de laperu en cliquant sur le bouton Fermer


laperu de longlet Aperu avant impression ou cliquez du bouton
droit sur laperu et choisissez Fermer dans le menu contextuel qui
apparat.

2.2. Rechercher des donnes


dans une table
Deux possibilits soffrent vous pour raliser une recherche dans
une feuille de donnes : parcourir la table avec lascenseur (cette
opration est longue et fastidieuse) ou utiliser la fonction de recherches dAccess 2010.
114

2. Manipuler les donnes

1 Affichez la table en mode Feuille de donnes.


2 Placez le pointeur dans la colonne du champ contenant la valeur
rechercher. Ainsi, pour rechercher un code postal spcifique, cliquez dans la colonne renfermant les codes postaux de la table
affiche.
3 Dans le Ruban, cliquez sur le bouton Rechercher du groupe Rechercher de longlet Accueil ou utilisez la combinaison des touches
[Ctrl]+[F].

Figure 2.50 : Le bouton Rechercher

La bote de dialogue Rechercher et remplacer est affiche. Par dfaut,


longlet Rechercher y est activ.
4 Saisissez dans la zone Rechercher la chane de caractres rechercher, ou la valeur numrique, selon le type du champ sur lequel la
recherche seffectue.

Slection de la valeur recherche dans un champ


Pour trouver une valeur dj saisie dans un champ parmi le reste de la
table ou de la colonne sans ressaisir la chane recherche dans la zone
Rechercher de la bote de dialogue Rechercher et remplacer, slectionnez la
valeur dans le champ prsent dans la feuille de donnes avant de cliquer sur
le bouton Rechercher. La valeur slectionne est propose par dfaut dans la
zone Rechercher de la bote de dialogue.

Les options complmentaires suivantes sont facultatives.


5 Choisissez ltendue de la recherche sur la liste Regarder dans (la
recherche peut seffectuer dans la colonne ou dans toute la table).
6 Indiquez sur la liste O de la bote de dialogue la position de la
valeur recherche dans les champs rpondant aux critres de
recherche.
Ainsi, la chane de caractres recherche pourra tre place nimporte o dans le champ ou composer lintgralit de la valeur du
champ, ou encore constituer le dbut seulement de la chane de
caractres renferme dans le champ.

2.2. Rechercher des donnes dans une table

115

Figure 2.51 : La liste O propose trois positions possibles


de la chane recherche dans le champ

7 Indiquez le sens de la recherche sur la liste Sens.


La recherche peut tre oriente vers le haut de la feuille de donnes,
par rapport la position du point dinsertion, vers le bas ou encore
dans les deux sens.
8 Cochez ventuellement la case Respecter la casse.

Casse de caractres
Ce terme dsigne la combinaison des minuscules et des majuscules dans
une chane de caractres. Son origine tymologique remonte une poque
rvolue au cours de laquelle les typographes utilisaient des caractres en
plomb rangs dans des tiroirs nomms casses.

9 Prcisez le respect ou non du format daffichage de certains types


de champs tels que les dates.
Ainsi, la date 11/05/2007 ne sera pas retrouve si elle existe dans la
feuille au format 11-mai-2007 et si la case Rechercher les champs mis
en forme est coche.
10 Cliquez sur le bouton Suivant pour lancer la recherche.

Figure 2.52 : Longlet Rechercher de la bote de dialogue Rechercher et remplacer

Access 2010 affiche une bote de dialogue indiquant que lopration


sest rvle infructueuse si la recherche naboutit pas.

116

2. Manipuler les donnes

11 Cliquez sur le bouton OK de la bote de dialogue et reformulez


votre recherche.
linverse, si un premier champ rpondant aux critres de recherche
est trouv, la chane recherche apparat en vido inverse dans le
champ concern de la feuille de donnes.
12 Dans ce dernier cas, cliquez nouveau sur le bouton Suivant de la
bote de dialogue Rechercher et remplacer, qui est toujours affiche, si vous souhaitez poursuivre la recherche.

Les caractres de substitution


Access met votre disposition plusieurs caractres de substitution, encore
dsigns sous lappellation de "caractres jokers" pour constituer des masques de recherche.
Le point dinterrogation peut tre utilis lors des recherches pour remplacer nimporte quel caractre dans la chane recherche. Ainsi, le masque
de recherche voi?ure affichera indiffremment les mots voiture et voilure.
j Lastrisque se substitue la fin de la chane recherche. Ainsi, le masque
de recherche tab* affichera indiffremment les mots tableau, table et
tabouret.
j Le dise se substitue un chiffre. Ainsi, le masque de recherche 75##0
affichera indiffremment les valeurs 75000 et 75310.
j

Rechercher un champ vierge


Pour effectuer une recherche de champs vierges, non mis en forme,
saisissez Null ou Is Null dans la zone Rechercher. Ne cochez pas la case
Rechercher champs comme formats et slectionnez lentre Champ entier
dans la zone O.

Valeur Null
Une chane nulle est une chane ne contenant aucun caractre.

13 Si vous souhaitez mettre fin lopration, cliquez sur le bouton


Annuler ou sur le bouton Fermer en haut droite de la bote de
dialogue Rechercher et remplacer.

2.2. Rechercher des donnes dans une table

117

Autre mthode de recherche


Vous pouvez galement avoirs recours la zone Rechercher, situe en bas
de la feuille de donnes, pour effectuer vos recherches. La recherche de la
valeur (ou de la chane de caractres) saisie aura lieu alors dans lintgralit
de la table.

Figure 2.53 : La zone


Rechercher de la feuille de
donnes

2.3. Remplacer des donnes


dans une table
Plus puissante que la fonctionnalit qui prcde, le remplacement
permet, comme son nom lindique, de substituer une valeur une
autre.
1 Affichez la table en mode Feuille de donnes.
2 Placez le point dinsertion dans la colonne du champ contenant la
valeur remplacer.
3 Dans le Ruban, cliquez sur le bouton Remplacer du groupe Rechercher de longlet Accueil ou utilisez la combinaison de touches
[Ctrl]+[H].

Figure 2.54 : Le bouton Remplacer

La bote de dialogue Rechercher et remplacer est affiche. Longlet


Remplacer est activ.
4 Saisissez la chane remplacer dans la zone Rechercher.
5 Saisissez la chane qui doit se substituer la valeur recherche
dans la zone Remplacer par.
118

2. Manipuler les donnes

6 Dfinissez ventuellement des options de recherche complmentaires comme prcdemment.

Figure 2.55 : Le remplacement dune chane de caractres par une autre

7 Cliquez sur le bouton Suivant pour lancer la recherche.


Access 2010 affiche une bote de dialogue indiquant que lopration
sest rvle infructueuse si la recherche naboutit pas.
8 Cliquez dans ce cas sur le bouton OK de la bote de dialogue et
reformulez les paramtres de remplacement.
linverse, si un premier champ rpondant aux critres de recherche
est trouv, la chane recherche apparat en vido inverse dans le
champ concern.
Chaque remplacement peut tre soumis une validation. Il vous est
alors demand de confirmer chacun dentre eux et il vous est aussi
possible dinvalider ponctuellement lun deux si vous estimez que la
valeur ne doit pas tre remplace.
9 Pour garder le contrle des remplacements effectus et pouvoir
confirmer chacun deux, cliquez sur le bouton Remplacer.
Le premier remplacement est opr et la recherche continue.
10 Rptez cette opration pour effectuer les autres remplacements
ncessaires. Si, par contre, vous ne souhaitez pas effectuer un
remplacement, cliquez sur le bouton Suivant.
Dans ce cas, le remplacement na pas lieu et la recherche est poursuivie.
La validation des remplacements, si ceux-ci sont nombreux, peut
rapidement se rvler une opration fastidieuse et longue. Aussi
Access propose-t-il une option de validation globale de tous les
remplacements trouvs. Si ce choix se traduit indubitablement par
un gain de temps apprciable, le risque existe cependant de rempla-

2.3. Remplacer des donnes dans une table

119

cer des valeurs qui ne doivent pas ltre. Vous devez donc, dans ce
cas, tre certain que toutes les anciennes valeurs doivent tre remplaces.
11 Pour effectuer tous les remplacements en une seule opration,
cliquez sur le bouton Remplacer tout.
Access affiche alors une bote de dialogue contenant un message
davertissement indiquant lirrversibilit de lopration.
12 Cliquez sur le bouton Oui de la bote de dialogue.

Figure 2.56 : Tous les


remplacements seront effectus en
une seule opration

13 Si vous souhaitez mettre fin lopration, cliquez sur le bouton


Annuler ou sur le bouton Fermer en haut droite de la bote de
dialogue.

Les remplacements sont irrversibles


Laction de remplacement nest par rversible, la diffrence de la plupart
des commandes, par laction de la touche [chap] ou du bouton Annuler de la
bote de dialogue Rechercher et remplacer (les nouvelles donnes sont crites dans la table en remplacement des anciennes qui sont, elles, supprimes).
Veillez donc ne pas oprer de remplacements intempestifs.

2.4. Trier et filtrer les donnes dune table


Tri simple sur une ou plusieurs colonnes contigus, tri avanc sur
des colonnes non mitoyennes, filtrage des donnes : ces oprations
sont indispensables pour lutilisateur dsireux dexploiter limportante quantit dinformations que renfermera rapidement sa base de
donnes.

Effectuer un tri simple


Dans une table, les donnes sont stockes dans le mme ordre que
celui dans lequel sest effectue la saisie des informations : on parle
alors dordonnancement physique. Lorsque les donnes sont prsentes selon dautres critres, on parle dordonnancement logique.

120

2. Manipuler les donnes

Ainsi, une table renfermant une liste de personnes sera, dans la


plupart des cas, prsente par ordre alphabtique sur le nom de
famille, mais devra galement pouvoir tre ordonnance selon les
codes postaux, si les besoins du travail effectuer lexigent. Cette
opration est ralise en quelques clics, en mode Feuille de donnes.
Le tri le plus simple consiste ordonnancer les lignes de la table
selon un ordre tabli par une ou plusieurs colonnes contigus dans
la feuille de donnes. Par exemple, un classement par ordre alphabtique (ou par ordre alphabtique inverse) sera ralis sur des
colonnes de type texte ou un classement par ordre croissant (ou
dcroissant) sera appliqu sur des colonnes de type numrique.
Voici, par exemple, comment effectuer un classement des donnes
dune table selon un ordre croissant ou dcroissant.
1 Affichez la table en mode Feuille de donnes.
Les lignes de la feuille de donnes dune table saffichent dans lordre
de la saisie.
2 Placez le pointeur dans la colonne trier ou slectionnez la colonne en cliquant sur son en-tte. Cliquez sur les boutons Croissant
ou Dcroissant du groupe Trier et filtrer de longlet Accueil ou
cliquez du bouton droit sur la colonne, puis choisissez Trier de A
Z ou Trier de Z A dans le menu contextuel qui apparat.

Figure 2.57 : Le bouton Croissant du groupe Trier et filtrer

Les tris proposs dans le menu contextuel


Les libells indiquant les oprations de tris varient, dans le menu contextuel, lorsquun clic droit est effectu sur la colonne trier, en fonction du type
de donnes renfermes dans la colonne. Ainsi, lorsque les donnes sont des
chanes de caractres (champs de type texte), le menu contextuel affiche Trier
de A Z ou Trier de Z A. Si les champs renferment des dates, les libells
Trier du plus ancien au plus rcent et Trier du plus Rcent au plus ancien sont
affichs. Lorsque les champs contiennent des valeurs numriques, les menus
Trier du plus petit au plus grand et Trier du plus grand au plus petit apparaissent. Dans tous les cas, les actions proposes correspondent respectivement
des tris ascendants (ou croissants) et descendants (ou dcroissants).

2.4. Trier et filtrer les donnes dune table

121

3 Pour que lordre de prsentation des donnes soit mmoris et


utilis la prochaine ouverture de la table, enregistrez la feuille de
donnes en utilisant le bouton Enregistrer de la barre doutils
Accs rapide.

Tri sur plusieurs colonnes


Si vous souhaitez utiliser plusieurs colonnes contigus (renfermant des
noms et des prnoms par exemple) pour effectuer un tri croissant ou dcroissant, slectionnez les colonnes, puis cliquez les boutons Croissant ou
Dcroissant du groupe Trier et filtrer de longlet Accueil. Access trie alors les
donnes en donnant la priorit aux colonnes le plus gauche. Dans lexemple
cit prcdemment, un premier tri sera effectu sur les noms de familles,
puis, si plusieurs dentre eux sont identiques, un second tri sera lanc sur les
prnoms.
De ce fait, si vous dsirez modifier lordre du tri, modifiez en consquence
celui des colonnes.

Annuler le tri
Pour annuler laction du tri et retrouver les enregistrements prsents selon leur ordre de saisie, cliquez
dans le Ruban sur le bouton Supprimer un tri propos dans le groupe Trier
et filtrer de longlet Accueil.

Effectuer un tri avanc


Encore dsign par lappellation de "tri complexe", un tri avanc
permet de raliser un tri sur plusieurs colonnes non contigus sans
tenir compte de lordre des colonnes dans la feuille de donnes.
1 Affichez la table en mode Feuille de donnes.
2 Cliquez sur le bouton Options de filtre avanc du groupe Trier et
filtrer de longlet Accueil puis sur Filtre/tri avanc.

Figure 2.58 : Lapplication dun tri avanc, depuis le


groupe Trier et filtrer
122

2. Manipuler les donnes

Un nouvel onglet, portant le nom de la table suivi de la mention


Filtre1, apparat droite de longlet affichant le nom de la table (le
nouvel onglet porte ainsi le nom ContactsFiltre1, par exemple).

Figure 2.59 : Le nouvel onglet du tri avanc de la table est affich

La fentre Filtre
Comme vous pourrez le constater lorsque vous aurez dcouvert les requtes, plus loin dans cet ouvrage, cette fentre montre que le fonctionnement
dun filtre est trs proche de celui dune requte applique sur une table
unique.

Linterface peut vous paratre un peu droutante si cest la premire


fois que vous la rencontrez.
Les champs de la table trier sont affichs dans la partie suprieure
de la fentre. Dans la partie infrieure, la ligne Champ permet de
dsigner les champs sur lesquels vous voulez travailler. Il est bien
entendu possible de modifier le champ en utilisant la liste droulante.
Les lignes suivantes vous permettent de choisir laction effectuer :
j

la ligne Tri dfinit lordre du tri sur le champ (croissant, dcroissant


ou non tri) ;

la ligne Critres indique, quant elle, le filtre ventuel qui sera


appliqu, si vous souhaitez, par exemple, afficher uniquement les
clients dont le code postal est 54000 et si vous travaillez sur le
champ CodePostal ;

2.4. Trier et filtrer les donnes dune table

123

la ligne Ou vous permet dajouter des critres sur ce champ, par


exemple si vous souhaitez afficher les clients dont le code postal
est 54000, ainsi que ceux dont le code postal est 75000.

Les oprateurs logiques ET et OU


Les ordinateurs naccordent pas la mme signification aux oprateurs
logiques que les tres humains, lorsquils dialoguent en langage courant.
Ainsi, en langage usuel, si vous parlez des habitants de Nancy et de Paris,
vous pouvez dire votre interlocuteur : "Affiche les personnes de Nancy et de
Paris." Si vous dites la mme chose un ordinateur, vous serez peut-tre
surpris de constater quil affiche une liste vide. Un systme informatique (ou
lectronique) naccorde en effet pas la mme signification aux mots. Pour lui,
le mot "et" prend la signification dfinie en algbre de Boole (clbre mathmaticien). Lordinateur interprte donc votre phrase ainsi : "Affiche les personnes dont la ville est la fois Nancy et Paris." Une personne ne pouvant
habiter la fois les deux villes, aucun enregistrement ne rpond la condition, et le rsultat est une liste vide.
Les oprateurs logiques permettent de lier des propositions qui sont des affirmations vrifiables : la proposition 6 = 3 + 3 implique la valeur Vrai, alors
que la proposition 14 < 7 implique une valeur faux (en algbre de Boole,
vrai et faux sont les deux seules valeurs que peut prendre une proposition).
Dans lexemple prcdent, vous devez traduire la phrase par "Affiche les
personnes dont la ville est Nancy ou celles dont la ville est Paris."

Il vous reste dfinir les paramtres du tri avanc dans longlet du tri
avanc.
3 Cliquez dans la ligne Champ de la premire colonne, puis choisissez sur la liste qui apparat le champ sur lequel le premier tri sera
effectu. De mme, choisissez Croissant ou Dcroissant sur la liste
Tri.
4 Rptez lopration dans les colonnes suivantes, autant de fois
quil est ncessaire pour dfinir lordre de priorit des colonnes
dans le tri (la priorit est dfinie par lordre de lecture des colonnes, de gauche droite) (voir Figure 2.60).
5

Cliquez sur le bouton Appliquer le filtre du groupe


Trier et filtrer de longlet Accueil ou cliquez du bouton droit dans
longlet du tri avanc puis choisissez Appliquer le filtre/tri dans le
menu qui apparat pour visualiser le rsultat dans la feuille de
donnes.

Le rsultat est obtenu dans longlet de la table affiche en mode


Feuille de donnes.

124

2. Manipuler les donnes

Figure 2.60 : Ce tri avanc utilise deux


colonnes

6 Si vous dsirez modifier le tri avanc, cliquez sur longlet du tri


avanc ou cliquez nouveau sur le bouton Options de filtre avanc
du groupe Trier et filtrer de longlet Accueil puis sur Filtre/tri avanc.

Supprimer un tri dfini dans longlet filtre


Pour effacer tous les paramtres dfinis dans longlet du tri avanc, cliquez
sur le bouton Options de filtre avanc du groupe Trier et filtrer de longlet
Accueil puis sur Effacer la grille.

Figure 2.61 : La suppression de la dfinition dun tri avanc


Vous pouvez galement cliquer du bouton droit dans longlet du tri avanc
puis choisir Effacer la grille dans le menu qui apparat.
Une troisime mthode consiste utiliser le bouton
Effacer tous les tris du groupe Trier et filtrer, propos
dans longlet Accueil du Ruban en mode Feuille de donnes.

7 Pour fermer longlet de dfinition du tri avanc, cliquez sur son


bouton Fermer, symbolis par une croix en haut et droite de
longlet (ou cliquez du bouton droit dans longlet de dfinition du
tri et choisissez Fermer dans le menu contextuel qui apparat).

2.4. Trier et filtrer les donnes dune table

125

Enregistrement des tris avancs


Lorsque la feuille de donnes est ferme, Access vous propose denregistrer les modifications effectues. Si vous rpondez par laffirmative, le filtre
dfinissant le tri est enregistr et il vous est possible de le retrouver la
prochaine ouverture de la table en mode Feuille de donnes, en cliquant sur
le bouton Options de filtre avanc puis Filtre/tri avanc du groupe Trier et
filtrer de longlet Accueil.

Les limites du tri sarrtent l ou celles du filtre commencent. En


effet, longlet du filtre, utilis dans cette section, autorise la saisie de
critres, qui sont des paramtres restrictifs limitant le nombre denregistrements affichs.
La diffrence entre tris et filtres apparat nettement : les premiers
changent lordre daffichage des enregistrements de la table alors
que les seconds limitent le nombre de lignes de la table affiches,
selon des critres de slection.
Vous trouverez plus loin un descriptif du mode opratoire utiliser
dans un filtre avanc (paramtr dans longlet du filtre) dans lequel
les actions des tris et des filtres sont combines afin dextraire
certaines donnes dune table, en leur appliquant un ordonnancement spcifique.

Appliquer des filtres courants


Voici une premire mthode de filtrage offerte par Access 2010 et
permettant de limiter le nombre denregistrements affichs. Ce type
de filtre est le plus simple que vous puissiez appliquer aux donnes :
celles-ci sont choisies ponctuellement par lutilisateur dans une liste.
1 Affichez la table en mode Feuille de donnes.
2 Placez le pointeur dans la colonne trier ou slectionnez la colonne en cliquant sur son en-tte.
3 Cliquez sur le bouton Filtrer dans le groupe Trier et filtrer de longlet
Accueil.

Figure 2.62 : Le bouton Filtrer du groupe Trier et


filtrer

Une fentre saffiche avec une liste de cases cocher. Elle affiche les
donnes contenues dans la colonne slectionne. Il vous est alors

126

2. Manipuler les donnes

possible de choisir celles que vous dsirez afficher et celles qui


doivent tre masques.

Dfinition rapide dun filtre courant sur une colonne


Un filtre courant peut galement tre rapidement dfini en cliquant sur
lextrmit droite de len-tte de la colonne filtrer (laccs la fonctionnalit
est indiqu par un carr dans la partie droite de len-tte lorsque celui-ci est
survol).

4 Dcochez les valeurs ne devant pas tre affiches (et laissez coches celles qui doivent ltre) puis cliquez sur le bouton OK.

Figure 2.63 : Ici, les donnes vides sont


exclues dans le filtre

Le filtre est appliqu dans la feuille de donnes : seules les donnes


coches prcdemment restent visibles.
Dautres filtres du mme type peuvent tre appliqus sur de nouvelles colonnes de la table. Les actions des diffrents filtres se cumulent
alors.
5 Pour annuler le(s) filtre(s) et retrouver lintgralit des donnes de
la table dans la feuille de donnes, cliquez sur le bouton Supprimer
le filtre dans le groupe Trier et filtrer de longlet Accueil.

Figure 2.64 : Le bouton Supprimer le filtre du groupe Trier


et filtrer

2.4. Trier et filtrer les donnes dune table

127

La suppression dun filtre nentrane pas la suppression de sa dfinition. Il est ainsi possible de lappliquer en cliquant une nouvelle fois
sur le bouton Appliquer le filtre (prcdemment nomm Supprimer le
filtre, lorsque le filtre est appliqu), dans le groupe Trier et filtrer de
longlet Accueil.

Supprimer un filtre courant en conservant les autres


Si plusieurs filtres courants conscutifs ont t appliqus, il vous est
possible de supprimer lun dentre eux tout en conservant laction des autres
filtres. Slectionnez pour cela la colonne correspondant au filtre qui doit tre
supprim puis cliquez sur le bouton Filtrer dans le groupe Trier et filtrer de
longlet Accueil. Choisissez alors Supprimer le filtre dans (nom du champ)
dans la fentre qui saffiche sur longlet de la table.

Figure 2.65 : La suppression


de la dfinition dun filtre
courant

Il vous est aussi possible dexprimer des critres de filtres personnaliss, bass sur lnonciation dune expression.

Expression
Quelle que soit la mthode utilise pour lexprimer, un filtre sappuie
toujours sur lnonc dune expression. Une expression est une combinaison
doprateurs (mathmatiques ou logiques), de constantes, de fonctions, de
noms de champs ou dautres lments de syntaxe tels que des contrles ou
des proprits (ces lments sont dfinis plus loin dans cet ouvrage). Une
expression est value et donne un rsultat utilisable par le filtre.

128

2. Manipuler les donnes

Ainsi, lexpression > 10, applique comme critre de filtre sur un champ
de type numrique, permet de filtrer tous les enregistrements dont le
champ est strictement suprieur la valeur 10.

6 Cliquez sur le bouton Filtrer dans le groupe Trier et filtrer de longlet


Accueil puis sur Filtres de ... (texte, chiffres, ) dans la fentre qui
saffiche (ou cliquez du bouton droit dans une colonne de longlet
de la table en mode Feuille de donnes puis choisissez sur Filtres
de dans le menu contextuel qui apparat). Choisissez loprateur
relationnel adapt au filtre que vous souhaitez mettre en uvre
(Est gal , Diffrent de, Plus petit que, etc.) dans le sousmenu affich. Les libells des sous-menus varient en fonction du
type de donnes de la colonne dans laquelle le curseur se trouve.

Figure 2.66 : Le choix dun critre personnalis

Une bote de dialogue Filtre personnalis saffiche.


7 Saisissez la valeur idoine dans la zone de saisie de la bote de
dialogue puis cliquez sur le bouton OK.

Figure 2.67 : La saisie de la valeur du critre personnalis

2.4. Trier et filtrer les donnes dune table

129

Le filtre est appliqu dans longlet de la table en mode Feuille de


donnes.

Filtrer par slection


La mthode de filtrage des donnes qui suit prsente une variante
par rapport la prcdente en ce sens que la valeur permettant
dexprimer le filtre est slectionne dans la feuille de donnes.
1 Affichez la table en mode Feuille de donnes.
2 Slectionnez tout ou partie du contenu dun champ ou placez le
pointeur dans la cellule dont lintgralit du contenu sera alors
utilise comme critre de filtre.
Vous pouvez utiliser ensuite lune des mthodes suivantes pour
appliquer un filtre par slection.
3 Cliquez sur le bouton Slection dans le groupe Trier et filtrer de
longlet Accueil ou encore cliquez du bouton droit sur la valeur
dans une colonne de longlet de la table en mode Feuille de
donnes, puis slectionnez loprateur relationnel de votre choix
(Egal , Diffrent de, Contient, Ne contient pas, etc.) pour dfinir le
filtre, dans le menu qui apparat.

Figure 2.68 : Le bouton Slection du groupe Trier et filtrer

Les enregistrements filtrs sont affichs dans la feuille de donnes.


Notez alors lactivation dun bouton portant la mention Filtr et qui
est ajout entre les boutons de dplacement et la zone Rechercher
situs en bas de longlet.
4 Pour annuler un filtre, cliquez sur le bouton Supprimer le filtre dans
le groupe Trier et filtrer de longlet Accueil ou cliquez sur le bouton
Filtr, droite des boutons de navigation placs en bas de la feuille
de donnes.

Figure 2.69 : Les


enregistrements de la table
sont filtrs en fonction de la
valeur slectionne

130

2. Manipuler les donnes

Comme prcdemment, la suppression dun filtre nentrane pas la


suppression de sa dfinition. Il est ainsi possible de lappliquer en
cliquant une nouvelle fois sur le bouton Appliquer le filtre dans le
groupe Trier et filtrer de longlet Accueil.

Le filtre hors slection


Access 2003 disposait dun type de filtrage, nomm filtre hors slection
qui nest plus propos sous ce nom partir de la version 2007 dAccess. En
effet, la fonctionnalit, qui pourrait se nommer "filtrage par exclusion", est
dsormais utilisable via loption Ne contient pas, accessible lorsquon clique
sur le bouton Slection.

Filtrer par formulaire


Si elles offrent lavantage dtre extrmement rapides mettre en
uvre, les mthodes qui prcdent prsentent toutefois linconvnient de limiter les possibilits de filtrage au contenu dun seul
champ. Il ne vous est ainsi pas possible de filtrer les enregistrements
dune table correspondant aux personnes habitant Nancy (linformation tant stocke dans un champ Ville par exemple) et dont le nom
est Dupont (cette donne tant, elle, enregistre dans un champ Nom
par exemple).
Cette restriction disparat lors de lutilisation des filtres par formulaires qui utilisent les oprateurs boolens ET et OU.
1 Affichez la table en mode Feuille de donnes.
2 Cliquez sur le bouton Options de filtre avanc du groupe Trier et
filtrer de longlet Accueil puis sur Filtrer par formulaire.

Figure 2.70 : Lapplication dun filtre par


formulaire depuis le groupe Trier et filtrer

2.4. Trier et filtrer les donnes dune table

131

Un onglet, portant le nom de la table suivi de la mention Filtrer par


formulaire, apparat (le nouvel onglet porte ainsi le nom Contacts
Filtrer par formulaire, par exemple).
En bas et gauche de la fentre, le premier onglet, nomm Rechercher, de longlet Filtrer par formulaire permet de dfinir le premier
critre de filtre. Il peut utiliser plusieurs colonnes de la feuille de
donnes. Les conditions dfinies seront alors lies par un oprateurboolen (encore nomm oprateur logique) de type ET. Dans ce cas,
les enregistrements extraits par le filtre devront satisfaire toutes les
conditions dfinies. Ainsi, la chane renferme dans le champ Nom
devra tre gale Dupont et celle renferme dans le champ Ville gale
Nancy ; la "mise faux" de lune de ces conditions tant une condition ncessaire et suffisante pour que lenregistrement soit exclu du
filtre.

Condition
En algbre de Boole, une condition est une proposition vrifiable pouvant
prendre deux tats de vrit. Ainsi, 8 = 2 est une condition, dont la valeur de
vrit est Faux alors que 5 > 2 est une condition dont la valeur de vrit est
Vrai. En revanche, 8 nest pas une condition car cette expression na aucune
valeur de vrit (8 nest ni Vrai ni Faux).

3 Dans longlet Rechercher, cliquez dans la cellule dune colonne de


la premire ligne et choisissez une valeur sur la liste propose (la
liste renferme un exemplaire de chaque valeur contenue dans le
champ). Rptez ventuellement lopration sur dautres colonnes
afin de dfinir dautres conditions.

Figure 2.71 : Le premier critre indique ici que le nom doit tre Dupont et que la ville doit tre Nancy

132

2. Manipuler les donnes

Supprimer la dfinition du filtre par formulaire


Si un filtre est dj cr dans longlet Filtrer par formulaire, cliquez sur le
bouton Options de filtre avanc du groupe Trier et filtrer de longlet Accueil
puis sur Effacer la grille ou cliquez du bouton droit dans longlet du filtre et
choisissez Effacer la grille dans le menu contextuel. Ce menu efface tous les
critres dfinis sous les onglets Rechercher et Ou de longlet Filtrer par
formulaire.

Figure 2.72 : La suppression des critres dfinis


dans longlet Filtrer par formulaire

Imaginez dsormais que vous souhaitiez, outre les habitants de


Nancy nomms Dupont, voir figurer les habitants de Paris sur la liste
des enregistrements filtrs. Un oprateur boolen de type OU vous
est alors ncessaire. la diffrence de loprateur ET, loprateur OU
laisse en effet apparatre les enregistrements, pour peu que lune des
conditions au moins soit vrifie. nonc diffremment, le filtre va
devoir afficher les nancens nomms Dupont ET les parisiens.
4 Pour ajouter une nouvelle condition, lie par un oprateur logique
OU la prcdente, cliquez sur longlet Ou de longlet Filtrer par
formulaire.
Un nouvel onglet apparat et le deuxime onglet, nomm Ou, est
maintenant actif.
5 Comme vous lavez dj fait sous longlet prcdent, cliquez dans
la cellule dune colonne et choisissez une valeur sur la liste propose. Rptez ventuellement lopration sur dautres colonnes afin
de dfinir dautres conditions.

Figure 2.73 : Le deuxime


critre, dfini dans le premier
onglet Ou, indique ici que la
ville doit tre Paris

2.4. Trier et filtrer les donnes dune table

133

Dautres conditions, lies aux prcdentes par des oprateurs logiques OU, peuvent tre, de la mme manire, ajoutes sous longlet
Ou, dun clic lextrmit droite de la zone donglets de longlet
Filtrer par formulaire.
Pour appliquer le filtre, utilisez lune des mthodes suivantes :
6

Cliquez sur le bouton Appliquer le filtre dans le


groupe Trier et filtrer de longlet Accueil ou cliquez du bouton droit
dans longlet du filtre par formulaire. Choisissez Appliquer le
filtre/tri dans le menu qui apparat pour visualiser le rsultat dans
la feuille de donnes.

Figure 2.74 : Les donnes filtres dans la feuille de donnes de la table

Les enregistrements filtrs sont affichs dans la feuille de donnes


de la table. Lapplication du filtre est indique par la mention "Filtr"
ajoute par Access entre les boutons de dplacement et la zone
Rechercher situs en bas de longlet.

Le bouton Filtr
Le libell du bouton Filtr, plac en bas de longlet de la table filtre,
se transforme en Non filtr lorsquon clique dessus. Il annule alors laction
du filtre appliqu sans pour autant effacer la dfinition des paramtres
du filtre.

7 Pour modifier le filtre par formulaire, cliquez nouveau sur le


bouton Options de filtre avanc du groupe Trier et filtrer de longlet
Accueil puis sur Filtrer par formulaire.

134

2. Manipuler les donnes

Supprimer un onglet
Pour supprimer lun des onglets de la partie infrieure de longlet Filtrer
par formulaire, slectionnez longlet supprimer par un clic dans la zone
donglets, puis cliquez du bouton droit dans longlet et choisissez Supprimer
la tabulation dans le menu contextuel qui apparat.

Figure 2.75 : La suppression


de longlet Ou de longlet
Filtrer par formulaire

Fermeture de longlet Filtrer par formulaire


Pour fermer longlet Filtrer par formulaire, cliquez sur le bouton Fermer de
longlet ou cliquez du bouton droit dans longlet Filtrer par formulaire puis
choisissez Fermer dans le menu qui apparat. Les paramtres du filtre ne sont
plus affichs, mais les enregistrements restent filtrs dans la feuille de
donnes.

Figure 2.76 : La fermeture de longlet Filtrer par formulaire

2.4. Trier et filtrer les donnes dune table

135

Comment Access 2010 mmorise-t-il un filtre


Seul le dernier filtre appliqu est mmoris par Access 2010. Le filtre est
enregistr dans les proprits de la table. Vous pouvez le vrifier en ouvrant
la table en mode Cration, puis en cliquant sur le bouton Feuille des
proprits du groupe Afficher/Masquer de longlet Cration.

Figure 2.77 : Le bouton Feuille des proprits de longlet Cration en mode


Cration
La fentre des proprits de la table saffiche dans longlet droite de sa
structure. Dans la ligne Filtre le dernier filtre cr est dfini.

Figure 2.78 : Le dernier filtre appliqu est enregistr dans les proprits de la table

8 Pour supprimer la dfinition de tous les filtres, affichez longlet de


la table en mode Feuille de donnes puis cliquez sur le bouton
Options de filtre avanc du groupe Trier et filtrer de longlet Accueil
puis sur Effacer tous les filtres.

Figure 2.79 : La suppression de la dfinition de


tous les filtres

136

2. Manipuler les donnes

Appliquer un filtre avanc


Tris et filtres peuvent tre combins en une seule manipulation. Vous
allez dcouvrir cette opration, en conclusion de cette section traitant des filtres dAccess.
1 Affichez la table en mode Feuille de donnes.
2 Cliquez sur le bouton Options de filtre avanc du groupe Trier et
filtrer de longlet Accueil puis sur Filtre/tri avanc.
Un nouvel onglet, portant le nom de la table suivi de la mention
Filtre1, apparat droite de longlet affichant le nom de la table (le
nouvel onglet porte ainsi le nom ContactsFiltre1, par exemple).
La premire tape consiste dfinir les paramtres de tri comme
vous lavez fait dans la section Effectuer un tri avanc.
3 Cliquez dans la ligne Champ de la premire colonne. Choisissez
dans la liste qui apparat le champ sur lequel le premier tri sera
effectu. De mme, choisissez Croissant ou Dcroissant dans la
liste Tri. Rptez lopration dans les colonnes suivantes autant de
fois quil est ncessaire pour dfinir lordre de priorit des colonnes dans le tri.

Figure 2.80 : La dfinition des paramtres du tri

2.4. Trier et filtrer les donnes dune table

137

La deuxime tape est celle de la dfinition des paramtres du filtre.


4 Cliquez dans la ligne Critres de chacune des colonnes que vous
dsirez utiliser comme critre de filtre. Saisissez-y des valeurs,
Dupont ou 25 par exemple, ou encore des expressions, <8 par
exemple.
Comme dans les filtrages par formulaire, il vous est possible de lier
des conditions par des oprateurs logiques ET et OU.
5 Pour lier deux conditions par un oprateur ET, placez ces derniers
sur la mme ligne. Utilisez une nouvelle ligne pour les lier par un
oprateur OU.

Figure 2.81 : Aprs avoir tri les


enregistrements par noms, puis
par prnoms, ce filtre avanc limite
laffichage aux nancens nomms
Dupont ainsi quaux parisiens
prnomms Jules

6 Cliquez sur le bouton Appliquer le filtre du groupe Trier et filtrer de


longlet Accueil pour visualiser le rsultat dans la feuille de donnes.

Figure 2.82 : Le bouton Appliquer le filtre

Le rsultat est affich dans la feuille de donnes. Le bouton Filtr est


ajout par Access droite des boutons de dplacement.
7 Pour annuler le filtre, cliquez sur le bouton Supprimer le filtre du
groupe Trier et filtrer ou sur le bouton Filtr de longlet de la table.

138

2. Manipuler les donnes

Figure 2.83 : La dsactivation du filtre

2.5. Cas pratique


Vous allez prsent appliquer les principales notions abordes dans
ce chapitre. Au programme, vous saisirez des donnes, lancerez des
recherches et remplacerez des enregistrements. Vous effectuerez
ensuite un tri alphabtique et un tri avanc, et appliquerez un filtre
par slection, un autre hors slection et un dernier par formulaire.

Saisir des donnes


Reprenez la base de donnes Livres.accdb cre dans le cas pratique
du chapitre prcdent. Vous allez y saisir un enregistrement dans la
table des contacts. Vous pourrez ensuite en ajouter quelques autres,
afin de disposer dun terrain dexprimentation pour les oprations
de manipulation de donnes qui suivront :
1 Ouvrez la base de donnes Livres.accdb.
2 Dans le volet de navigation, double-cliquez sur la table Contacts.
Longlet Contacts apparat. La table Contacts est affiche en mode
Feuille de donnes.
Voici les informations relatives au premier contact que vous allez
saisir dans la premire ligne de la feuille de donnes :

2.5. Cas pratique

139

Tableau 2.2 : Saisie de la premire ligne de donnes de la table Contacts


Nom de la colonne Saisir

Remarque

nocontact

Le numro sera gnr


automatiquement

nom

Turvani

prenom

La

titre

Madame

societe

Agence Tibou

adresse

11, place du Bourg

cp

84000

ville

Avignon

departement

84

pays

France

telephone

06 00 00 00 00

telecopie

04 00 00 00 00

courriel

lea.turvani@agencetibou.com

internet

www.agencetibou.com

commentaire

3 Dans lunique ligne de la colonne nom, saisissez Turvani.


Ds la saisie du nom du contact, la colonne nocontact est incrmente automatiquement. Elle nest pas modifiable car le champ est de
type NumroAuto.
La description du champ que vous avez saisi en mode Cration
saffiche dans la barre dtat, en bas de la fentre dAccess, ici Nom
du contact.

Figure 2.84 : Laffichage de la


table Contacts en mode Feuille
de donnes et la description
du champ Nom dans la barre
dtat

140

2. Manipuler les donnes

4 Le curseur tant toujours dans la colonne nom de la premire


ligne, utilisez la touche [] pour passer dans la colonne suivante
qui stocke les prnoms. Saisissez La.
5 Saisissez les donnes des colonnes suivantes jusqu la colonne
courriel en utilisant les touches [] ou [] pour vous dplacer dune
colonne lautre vers la droite.
La saisie de la colonne courriel prsente quelques particularits.
6 Saisissez lea.turvani dans la colonne courriel puis utilisez la touche [].

Figure 2.85 : La saisie du dbut de ladresse de courriel du contact

Ladresse de courriel que vous venez de saisir est incomplte Le


champ courriel contient un lien hypertexte vers une adresse lectronique du type monnom@.societe.com. Une fois le lien saisi, il se peut que
vous souhaitiez le modifier. Il est logique de tenter deffectuer lopration en cliquant sur le lien. Dans ce cas, le lien, reconnu par Access
comme un lien hypertexte pointant vers une URL, provoque une
tentative douverture du navigateur Internet, tentative se soldant par
un chec, puisque ladresse est incorrecte.
7 Cliquez sur la donne de la colonne courriel.
Une bote de dialogue indiquant une erreur apparat.

Figure 2.86 : Le message


derreur affich par la bote de
dialogue

8 Cliquez sur le bouton OK de la bote de dialogue.


Dans un champ de ce type, deux actions sont possibles : la modification de lorthographe et celle de ladresse vers laquelle pointe ce
lien.
9 Pour modifier lorthographe, si le pointeur nest pas sur le lien
modifier, placez-vous sur le contenu du champ courriel au moyen
des touches de dplacement (en effet, un clic dclencherait le lien
comme vous lavez prcdemment constat). Appuyez sur la tou-

2.5. Cas pratique

141

che [F2] afin de passer en mode ddition, puis corrigez lorthographe de ladresse lectronique.
10 Pour dfinir la cible du lien, cliquez du bouton droit sur celui-ci et
choisissez Lien hypertexte/Modifier le lien hypertexte dans le menu
contextuel qui apparat.

Figure 2.87 : La modification


de la cible dun lien
hypertexte

11 Dans la bote de dialogue Modifier le lien hypertexte, choisissez le


type Adresse de messagerie dans Lier . Dans la zone Adresse de
messagerie, saisissez ladresse e-mail de la personne.
La mention "mailto" vient prcder ladresse dans cette zone.
12 Modifiez ventuellement la zone Texte afficher correspondant au
texte qui sera affich dans le champ.
Vous pouvez en effet afficher dans le champ un libell diffrent de
celui de ladresse e-mail, par exemple La qui pointera vers
lea.turvani@agencetibou.com.
13 Pour ajouter une infobulle, cliquez sur le bouton Infobulle de la
bote de dialogue Modifier le lien hypertexte. Saisissez le texte de
linfobulle dans la zone Texte de lInfobulle dans la bote de dialogue Dfinir une infobulle pour le lien hypertexte, puis cliquez sur le
bouton OK.

Figure 2.88 : La saisie de


linfobulle

142

2. Manipuler les donnes

14 De retour dans la bote de dialogue Modifier le lien hypertexte,


cliquez sur le bouton OK.

Faciliter la saisie dune valeur dans un champ de type Lien hypertexte


Pour viter les dsagrments noncs prcdemment, cliquez du bouton
droit, lors de la saisie dune valeur dans un champ de type Lien hypertexte, et
utilisez le menu Lien hypertexte/Modifier le lien hypertexte ds que le point
dinsertion se trouve dans le champ. La fentre Insrer un lien hypertexte qui
apparat alors autorise en effet une dfinition aise du lien et de ses paramtres.

15 Dans la colonne internet de la feuille de donne, saisissez www.agencetibou.com (ce champ est galement de type Lien hypertexte).
Passez lenregistrement suivant au moyen de la touche [].
Ajoutez quelques enregistrements complmentaires de votre
choix.
16 Fermez la table Contacts.

Rechercher et remplacer un type de livre


Pour poursuivre les tapes suivantes du cas pratique de ce chapitre,
saisissez plusieurs lignes dans la table des livres de la base de
donnes Livres.accdb.

Tlchargement de la base de donnes


Vous trouverez la base de donnes Livres.accdb utilise dans ce chapitre sur
le site de Micro Application (www.microapp.com) dans le dossier Chapitre02.

Vous devez, par exemple, remplacer le type de livre Informatique


gnrale par Informatique pratique. Vous allez donc corriger cette
information dans la table Livres, en mode Feuille de donnes.
Commencez par effectuer une recherche du type de livre Informatique gnrale :

1 Ouvrez la table Livres en mode Feuille de donnes en doublecliquant sur la table dans le volet de navigation.
2 Placez le pointeur dans la colonne type et cliquez sur le bouton
Rechercher de longlet Accueil du Ruban. Saisissez dans la zone
Rechercher de la bote de dialogue Rechercher et remplacer, la
chane Informatique generale (nous avons volontairement introduit

2.5. Cas pratique

143

une faute sur le mot gnrale). Conservez les options proposes


dans les autres zones. Cliquez sur Suivant.

Figure 2.89 : La saisie de la chane de caractres recherche

Une bote de dialogue apparat, vous indiquant que la recherche na


pas abouti ( cause de la faute dorthographe).

Figure 2.90 : La bote de dialogue indiquant que la recherche na pas abouti

Vous allez effectuer une nouvelle recherche en utilisant le caractre


de substitution *.
3 Cliquez sur le bouton OK de la bote de dialogue, puis saisissez
dans la zone Rechercher, la chane Informatique*.
4 Dans la zone Rechercher dans, conservez lentre Champ actuel. Sur
la liste O, choisissez Nimporte o dans le champ et conservez Tout
dans la zone Sens. Cliquez sur Suivant.

Figure 2.91 : Les options de la recherche

144

2. Manipuler les donnes

Cette fois, la recherche aboutit.


Vous allez maintenant remplacer la chane de caractres Informatique
gnrale par Informatique pratique :

5 Cliquez sur longlet Remplacer de la bote de dialogue Rechercher


et remplacer. Dans la zone Remplacer par, saisissez Informatique
pratique (conservez les autres paramtres dj dfinis prcdemment et qui sont proposs par dfaut). Cliquez sur le bouton
Suivant.
Le mot Informatique est contenu dans plusieurs chanes de caractres dfinissant les types des livres. Vous devez donc garder le
contrle des remplacements effectus afin de raliser uniquement
des remplacements ponctuels, lorsque ceux-ci sont ncessaires.
6 Pour chaque remplacement propos par la bote de dialogue
Rechercher et remplacer, utilisez le bouton Suivant lorsque vous
souhaitez ne pas effectuer le remplacement ou le bouton
Remplacer lorsque le remplacement doit avoir lieu.

Figure 2.92 : Le remplacement va tre appliqu

Lorsque toutes les donnes susceptibles dtre remplaces ont t


examines, une bote de dialogue indique la fin de lopration.

2.5. Cas pratique

145

Figure 2.93 : Le remplacement nest pas effectu

7 Cliquez sur le bouton OK de la bote de dialogue, puis sur le


bouton Annuler ou Fermer de la bote de dialogue Rechercher et
remplacer.

Trier des livres


Vous allez maintenant raliser deux tris parmi la table des livres : lun
simple, lautre avanc.

Appliquer un tri croissant


Dans ce premier exemple, vous allez raliser un tri par ordre alphabtique.
1 Affichez la table Livres en mode Feuille de donnes.
Les lignes de la feuille de donnes de la table Livres saffichent dans
lordre de la saisie. Vous allez maintenant les classer par ordre
alphabtique sur le titre des livres.
2 Placez le pointeur dans la colonne titre ou slectionnez la colonne
en cliquant sur son en-tte. Cliquez sur les boutons Croissant du
groupe Trier et filtrer de longlet Accueil du Ruban. Vous pouvez
galement cliquer du bouton droit sur len-tte de la colonne et
choisir Trier de A Z dans le menu contextuel qui apparat. Il est
aussi possible de cliquer sur la flche droite dans len-tte de la
colonne titre puis de choisir Trier de A Z.

146

2. Manipuler les donnes

Figure 2.94 : Les livres sont tris par ordre alphabtique sur leurs titres

Appliquer un tri avanc


Soyez maintenant un peu plus exigeant. Puisque certains livres sont
de mme type et de mme collection, vous allez effectuer un classement par ordre alphabtique ordonnanc de la manire suivante : le
type, puis la collection, puis le titre du livre.
Vous allez donc raliser un tri avanc sur les colonnes type, collection
et titre qui dtermineront les critres de tri. De cette faon, les livres
du mme type seront regroups puis classs par collection au sein
dun type donn. Enfin, pour chaque regroupement douvrages
dune collection dans un type donn, ils seront tris selon leurs titres.
1 Vrifiez que la table Livres est ouverte en mode Feuille de donnes.

2.5. Cas pratique

147

2 Cliquez sur le bouton Options de filtre avanc du groupe Trier et


filtrer de longlet Accueil puis sur Filtre/tri avanc.
Longlet LivresFiltre1 apparat droite de longlet de la table.
3 Si un filtre est dj dfini dans la fentre LivresFiltre1, cliquez sur le
bouton Options de filtre avanc du groupe Trier et filtrer puis sur le
bouton Effacer la grille pour le supprimer.

Figure 2.95 : La suppression de la dfinition


dun tri

4 Dans la fentre LivresFiltre1, cliquez dans la ligne Champ de la


premire colonne, choisissez le champ type sur la liste des champs
et Croissant sur la liste Tri.

Figure 2.96 : Le premier tri est effectu sur le champ type

5 Cliquez dans la ligne Champ de la deuxime colonne. Choisissez le


champ collection sur la liste des champs et Croissant sur la liste Tri.

148

2. Manipuler les donnes

Figure 2.97 : Le champ Collection est utilis pour effectuer


le tri

6 Cliquez de mme dans la ligne Champ de la troisime colonne.


Choisissez le champ titre sur la liste des champs et Croissant sur la
liste Tri. Une flche dirige vers le haut apparait dans chacune des
en-ttes des trois colonnes utilises dans le tri avanc.

Figure 2.98 : Le tri est effectu sur trois


champs

7 Cliquez sur le bouton Appliquer le filtre du groupe Trier et filtrer de


longlet Accueil pour visualiser le rsultat dans la feuille de donnes de la table.

Figure 2.99 : Les lignes sont tries selon le type, la collection et le titre du livre, par ordre
alphabtique

2.5. Cas pratique

149

8 Pour fermer longlet LivresFiltre1 qui est masqu par la feuille de


donnes de la table, cliquez sur ce dernier puis sur le bouton
Fermer de longlet LivresFiltre1.

Retrouver lordre initial de saisie


Pour que les lignes retrouvent leur ordre initial, celui
de la saisie, cliquez sur le bouton Effacer tous les tris
du groupe Trier et filtrer de longlet Accueil.

Filtrer des livres


Aprs ces premires oprations de tri, vous allez raliser quelques
filtrages. Vous continuerez utiliser pour cela la table des livres.

Filtrer par slection


Vous souhaitez extraire les livres de type bureautique. Pour cela,
vous appliquerez un filtre par slection.
1 Affichez la table Livres en mode Feuille de donnes.
2 Placez le pointeur dans une cellule de la colonne type contenant le
mot Bureautique.
3 Cliquez sur le bouton Slection dans le groupe Trier et filtrer de
longlet Accueil puis choisissez Est gal Bureautique dans le
menu affich.

Figure 2.100 : La cration du filtre par slection

Seuls les enregistrements filtrs sont dsormais affichs dans la


feuille de donnes.

150

2. Manipuler les donnes

Figure 2.101 : Aprs application du filtre, les enregistrements correspondant au type Bureautique
sont les seuls affichs

Pour supprimer lapplication du filtre et retrouver


la totalit des enregistrements dans la feuille de
donnes, cliquez sur le bouton Activer/Dsactiver le filtre dans le
groupe Trier et filtrer de longlet Accueil.

Imaginez maintenant la situation inverse : vous souhaitez afficher


tous les livres, lexception des livres de type bureautique.
5 Placez le pointeur dans une cellule de la colonne type contenant le
mot Bureautique.
6 Cliquez sur le bouton Slection dans le groupe Trier et filtrer de
longlet Accueil. Choisissez Ne contient pas Bureautique dans le
menu affich.
Seuls les enregistrements filtrs sont dsormais affichs dans la
feuille de donnes.

Figure 2.102 : Tous les enregistrements seront affichs, lexception des livres de type bureautique

2.5. Cas pratique

151

7 Pour mettre fin au filtre affich de la table Livres, cliquez sur le


bouton Activer/Dsactiver le filtre dans le groupe Trier et filtrer de
longlet Accueil.

Filtrer par formulaire


Vous souhaitez dsormais afficher les livres de lanne 2005 ainsi
que tous ceux de lanne 2006. Vous emploierez donc un filtre par
formulaire avec multicritres.
1 Affichez la table Livres en mode Feuille de donnes.
2 Cliquez sur le bouton Options de filtre avanc du groupe Trier et
filtrer de longlet Accueil puis sur Filtrer par formulaire.

Figure 2.103 : Un filtre par formulaire est lanc

Longlet Livres : Filtrer par formulaire est affich.


3 Cliquez sur le bouton Options de filtre avanc du groupe Trier et
filtrer puis sur le bouton Effacer la grille, si un filtre a dj t cr,
afin de leffacer.

Figure 2.104 : Leffacement dun ventuel filtre prcdemment dfini

Pour mieux comprendre laction du filtre, le mieux est de raliser


lopration en deux tapes. La premire sera de limiter laffichage
aux livres de lanne 2005 :
4 Dans longlet Rechercher de longlet Livres : Filtrer par formulaire,
cliquez dans la cellule de la colonne anneecopyright et choisissez
2005 sur la liste propose.

152

2. Manipuler les donnes

Figure 2.105 : La dfinition du premier


critre du filtre sous longlet Rechercher

5 Avant de dfinir les autres critres, visualisez le rsultat en appliquant le filtre. Cliquez sur le bouton Activer/Dsactiver le filtre du
groupe Trier et filtrer de longlet Accueil.
Pour ajouter les livres de lanne 2006 la liste, vous devez modifier
le filtre dans longlet Livres : Filtrer par formulaire.
6 Cliquez sur le bouton Options de filtre avanc du groupe Trier et
filtrer de longlet Accueil puis sur Filtrer par formulaire.
7 Cliquez sur longlet Ou de longlet Livres : Filtrer par formulaire,
puis cliquez dans la cellule de la colonne anneecopyright et choisissez 2006 dans la liste propose.

Figure 2.106 : La dfinition des


critres du filtre sous longlet Ou

8 Cliquez sur le bouton Appliquer le filtre du groupe Trier et filtrer de


longlet Accueil.

Figure 2.107 : Les livres de


lanne 2005 ainsi que ceux
de lanne 2006 sont
maintenant affichs dans la
feuille de donnes

9 Pour retrouver tous les enregistrements de la table Livres, cliquez


sur le bouton Activer/Dsactiver le filtre dans le groupe Trier et
filtrer de longlet Accueil.

2.5. Cas pratique

153

CHAPITRE 3

CONSTRUIRE
UNE STRUCTURE
DE TABLE OPTIMALE
Manipuler les champs ............................................................................................. 157
Exploiter les proprits des champs ................................................................ 164
Appliquer des masques de saisie ...................................................................... 179
Utiliser les listes de choix ...................................................................................... 186
Appliquer des rgles de validation ................................................................... 196
Indexer les donnes ................................................................................................. 205
Cas pratique ................................................................................................................. 209

155

ce stade, vous savez maintenant crer des tables, y saisir et en


extraire des donnes. Vous allez dcouvrir dans ce chapitre quune
optimisation de la structure des tables vous fera gagner un temps
apprciable, facilitera la saisie et empchera certaines erreurs.
Vous apprendrez donc manipuler les champs, au sein de la structure dune table, en mode Cration, utiliser au mieux les principales
proprits des champs, employer des listes de saisie ou encore
appliquer des rgles de validation sur les champs et les tables.

3.1. Manipuler les champs


Le mode Cration autorise des oprations sur la structure des tables
qui vont bien au-del de la simple dfinition des champs dcrite au
premier chapitre de ce livre.

Afficher la structure dune table


Vous allez revoir en dtail les lments de linterface du mode Cration.
1 Une base de donnes ayant t ouverte, cliquez sur le groupe
Tables dans le Volet de navigation.
2 Cliquez du bouton droit sur la table de votre choix, puis choisissez
Mode Cration dans le menu contextuel qui apparat.

Figure 3.1 : Le menu contextuel permet douvrir une table en mode Cration

3.1. Manipuler les champs

157

Basculer du mode Feuille de donnes au mode Cration


Si la table est ouverte en mode Feuille de donnes, il est inutile de fermer
la feuille de donnes pour passer en mode Cration. Cliquez simplement sur
le bouton Affichage du groupe Affichage de longlet Accueil.
Vous pouvez galement cliquer sur le
bouton Mode Cration prsent en
bas et droite de la fentre dAccess 2007, dans la Barre dtat.

Figure 3.2 : Le bouton Affichage

Figure 3.3 : Le groupe de boutons proposs en bas et droite


de la fentre dAccess

Linterface du mode Cration se compose de diffrents lments :


j

chacune des lignes permet de dfinir un champ. Un champ est


caractris par son nom dans la premire colonne, son type de
donnes dans la deuxime et sa description dans la troisime ;

une liste des proprits du champ slectionn est prsente sous


deux onglets : Gnral et Liste de choix. Un type de donnes dispose de proprits qui lui sont spcifiques. Ainsi, la liste des
proprits dun champ de type Texte, par exemple, sera diffrente
de celle dun champ de type Numrique ;

Figure 3.4 : Les composants de la structure de la table


j

dans le Ruban, longlet Cration permet laccs rapide aux fonctions spcifiques au mode Cration (voir Figure 3.5).

Le champ courant est indiqu gauche de la ligne concerne par une


case plus fonce, lorsque vous cliquez sur celle-ci. La ligne corres-

158

3. Construire une structure de table optimale

pondant lenregistrement est galement affiche dans une teinte


diffrente de celle des autres lignes et une bordure de couleur lencadre.

Figure 3.5 : Linterface du mode Cration

Fermer le mode Cration


Pour quitter ce mode, cliquez sur le bouton Fermer (la croix place en haut
et droite de longlet de cration de table) ou utilisez la combinaison des
touches [Ctrl]+[W] ou [Ctrl]+[F4]. la fermeture de la table, Access affiche une
bote de dialogue dans laquelle il vous est demand si vous souhaitez enregistrer les modifications apportes la structure de la table, si celle-ci a t
modifie. Utilisez les boutons Oui ou Non de la bote de dialogue pour
signifier votre choix.

Ajouter un champ
Il est frquent de devoir ajouter un champ la structure existante de
la table. Lopration est simple.
1 Ouvrez la table en mode Cration.
2 Pour ajouter un champ en fin de table, cliquez dans la colonne
Nom du champ de la premire ligne vide et saisissez son nom.
Choisissez son type de donnes dans la colonne Type de donnes
et saisissez sa description dans la troisime colonne.

3.1. Manipuler les champs

159

Figure 3.6 : Lajout dun champ en fin de


table

3 Pour ajouter un champ en premire ligne ou entre deux champs


dj crs, utilisez le bouton Insrer des lignes, propos dans le
groupe Outils de longlet Cration, dans le Ruban (vous pouvez
galement cliquer du bouton droit dans une ligne de la table et
choisir Insrer des lignes dans le menu contextuel qui apparat).

Figure 3.7 : Lajout dun champ entre des champs dj crs ou en dbut de table

Une ligne vide est insre au-dessus du champ.


4 Cliquez dans la colonne Nom du champ de la nouvelle ligne vide et
saisissez le nom du champ. Choisissez son type de donnes dans
la colonne Type de donnes et saisissez sa description dans la
troisime colonne.

Slectionner des champs


Il est utile de savoir oprer des slections de champs en mode
Cration de table, afin de les dplacer, par exemple :
1 Pour slectionner un champ, cest--dire une ligne, cliquez en
dbut de ligne sur le slecteur de champ (la petite case qui prcde la ligne).

160

3. Construire une structure de table optimale

Lorsquil est survol, le slecteur transforme le pointeur de la souris


en une flche noire dirige vers la droite. La ligne slectionne
apparat alors encadre.

Figure 3.8 : La slection dun


champ

2 Pour slectionner plusieurs champs contigus, cliquez sur le slecteur de champ du premier champ, maintenez le bouton de la
souris enfonc, puis tendez la zone verticalement jusquau slecteur du dernier champ inclure dans la slection.

Figure 3.9 : La slection de champs


contigus

Slection dun grand nombre de lignes


Voici une autre mthode, utile pour slectionner un grand nombre de
champs conscutifs : cliquez sur le slecteur du premier champ, maintenez la
touche [Maj] enfonce, utilisez ventuellement la Barre de dfilement verticale
pour visualiser des lignes napparaissant pas lcran et cliquez sur la ligne
correspondant au dernier champ intgrer dans la slection.

3 Pour slectionner plusieurs champs non contigus, maintenez la


touche [Ctrl] enfonce. Cliquez sur le slecteur de champ des enregistrements inclure dans la slection.

Figure 3.10 : La slection de


champs non contigus

3.1. Manipuler les champs

161

Dplacer un champ
Lordre des champs peut tre modifi dans la structure de la table, en
mode Cration. Cette opration, qui change galement lordre de
prsentation des champs en mode Feuille de donnes, peut tre utile
pour permettre une lecture plus logique des informations (le nom
sera prsent avant le prnom ou le code postal avant la ville, par
exemple).
1 Slectionnez la ligne du champ dplacer en cliquant sur le
slecteur de champ (la petite case qui prcde la ligne).
2 Gardez le bouton de la souris enfonc puis glissez la ligne
lendroit dsir.
Un petit carr accompagne la flche du pointeur pendant le dplacement. Vous pouvez galement dplacer de la mme manire une
slection de champs contigus aprs les avoir slectionns.

Figure 3.11 : Le dplacement dune


ligne en fin de table

Supprimer un champ
Un champ devenu inutile aprs une restructuration de la base de
donnes, par exemple, peut tre facilement supprim.
1 Placez le pointeur dans la ligne du champ supprimer ou cliquez
sur son slecteur.
Vous pouvez galement slectionner plusieurs champs contigus.
2 Cliquez sur le bouton Supprimer les lignes du groupe Outils de
longlet Cration ou cliquez du bouton droit et choisissez
Supprimer les lignes dans le menu contextuel qui apparat.

Figure 3.12 : Le bouton Supprimer les lignes

162

3. Construire une structure de table optimale

Utilisation de la touche Suppr


La touche [Suppr] permet galement de supprimer un ou plusieurs champs
de la structure de la table. Toutefois, alors que vous placiez le point dinsertion nimporte o sur la ligne dans les mthodes prcdentes, il vous faut ici
slectionner les champs avant de lancer la suppression. Autrement, laction
de la touche [Suppr] est applique la zone en cours (des caractres sont
supprims dans le nom du champ ou dans sa description, par exemple).

Des botes de dialogue viennent ou non demander confirmation de


la suppression du champ, en fonction de son type et de lexistence de
donnes dj saisies dans ce champ :
j

si la table ne contient pas de donnes et si le champ nest pas une


cl primaire, il est immdiatement supprim sans aucun avertissement ;

si la table contient des donnes et si le champ nest pas une cl


primaire, Access demande confirmation de la suppression du
champ ainsi que de ses donnes. Cliquez sur le bouton Oui de la
bote de dialogue qui est apparue ;

Figure 3.13 : Cette fois galement, Access vous met en garde et vous demande de confirmer la
suppression des donnes renfermes dans le champ
j

si la table ne renferme pas de donnes et si le champ est une cl


primaire, Access vous avertit quil sagit de la suppression de la cl
primaire. Vous devez alors valider la suppression en cliquant sur le
bouton Oui de la bote de dialogue qui est apparue ;

Figure 3.14 : Access vous met en garde et vous demande de confirmer la suppression de la cl
primaire
j

si la table contient des donnes et si le champ est une cl primaire,


Access demande en premier la confirmation de la suppression du
champ ainsi que de ses donnes. Cliquez sur le bouton Oui. Access

3.1. Manipuler les champs

163

vous avertit quil sagit de la suppression de la cl primaire. Validez


en cliquant sur le bouton Oui de la bote de dialogue affiche dans
ce cas.

3.2. Exploiter les proprits des champs


Les proprits sont des constituants essentiels utiliss dans tous les
logiciels actuels, qui reposent sur les principes des langages de
programmation orients objets. Vous les retrouverez tout au long de
votre dcouverte des diffrents objets qui composent une base de
donnes (tables, formulaires, tats). Une proprit est une valeur
attache un objet et qui le caractrise : de la mme faon quune
voiture dispose des proprits couleur et poids, un champ dune table
dispose de proprits qui le diffrencient des autres champs.
1 Ouvrez la table en mode Cration.
2 Pour affecter des valeurs aux proprits dun champ, cliquez sur la
ligne du champ concern et saisissez les valeurs des proprits
modifier sous longlet Gnral de la fentre.

Figure 3.15 : Longlet gnral


permet de modifier les proprits du
champ slectionn

Passer rapidement de la zone de liste des champs la zone de proprits


En mode Cration, la partie suprieure de la fentre est rserve la
dfinition des proprits essentielles des champs (nom, type et description).
La partie infrieure affiche les autres proprits des champs, dont la liste varie

164

3. Construire une structure de table optimale

en fonction des types de champs. Pour passer rapidement de lune de


ces zones lautre, utilisez la touche [F6].

3 Si la zone de saisie offerte par la proprit vous semble trop


restreinte, utilisez la combinaison de touches [Maj]+[F2] pour faire
apparatre la bote de dialogue Zoom, qui offre un espace de saisie
beaucoup plus important ainsi quun bouton Police permettant
daccder aux paramtres de dfinition de la taille et de laspect de
la police utilise pour la saisie des valeurs des proprits. Aprs la
saisie de la valeur, confirmez-la en cliquant sur le bouton OK de la
bote de dialogue Zoom.

Figure 3.16 : La bote de dialogue Zoom

Obtenir des informations sur lutilisation dune proprit


Pour obtenir de laide sur lutilisation des nombreuses proprits proposes sous longlet Gnral, placez le point dinsertion sur la ligne de la
proprit, puis utilisez la touche [F1].

Vous allez aborder maintenant les principales proprits de longlet


Gnral.

La proprit Taille du champ


Cette proprit est propose avec les champs de types de donnes
Texte, Numrique et NumroAuto. Les valeurs quelle peut prendre
varient en fonction du type de donnes.

3.2. Exploiter les proprits des champs

165

La taille dun champ de type de donnes Texte


La taille du champ est le nombre de caractres quil est possible de
saisir. Sa valeur maximale est de 255 caractres. La valeur propose
par dfaut est galement de 255 caractres.
Dfinissez la valeur en la saisissant dans la zone de saisie Taille du
champ.
Figure 3.17 : La proprit Taille du champ dun champ de type Texte

La taille dun champ de type de donnes Numrique


La taille dun champ de ce type est dtermine par le type de nombre
utilis, que vous pouvez choisir sur la liste propose dans la zone de
saisie de la proprit.

Figure 3.18 : La proprit Taille du champ dun


champ de type Numrique

Voici les caractristiques de ces diffrents types de nombres :


Tableau 3.1 : Caractristiques de la proprit Taille du champ de type de donnes Numrique
Type de nombre Description

Taille

Dcimales

Octet

Nombre entre 0 et 255

1 octet

Aucune

Entier

Nombre entre -32 768 et 32 767

2 octets

Aucune

Entier long

Nombre entre -2 147 483 648 et 2 147 483 647.


Le type Entier long est propos par dfaut.

4 octets

Aucune

Rel simple

Nombre entre -3,402823E38 et -1,401298E-45 pour les


valeurs ngatives ; nombre entre 1,401298E-45 et
3,402823E38 pour les valeurs positives

4 octets

Rel double

Nombre entre -1,79769313486231E308 et


-4,94065645841247E-324 pour les valeurs ngatives ;
nombre entre 4,94065645841247E-324 et
1,79769313486231E308 pour les valeurs positives

8 octets

15

Dcimal

Nombre compris entre -(10E28)-1 et (10E28)-1

12 octets 28

Modifier la taille par dfaut pour les champs de types Texte


et Numrique
Si vous souhaitez modifier les valeurs par dfaut proposes pour la
proprit Taille du champ avec les champs de types de donnes Texte
et Numrique :

166

3. Construire une structure de table optimale

1 Cliquez sur longlet Fichier puis sur Options.


2 Dans la bote de dialogue Options Access qui apparat, choisissez
Concepteurs dobjets. Dans la rubrique Cration de table, saisissez
une valeur dans la zone Taille de champ de texte par dfaut pour
dfinir la valeur propose pour les champs de type Texte (la valeur
maximale est de 255 caractres).
3 Choisissez une valeur dans la liste de la zone Taille de champ
numrique par dfaut pour dfinir la valeur par dfaut propose
pour les champs de type Numrique.

Figure 3.19 : La dfinition de la taille propose par dfaut pour les champs de type de donnes Texte
et Numrique

La taille dun champ de type de donnes NumroAuto


Lors dune utilisation courante dAccess, les champs de types de
donnes NumroAuto sont utiliss pour gnrer des cls primaires
qui sont des identifiants uniques dans les tables. Conservez donc
toujours le type de nombre Entier long propos par dfaut.

Figure 3.20 : La proprit


Taille du champ dun champ
de type NumroAuto

La proprit Nouvelles valeurs


Cette proprit est utilise pour dfinir la manire dont sont gnres les valeurs des champs de type de donnes NumroAuto lorsque de nouveaux enregistrements sont ajouts la table.

3.2. Exploiter les proprits des champs

167

Figure 3.21 : La proprit Nouvelles valeurs dun


champ de type de donnes NumroAuto

Les caractristiques des valeurs proposes pour la proprit sont


dcrites dans le tableau suivant :
Tableau 3.2 : Caractristiques de la proprit Nouvelles valeurs
Valeur

Description

Incrment La nouvelle valeur, lors de lajout dun enregistrement, est gale la dernire valeur gnre, augmente de 1. Les valeurs sont des nombres entiers positifs. Ce
paramtre est utilis par dfaut.
Alatoire

La nouvelle valeur, lors de lajout dun enregistrement, est gnre alatoirement.


Les valeurs sont des nombres entiers longs.

La proprit Format
Les formats de saisie permettent de personnaliser les affichages et
les impressions des donnes, afin dajouter lunit montaire euro
la fin de la chane ou encore pour afficher une date au format
23-nov-07 par exemple. Les donnes ne sont pas modifies.
Cette proprit est propose avec les champs de type de donnes
Texte, Mmo, Numrique, Date/Heure, Montaire et Oui/Non. Les valeurs quelle peut prendre varient en fonction du type de donnes.
Bien quil soit toujours possible de modifier le format daffichage des
donnes dans les formulaires ou dans les tats, la dfinition des
formats de donnes au niveau de la structure de la table est une
meilleure mthode car les formats dfinis sont hrits dans tous les
objets de prsentation des donnes dAccess (feuilles de donnes,
formulaires et tats).
En fonction du type de donnes du champ, la dfinition des formats
seffectue par une saisie de valeurs ou par un choix sur une liste (il
sagit, dans ce dernier cas, de formats prdfinis).

Les formats prdfinis


Les formats prdfinis sont des ensembles de paramtres de mise en
forme prts lemploi. Ils sont proposs pour les types de donnes Date/
Heure, Numrique, Montaire, Texte, Mmo et Oui/Non.

168

3. Construire une structure de table optimale

Vous trouverez ci-aprs quelques exemples gnriques dapplications de format sur des champs de types diffrents. Pour obtenir la
liste de tous les formats applicables sur un champ spcifique, utilisez
la touche [F1] afin daccder laide dAccess.

Le format dun champ de type de donnes Numrique et


Montaire
Voyez dabord les formats applicables par la proprit Format sur des
donnes de types Numrique et Montaire.
De nombreux formats prdfinis sont proposs par Access 2007
pour cette proprit.

Figure 3.22 : Les diffrents formats prdfinis


proposs et applicables aux champs de types de
donnes Numrique ou Montaire

Le tableau suivant rsume les caractristiques des formats prdfinis applicables aux nombres proposs dans la proprit :
Tableau 3.3 : Formats prdfinis de la proprit Format pour un champ de type de donnes
Numrique ou Montaire
Format prdfini Description
Nombre gnral Ce format nutilise aucune mise en forme particulire. Le nombre est affich
tel quil a t entr (152,4856 par exemple).
Montaire

Ce format a recours un sparateur de milliers et affiche un symbole montaire. Il est conforme au format dfini dans les paramtres rgionaux de
Windows, accessibles par le menu Dmarrer/panneau de
configuration/Options rgionales, date, heure et langue/Options
rgionales et linguistiques depuis la barre des tches (47 125,85
par exemple).

Euro

Ce format force lutilisation du symbole de leuro comme symbole montaire,


mme si un autre symbole montaire a t dfini dans les paramtres rgionaux de Windows.

Fixe

Ce format affiche au moins un chiffre.

Standard

Ce format, qui utilise le sparateur de milliers, est conforme au format dfini


dans les paramtres rgionaux de Windows.

Pourcentage

Ce format multiplie la valeur renferme dans le champ par 100. Il ajoute en


outre le signe de pourcentage. Il est conforme au format dfini dans les
paramtres rgionaux de Windows.

3.2. Exploiter les proprits des champs

169

Tableau 3.3 : Formats prdfinis de la proprit Format pour un champ de type de donnes
Numrique ou Montaire
Format prdfini Description
Scientifique

Ce format a recours la notation scientifique standard (1,52E+5 par


exemple).

Pour mieux comprendre les domaines dutilisation de la proprit


Format, suivez les tapes dapplication dun format de type pourcentage sur un champ de type de donnes numriques :
1 En mode Cration, cliquez sur un champ de type de donnes
Numrique. Choisissez Rel double dans la proprit Taille du
champ et Pourcentage dans la liste propose la ligne Format sous
longlet Gnral.

Figure 3.23 : Le format Pourcentage est


choisi dans la proprit Format dun champ
de type de donnes Numrique

La consquence de cette modification de format est immdiatement


vrifiable lors de la saisie de donnes dans le champ en mode Feuille
de donnes.
2 Affichez la table en mode Feuille de donnes en cliquant dans le
Ruban sur le bouton Affichage de longlet Cration.
3 Saisissez un nombre dans la colonne du champ, la valeur 8, par
exemple.

Figure 3.24 : La saisie dune valeur numrique dans la colonne du champ

4 Validez la saisie en appuyant sur la touche [] ou sur la touche [].


La valeur est alors exprime en pourcentage.

170

3. Construire une structure de table optimale

Figure 3.25 : Ds validation de la saisie, la valeur est affiche au format


pourcentage

Bien que la plupart des formats prdfinis proposs satisfassent la


plupart des besoins, il vous est possible de personnaliser les formats
daffichage au moyen de symboles ddis (la liste de ces symboles
est accessible par la touche [F1], lorsque le point dinsertion est plac
sur la proprit Format, en mode Cration).
titre dexemple, voici comment utiliser lun de ces symboles pour
personnaliser un format daffichage (il est possible de combiner
plusieurs symboles dans la zone de saisie de la proprit Format afin
de dfinir des formats plus volus).
Par dfaut, les donnes numriques sont affiches droite, ce qui
facilite leur lecture. Ce type de prsentation nest toutefois pas impos par Access. Vous allez aligner les informations sur la gauche de
la colonne, en mode Feuille de donnes.

Figure 3.26 : Les informations, telles quelles sont affiches


par dfaut

Le caractre ! permet dindiquer Access que vous souhaitez utiliser


un alignement gauche (il peut tre utilis avec des donnes de
types autres que Numrique). Saisissez ce caractre, en mode Cration, la ligne Format dun champ de type Numrique.

Figure 3.27 : La proprit Format dun


champ de type de donne Numrique
force lalignement gauche

En mode Feuille de donnes, les donnes sont maintenant alignes


gauche dans la colonne du champ.

3.2. Exploiter les proprits des champs

171

Figure 3.28 : Les donnes sont alignes gauche, en mode


Feuille de donnes

Le format dun champ de type de donnes


Texte et Mmo
Lusage de la proprit Format nest pas limit aux formats appliqus
des donnes numriques. Les formats peuvent ainsi tre apposs
des champs de type Texte et Mmo. Vous devrez alors dfinir des
formats personnaliss au moyen de symboles (la liste de ces symboles est accessible par la touche [F1], lorsque le point dinsertion est
plac sur la proprit Format, en mode Cration).
Vous allez dcouvrir comment utiliser lun de ces symboles pour
personnaliser un format daffichage. Lorsque des donnes sont entres dans les champs, lutilisateur peut avoir recours la casse(combinaison de minuscules et de majuscules) de son choix. Il peut
tre toutefois utile de pouvoir restituer les informations dans une
casse spcifique.
Lexemple qui suit illustre le mode opratoire appliquer pour afficher les informations enregistres dans un champ de type Texte en
minuscules, indpendamment de la casse utilise lors de la saisie.
1 En mode Cration, cliquez sur un champ de type de donnes Texte.
Saisissez le caractre < dans la ligne Format sous longlet Gnral.

Figure 3.29 : Ce caractre dfinit un format


daffichage du champ en minuscules

Lorsquelles seront consultes en mode Feuille de donnes, les donnes apparatront en minuscules, quelle que soit la casse initialement utilise lors de la saisie, aprs validation du contenu du champ.
2 Affichez la table en mode Feuille de donnes en utilisant le bouton
Affichage de longlet Cration.

172

3. Construire une structure de table optimale

3 Saisissez une chane de caractres en majuscules ou, au choix, en


combinant majuscules et minuscules dans la colonne du champ.
Figure 3.30 : La casse utilise
combine majuscules et minuscules

4 Validez la saisie au moyen de la touche [] ou de la touche [].


La chane de caractres est affiche intgralement en minuscules.

Figure 3.31 : Les donnes renfermes dans le champ sont affiches en minuscules, indpendamment
de la casse utilise lors de la saisie

Le format dun champ de type de donnes Date/Heure


Pour continuer ce petit tour dhorizon des diffrentes possibilits de
mises en forme offertes par la proprit Format, voici comment
certains formats prdfinis peuvent tre appliqus des donnes de
type Date/Heure.

Figure 3.32 : De nombreux formats


prdfinis sont proposs pour effectuer le
formatage de donnes de type
Date/Heure

Vous trouverez dans le tableau qui suit les caractristiques des diffrents formats prdfinis proposs pour le type de donnes Date/
Heure :
Tableau 3.4 : Formats prdfinis de la proprit Format pour un champ de type de donnes
Date/Heure
Format prdfini Description
Date, gnral

Lorsque ce format, propos par dfaut, est utilis, les donnes sont affiches dans leur format natif. Ainsi, si seule la date est saisie, aucune heure
ne sera stipule. linverse, si une heure seule est tape, la date nest pas
mentionne. Si linformation saisie est une combinaison de la date et de
lheure, les deux informations sont stockes par Access et retournes lors
de leur consultation en mode Feuille de donnes.
Cet affichage utilise une combinaison des formats de date courte et dheure
dfinis dans les paramtres rgionaux de Windows.
Voici quelques exemples de formatages possibles : 05/02/2010,
18:45:12 ou encore 05/02/2010 18:45:12.

3.2. Exploiter les proprits des champs

173

Tableau 3.4 : Formats prdfinis de la proprit Format pour un champ de type de donnes
Date/Heure
Format prdfini Description
Date, complet

Lorsque ce format est utilis, le format de date longue dfini dans les paramtres rgionaux de Windows est appliqu (Samedi 13 novembre
2010 par exemple).

Date, rduit

Comme son nom lindique, ce format utilise un nombre restreint de caractres pour laffichage de la date (13nov10 par exemple).

Date, abrg

Lorsque ce format est utilis, le format de date courte dfini dans les paramtres rgionaux de Windows est appliqu (13/11/2010 par exemple).

Heure, complet

Lorsque ce format est utilis, le format dheure dfini dans les paramtres
rgionaux de Windows est appliqu (18:45:12 par exemple).

Heure, rduit

Ce format utilise un nombre restreint de caractres pour laffichage de


lheure sur un cycle de 12 heures (06:45 PM, par exemple).

Heure, abrg

Ce format utilise un nombre restreint de caractres pour laffichage de


lheure sur un cycle de 24 heures (18:45 par exemple).

Lexemple qui suit illustre le mode opratoire appliquer pour afficher des donnes de type Date/Heure dans le format Date, complet :
1 En mode Cration, cliquez sur un champ de type de donnes
Date/Heure. Choisissez Date, complet la ligne Format sous longlet
Gnral.

Figure 3.33 : Laffectation du format Date, complet des


donnes de type Date/Heure

2 Affichez la table en mode Feuille de donnes en utilisant le bouton


Affichage de longlet Cration.
3 Saisissez une date dans la colonne du champ en la saisissant au
clavier ou au moyen du calendrier accessible par un clic sur le
bouton affich droite de la cellule de type date, dans la feuille de
donnes.

Figure 3.34 : La saisie dune date

174

3. Construire une structure de table optimale

4 Validez la saisie au moyen de la touche [] ou de la touche [].


Les donnes sont affiches dans le format Date, complet.

Figure 3.35 : Laffichage dans le format choisi

Le format dun champ de type de donnes Oui/Non


Les donnes de types boolennes peuvent prendre deux valeurs
uniques. Par dfaut, les valeurs sont saisies par le biais dune case
cocher. Les valeurs stockes dans les champs boolens sont 1 et 0,
correspondant respectivement aux valeurs Vrai et Faux.
Trois formats peuvent tre dfinis pour la saisie des donnes dans
des champs boolens. Ils permettent respectivement davoir recours
aux valeurs Oui/Non, Vrai/Faux ou encore Actif/Inactif.

Figure 3.36 : La proprit Format dun


champ de type de donne Oui/Non

Afficher les valeurs renfermes dans un champ de type Oui/Non


Lorsque les donnes dun champ boolen (cest--dire de type Oui/Non)
sont affiches dans une feuille de donnes, Access utilise par dfaut un
contrle de type case cocher (prsente comme coche lorsque la valeur du
champ est Oui).

Figure 3.37 : Access utilise par dfaut un contrle de type case cocher pour
reprsenter les valeurs des champs Oui/Non, en mode Feuille de donnes
Pour afficher la valeur effectivement enregistre, basculez en mode Cration,
puis cliquez sur longlet Liste de choix aprs avoir plac le point dinsertion
dans la ligne du champ concern. Choisissez Zone de texte sur la liste
propose la proprit Afficher le contrle. En mode Feuille de donnes, les
informations renfermes dans le champ sont prsentes sous la forme de
valeurs affiches telles quelles ont t dfinies dans la proprit Format.

3.2. Exploiter les proprits des champs

175

Figure 3.38 : Les choix proposs sur la liste


de la proprit Afficher le contrle

Figure 3.39 : Le contrle de type case cocher nest plus utilis pour
reprsenter les valeurs des champs Oui/Non, en mode Feuille de donnes

La proprit Dcimales
Cette proprit est applicable des champs de types de donnes
Numrique et Montaire. Elle permet dindiquer un nombre de dcimales lors de laffichage des nombres.

Figure 3.40 : La proprit Dcimales dun champ de type


de donne Numrique
Tableau 3.5 : Caractristiques de la proprit Dcimales
Valeur Description
Auto

176

Cette valeur est propose par dfaut. Lorsquelle est utilise, les nombres saisis sont
affichs dans leur format de saisie natif (3,1416 par exemple) ou celui dfini au
moyen de la proprit Format.

3. Construire une structure de table optimale

Tableau 3.5 : Caractristiques de la proprit Dcimales


Valeur Description
0 15 Lorsquune valeur (pouvant atteindre 15 caractres) est saisie, Access affiche la valeur numrique avec le nombre de dcimales stipul, en larrondissant la valeur la
plus proche, le cas chant (la valeur initialement saisie est toutefois conserve en
mmoire). Par exemple, la valeur saisie 3,1416 est affiche sous la forme 3,14 si
le nombre de dcimales a t dfini 2.

La proprit Lgende
Cette proprit est applicable tous les types de champs.
Les lgendes personnalisent les en-ttes des colonnes des champs
lorsquune table ou une requte est affiche en mode Feuille de
donnes. Vous dcouvrirez plus loin que la valeur de cette proprit
est galement propose par dfaut comme nom affect aux objets
de type Etiquette lors de linsertion de certains contrles dans un
formulaire ou dans un tat.

Figure 3.41 : La proprit Lgende


dun champ

Dans lillustration qui suit, la quatrime colonne utilise la lgende


dfinie comme proprit du champ dont elle affiche les donnes. Les
autres colonnes, qui prsentent les donnes de champs pour lesquels aucune lgende na t dfinie, utilisent les noms de champs
comme en-tte.
Figure 3.42 : La lgende est
utilise dans len-tte de la
quatrime colonne en mode
Feuille de donnes

La proprit Valeur par dfaut


Cette proprit est applicable tous les types de champs, lexception des champs de types NumroAuto et Objet OLE.

3.2. Exploiter les proprits des champs

177

Elle permet de spcifier une valeur qui est propose systmatiquement comme valeur du champ lors de lajout dun nouvel enregistrement.

Figure 3.43 : La proprit Valeur par dfaut dun


champ de type de donne Texte

Utiliser le Gnrateur dexpression


La saisie de la valeur par dfaut peut tre facilite par lemploi du Gnrateur dexpression. Cliquez pour cela sur les trois points, en bout de ligne de
la zone de saisie de la proprit Valeur par dfaut sous longlet Gnral. La
fentre du Gnrateur dexpression est alors affiche. Utilisez linterface du
Gnrateur dexpression pour dfinir la valeur par dfaut (vous pouvez avoir
recours des fonctions, des constantes ou encore des oprateurs). Aprs la
fermeture du Gnrateur dexpression, par le bouton OK, lexpression gnre est affiche comme valeur de la proprit Valeur par dfaut.

Figure 3.44 : La fentre du


Gnrateur dexpression

Figure 3.45 : La proprit Valeur par dfaut


dun champ de type de donne Date/Heure a
t dfinie au moyen du Gnrateur
dexpression

178

3. Construire une structure de table optimale

La proprit Null interdit


Cette proprit sapplique tous les types de champs.
Son rle est dinterdire, lorsquelle est active, labsence de saisie
dans un champ (la saisie devient obligatoire).

Figure 3.46 : La proprit Null interdit dun champ de


type de donne Numrique

Lorsque la valeur Oui est affecte la proprit, la saisie dune valeur


devient obligatoire dans le champ pour tous les enregistrements.
linverse, la valeur Non autorise labsence de saisie dune valeur.

3.3. Appliquer des masques de saisie


La proprit Masque de saisie sapplique aux champs de types Texte,
Numrique, Date/Heure et Montaire. Elle pourrait tre classe parmi
la liste des proprits qui prcdent, mais ltendue de ses domaines
dapplication exige de lui consacrer une section entire.

Les masques de saisie


Les masques de saisie permettent de contrler la saisie des donnes, par
exemple pour rendre obligatoire la saisie de quatre chiffres dans un champ
(vous utilisez dans ce cas le masque 9999). Les masques sont dfinis laide
de symboles spciaux, dont vous trouverez la liste complte dans laide
dAccess, accessible par la touche [F1] lorsque vous vous trouvez dans la zone
Masque de saisie.

La finalit de la proprit Masque de saisie est de simplifier les saisies


de donnes et dassurer le contrle des valeurs entres. Par exemple, un masque de saisie peut tre cr afin de permettre dentrer des
numros de tlphone, imposant le nombre de chiffres saisir et la
manire dont ils doivent ltre.

Les proprits Format et Masque de saisie


Si un masque de saisie est appliqu sur un champ simultanment
laction de la proprit Format, les deux proprits peuvent prsenter des

3.3. Appliquer des masques de saisie

179

interactions rciproques. Dune manire gnrale, la proprit Masque


de saisie est utilise lors de la saisie, alors que la proprit Format est
employe lors de laffichage des donnes.

La dfinition dun masque de saisie est facilite grce la prsence


dun Assistant accessible en mode Cration.

Utiliser lAssistant Masque de saisie


Cet Assistant est disponible avec des champs de type Texte et Date/
Heure. Procdez ainsi :

1 Ouvrez la table en mode Cration.


2 Cliquez sur un champ de type de donnes Texte ou Date/Heure.
Cliquez dans la zone de la ligne Masque de saisie sous longlet
Gnral.
3 Cliquez sur le bouton reprsentant trois petits points situ droite
de la zone Masque de saisie.

Figure 3.47 : Le lancement de lAssistant


Masque de saisie

Vous pouvez galement cliquer du bouton droit dans la ligne de la


proprit Masque de saisie, puis choisir la commande Crer dans le
menu contextuel qui apparat ou encore cliquer sur le bouton
Gnrateur du groupe Outils de longlet Cration.

Figure 3.48 : Le bouton Gnrateur du groupe Outils

4 Lorsque Access vous demande si vous souhaitez enregistrer la


table, rpondez Oui.
LAssistant Masque de saisie apparat.

180

3. Construire une structure de table optimale

5 Dans la premire tape de lAssistant, choisissez un exemple de


masque sur la liste Masque de saisie.

Ajouter ou modifier un masque de saisie


Si aucun des masques de saisie qui vous sont proposs ne vous satisfait,
vous pouvez modifier lun dentre eux ou en ajouter un nouveau.
Pour cela, la premire tape de lAssistant, cliquez sur le bouton Modifier la
liste. Dans la bote de dialogue Assistant Personnaliser le Masque de saisie
qui apparat, modifiez un masque existant ou cliquez sur le bouton Ajouter,
symbolis par une toile en bas de la bote de dialogue, pour ajouter et dfinir
un nouveau masque. Cliquez sur le bouton Fermer aprs modification.

Figure 3.49 : Lajout ou la modification dun masque de saisie depuis lAssistant

La liste de masques de saisie proposs fluctue selon le type de


donnes du champ sur lequel le masque est appliqu.

Figure 3.50 : Les masques de saisie proposs pour un champ de type Texte

3.3. Appliquer des masques de saisie

181

Tester le masque de saisie


Les premire et deuxime tapes de lAssistant Masque de saisie prsentent une zone nomme Essayer dans laquelle le masque choisi peut tre
test. Cliquez dans cette zone, puis saisissez des valeurs en remplacement
des traits de soulignement. Cliquez sur le bouton Suivant. Si le test est
incorrect, une bote de dialogue apparat, empchant de continuer lexcution
de lAssistant tant que la valeur de test errone nest pas corrige ou
supprime.

Figure 3.51 : Lun des


masques de saisie proposs
pour un champ de type Texte
est ici test dans la zone
Essayer

6 Cliquez sur le bouton Suivant.


7 Conservez ou modifiez les paramtres proposs dans la zone
Masque de saisie. Choisissez ventuellement sur la liste Caractre
espace rserv le caractre qui sera affich et remplac par les
valeurs saisies (par dfaut, le caractre utilis est le trait de soulignement). Testez, si vous le dsirez, le masque dans la zone
Essayer. Cliquez sur le bouton Suivant.

Figure 3.52 : Ici, les zros du


masque de saisie indiquent une
saisie obligatoire de chiffres
de 0 9

182

3. Construire une structure de table optimale

Ltape suivante saffiche lors de la cration dun champ de type


Texte. Les symboles dans le masque sont des caractres que vous
pouvez choisir dafficher ou non lors de la saisie (des espaces de
sparation dans un numro de scurit sociale, par exemple). Il est
possible de ne pas avoir de diffrence entre les deux aperus proposs cette tape sil ny a pas de symbole dans le masque (comme
celui du code postal).
8 Cochez lune des options proposes (par dfaut, loption Sans les
symboles dans le masque est propose). Cliquez sur le bouton
Suivant.

Figure 3.53 : Les symboles peuvent ou non tre affichs

9 Cliquez sur le bouton Terminer dans la dernire tape de lAssistant.


Dans la proprit Masque de saisie, le masque dfini avec lAssistant
est affich.

Figure 3.54 : Le masque de saisie dfini


par lAssistant pour le champ du numro de
scurit sociale

10 Vrifiez laction du masque lors de la saisie en mode Feuille de


donnes.
Figure 3.55 : Le masque de saisie est affich
sur la deuxime ligne en attendant la saisie du
numro de scurit sociale

3.3. Appliquer des masques de saisie

183

Crer un masque de saisie personnalis


Le recours lAssistant Masque de saisie nest pas obligatoire. Vous
pouvez constituer vos propres masques en utilisant les caractres
spciaux ddis cet usage.
Voici la liste de ces caractres et lusage que vous pouvez en faire :
Tableau 3.6 : Caractres spciaux utiliss dans les masques de saisie
Caractre

Description

Ce caractre impose la saisie dun chiffre compris entre 0 et 9. Les signes


plus (+) et moins () sont refuss. La saisie est obligatoire.

Ce caractre limite la saisie un chiffre ou un espace. Les signes plus (+)


et moins () sont refuss. La saisie est facultative.

Ce caractre limite la saisie un chiffre ou un espace. Les signes plus (+)


et moins () sont accepts. La saisie est facultative.

Ce caractre impose la saisie dun caractre alphanumrique (lettres de A


Z, majuscules et minuscules). La saisie est obligatoire.

Ce caractre impose la saisie dun caractre alphanumrique (lettres de A


Z, majuscules et minuscules). La saisie est facultative.

Ce caractre impose la saisie dun caractre alphanumrique (lettres de A


Z, majuscules et minuscules) ou numrique (chiffre compris entre 0 et 9). La
saisie est obligatoire.

Ce caractre impose la saisie dun caractre alphanumrique (lettres de A


Z, majuscules et minuscules) ou numrique (chiffre compris entre 0 et 9). La
saisie est facultative.

&

Ce caractre impose la saisie dun caractre quelconque, espace compris.


La saisie est obligatoire.

Ce caractre impose la saisie dun caractre quelconque, espace compris.


La saisie est facultative.

. , : ; / Ces caractres sont utiliss comme sparateurs de dcimales, de milliers,


de date et dheure. Leur usage est dtermin dans les paramtres rgionaux
de Windows.

<

Ce caractre convertit le caractre saisi en minuscule.

>

Ce caractre convertit le caractre saisi en majuscule.

Ce caractre est utilis pour que la saisie seffectue de droite gauche.

Ce caractre permet dafficher le caractre qui le suit dans le masque lors


de la saisie.

Il est possible daller plus loin, si vous le dsirez, dans la personnalisation des masques. En effet, un masque de saisie peut renfermer
jusqu trois sections (spares par des points-virgules).
j

184

La premire section est rserve la description. Elle utilise les


caractres dcrits dans le tableau prcdent. Ainsi, un masque de
3. Construire une structure de table optimale

saisie simple, permettant de saisir un numro de tlphone, peut


tre : 0000000000. Toutefois, pour augmenter la lisibilit du numro
saisi, le masque peut tre amlior avec des caractres dits littraux. Dans cet exemple, vous pouvez ainsi ajouter un trait de
sparation entre les groupes de deux chiffres qui composent le
numro de tlphone. Le masque de saisie devient alors :
0000000000. Si un tel masque est dfini dans la proprit Masque de saisie, Access le transforme automatiquement en 00\00\00
\00\00.

Figure 3.56 : La saisie du numro de tlphone dans un champ de


donnes de type Texte sur lequel le masque a t appliqu
j

La deuxime section du masque indique Access si les caractres


littraux doivent tre enregistrs avec les donnes dans la table.
Deux caractres peuvent tre utiliss dans cette section : 0 indique
que les caractres littraux doivent tre enregistrs avec les donnes alors que 1 (ou si la section est laisse vide) signifie que seuls
les caractres saisis doivent tre enregistrs. Si le masque de
saisie 00\00\00\00\00;0 est appliqu, la valeur saisie sera prsente en mode Feuille de donnes sous la forme 01-02-03-04-05
et la valeur enregistre sera 01-02-03-04-05. Par contre, si le masque de saisie 00\00\00\00\00;1 est appliqu, la valeur saisie
sera prsente en mode Feuille de donnes sous la forme 01-0203-04-05 et la valeur enregistre sera 0102030405.
La troisime section permet dindiquer si un caractre particulier
doit tre affich lors de la saisie lemplacement des espaces
encore non renseigns par lutilisateur, en remplacement des
traits de soulignement, qui sont les symboles utiliss par dfaut
par Access. Si le masque de saisie 00\00\00\00\00;0;# est appliqu, la valeur saisie sera prsente dans la feuille de donnes
sous la forme 01-02-03-04-## (en supposant ici que seuls les huit
premiers chiffres ont t saisis).

Figure 3.57 : La saisie du numro de tlphone dans un champ


de donnes de type Texte sur lequel le nouveau masque a t
appliqu

3.3. Appliquer des masques de saisie

185

3.4. Utiliser les listes de choix


Les listes de choix sont des objets trs pratiques lors de la saisie des
informations. Au lieu de saisir les donnes dans une zone de texte,
lutilisateur peut employer une suite dlments (des valeurs constantes ou dynamiquement puises dans une table) dans laquelle il
effectue son choix. Dun usage extrmement simple, cet objet facilite
et acclre la saisie et surtout vite lentre de donnes contenant
des fautes dorthographe ou des libells diffrents.

Faciliter la saisie avec des listes de valeurs


constantes
La mthode la plus simple pour constituer une liste de choix consiste
utiliser des valeurs constantes.
Vous allez ici employer le champ type de la table Disques, dans la
base de donnes Gestion des disques.accdb utilise dans le premier
chapitre. Ce champ est destin recevoir les donnes Vinyle, CDRom,
DVD ou encore Cassette Dcouvrez comment crer une liste de
choix sur ce champ, afin de ne plus avoir saisir manuellement les
informations quil renferme. Procdez ainsi :
1 Ouvrez la table Disques en mode Cration.
2 Cliquez sur le nom du champ, ici type. Dans la colonne Type de
donnes de ce champ, choisissez Assistant Liste de choix sur la liste
propose.

Figure 3.58 : La slection de lAssistant Liste


de choix

186

3. Construire une structure de table optimale

LAssistant Liste de choix saffiche.


3 la premire tape de lAssistant, cochez loption Je taperai les
valeurs souhaites puis cliquez sur Suivant.

Figure 3.59 : Les valeurs renfermes dans la liste de choix seront saisies

Vous allez maintenant saisir les valeurs de la liste de choix.


4 Saisissez la premire valeur dans la cellule de la colonne nomme
Col1, par exemple Vinyle.
5 Pour aller la ligne suivante et y saisir une nouvelle valeur,
appuyez sur la touche []. Saisissez la deuxime valeur, par exemple CDRom. Rptez cette opration pour les autres valeurs de la
liste de choix : tapez DVD et Cassette dans la colonne. Cliquez sur le
bouton Suivant.

Figure 3.60 : La saisie des valeurs de la liste de choix

3.4. Utiliser les listes de choix

187

Utiliser plusieurs colonnes sur une liste de choix


Bien que lusage le plus courant soit celui dune seule colonne, il est
possible de faire apparatre plusieurs colonnes sur une liste. La liste pourrait
ainsi faire apparatre des prnoms dans une premire colonne et des noms de
famille dans une seconde.

la dernire tape de lAssistant, ltiquette propose nest rien


dautre que le nom du champ. Dans la plupart des cas, ce nom est
conserv. En effet, en cas de modification, cest le nom du champ qui
est renomm.

Saisie de plusieurs valeurs dans une liste


LAssistant Liste de choix propose, dans sa dernire tape, une case
nomme Autoriser plusieurs valeurs. Lorsque cette case est coche, il est
possible, lors de la saisie en mode Feuille de donnes, de slectionner
plusieurs valeurs parmi celles proposes dans la liste. Les donnes multiples
sont alors enregistres dans le champ, spares par des points-virgules.

Figure 3.61 : La saisie de plusieurs valeurs depuis une liste de choix

6 Cliquez sur le bouton Terminer.


La table est nouveau affiche en mode Cration.
7 Cliquez sur longlet Liste de choix.
Les proprits de longlet Liste de choix, dont les principales sont
dcrites ci-aprs, ont t compltes lors de la cration de la liste de
choix par lAssistant.
Afficher le contrle indique lutilisation dune liste de choix. La
valeur Zone de liste droulante y apparat.
Origine source indique que les donnes sont issues dune liste de

valeurs fixes, et non dune table comme vous le verrez plus loin.
Contenu dtermine les lments de la liste. Cette proprit

contient maintenant les valeurs saisies au moyen de lAssistant,


spares par des points-virgules.
188

3. Construire une structure de table optimale

Figure 3.62 : Les proprits de


longlet Liste de choix

8 Pour visualiser la liste de choix en mode Feuille de donnes,


utilisez le bouton Affichage de longlet Cration.
Access vous propose denregistrer la table.
9 Acceptez puis cliquez sur la liste de la colonne type.
Les diffrentes valeurs saisies dans lAssistant de la liste de choix
apparaissent.
10 Cliquez sur une valeur de la liste, DVD par exemple.
Celle-ci est insre automatiquement dans le champ.

Figure 3.63 : Le choix dune valeur sur la liste propose

Crer une liste de valeurs en mode Feuille de donnes


La cration dun champ utilisant une liste de choix est galement possible
depuis le mode Feuille de donnes. Pour cela, cliquez dans la colonne suivant
la colonne qui sera insre. Cliquez sur le bouton Plus de champs du groupe
Ajouter et supprimer de longlet Champs. Choisissez Liste de choix et relation
dans la liste qui apparat. LAssistant Liste de choix saffiche. Suivez ses
tapes comme prcdemment.

3.4. Utiliser les listes de choix

189

Figure 3.64 : Le bouton Plus


de champs

Crer une liste sans utiliser lAssistant Liste de choix


Une liste de choix peut tre constitue directement depuis les proprits
du champ, sans avoir recours lAssistant. En mode Cration, slectionnez le
champ puis cliquez sur longlet Liste de choix. la proprit Afficher le
contrle, choisissez Zone de liste droulante sur la liste propose. la
proprit Origine Source, slectionnez Liste de valeurs. la ligne Contenu,
saisissez les valeurs de la liste en les sparant par des points-virgules.

Faciliter la saisie avec des listes de valeurs


provenant dune table
Facile mettre en uvre, la liste utilisant des valeurs constantes
trouve ses limites ds que les donnes quelle renferme ncessitent
dtre modifies ou que certaines dentre elles doivent tre ajoutes
ou supprimes : la liste tant fige, une intervention dans la structure
de la table devient dans ce cas obligatoire.
Lalternative consiste utiliser comme source de donnes de la liste
non plus des valeurs fixes, mais les valeurs dun ou de plusieurs
champs dune table. Ainsi, sil vient manquer une valeur sur la liste,
il suffira de lajouter la table. Cette opration est accessible tout
oprateur de saisie puisquelle ne demande pas de connaissances
particulires en matire de bases de donnes.
Vous allez crer la liste de choix du champ theme de la table Disques,
de telle sorte que ses donnes soient puises dans la table des
thmes musicaux. Si un nouveau thme vient apparatre sur le
march, vous naurez qu lajouter dans la table Theme. Nous supposons que la table des thmes musicaux, appele Theme, est cre
dans la base de donnes Gestion des disques.
190

3. Construire une structure de table optimale

1 Reprenez la base Gestion des disques.accdb. Ouvrez la table Disques en mode Cration.
2 Cliquez sur le nom du champ theme. Dans la colonne Type de
donnes de ce champ, choisissez Assistant Liste de choix dans la
liste propose.
LAssistant Liste de choix saffiche.
3 Dans lAssistant Liste de choix, cochez loption Je veux que la liste
de choix recherche les valeurs dans une table ou requte. Cliquez sur
le bouton Suivant.

Figure 3.65 : Les donnes de la liste proviendront dune table

LAssistant Liste de choix affiche toutes les tables de la base de


donnes Gestion des disques, lexception de la table Disques qui est
la table utilise.
4 Slectionnez la table qui contient les donnes qui seront utilises
sur la liste de choix, par exemple la table Theme. Cliquez sur le
bouton Suivant.

Figure 3.66 : Le choix de la table, dont certaines donnes seront utilises sur la liste

3.4. Utiliser les listes de choix

191

La liste des champs de la table choisie prcdemment saffiche dans


la colonne Champs disponibles de lAssistant.
5 Cliquez sur le champ contenant les donnes qui devront tre
utilises sur la liste de la colonne Champs disponibles, ici le champ
nom. Glissez-le dans la colonne Champs slectionns en cliquant
sur le bouton >. Cliquez sur le bouton Suivant.

Figure 3.67 : La slection du champ utilis dans la liste

Slectionner tous les champs


Si vous souhaitez glisser tous les champs de la colonne Champs disponibles dans la colonne Champs slectionns, utilisez le bouton >>.

LAssistant propose de trier les lments de la liste dans un ordre


croissant ou dcroissant.
6 Choisissez dans la premire zone le premier champ trier. Pour
passer dun tri croissant un tri dcroissant, utilisez le bouton
situ droite de la zone.
Ce bouton, lorsquil est activ, affiche conscutivement les libells
Croissant et Dcroissant. Les zones suivantes pourraient tre utilises
pour dfinir des critres de tri secondaires.
7 Cliquez sur le bouton Suivant.

192

3. Construire une structure de table optimale

Figure 3.68 : Le choix de lordre de prsentation des valeurs de la liste

Les donnes du champ de la table qui seront utilises sur la liste de


choix (ici les valeurs du champ nom de la table Theme) sont listes
dans lAssistant.
La case cocher Colonne cl cache (recommand) permet dindiquer
si la colonne renfermant les cls primaires de la table utilise comme
source de la liste de choix doit tre masque (coche) ou affiche
(non coche). Si la table source nutilise pas de cls primaires, cette
case nest pas propose cette tape de lAssistant.
8 Modifiez ventuellement la largeur de la colonne en tirant son
en-tte vers la droite. Cliquez sur le bouton Suivant.

Figure 3.69 : Laugmentation de la largeur de la colonne

3.4. Utiliser les listes de choix

193

la dernire tape de lAssistant, ltiquette propose porte le nom


du champ contenant la liste de choix.
9 Conservez ce nom. Cliquez sur le bouton Terminer.
Lors de la cration de la liste de choix, Access cre une relation entre
la table ouverte et la table utilise pour gnrer les valeurs de la liste
de choix ; dans cet exemple les tables Disques et Theme.
La notion de relation est explique au chapitre 4 Contrler la cohrence des donnes.

LAssistant Liste de choix demande confirmation de lenregistrement


de la table.
10 Cliquez sur le bouton Oui pour valider lenregistrement de la table,
ncessaire la cration de la relation et de la liste de choix.

Figure 3.70 : La confirmation de lenregistrement de la table

Si le champ contenait des valeurs de type Texte avant la cration de


la liste de choix, Access vous avertit que le type de donnes nest pas
appropri et quil doit tre modifi.
11 Pour continuer, cliquez sur le bouton Oui.
Le type de donnes du champ a chang : il est maintenant de type
Numrique.

Changement de type du champ


Access change le type du champ sur lequel est applique la liste car la cl
primaire de la table va y tre stocke et que celle-ci est de type numrique.

Vous pouvez maintenant visualiser en mode Cration de la table les


proprits du champ modifies par lAssistant.
12 Cliquez sur longlet Liste de choix.
Les principales proprits de longlet Liste de choix, modifies par
lAssistant, sont les suivantes :

194

3. Construire une structure de table optimale

Afficher le contrle indique lutilisation dune liste de choix. La


valeur Zone de liste droulante y apparat ;
Origine source indique que les donnes sont issues dune table ou
dune requte ;
Contenu dtermine les lments de la liste, extraits de la table

dorigine, par une requte ;


Les requtes sont expliques plus loin dans cet ouvrage au chapitre 5 Extraire des donnes.
Colonne lie indique, dans le cas dune liste plusieurs colonnes,
dans quelle colonne de la liste de choix la valeur stocke dans le
champ doit tre puise. La colonne utilise est gnralement la cl
primaire de la table source ;
Largeur de colonne permet de dterminer les largeurs des colonnes de la liste. La valeur 0 permet de masquer ici la premire
colonne, qui contient la cl primaire.

Figure 3.71 : Les proprits de la liste de


choix

13 Pour visualiser la liste de choix en mode Feuille de donnes,


utilisez le bouton Affichage de longlet Cration.

Figure 3.72 : Le test de la liste de choix, en


mode Feuille de donnes

3.4. Utiliser les listes de choix

195

Le bouton Modifier les recherches


En mode Cration, le bouton Modifier les recherches du groupe Outils de
longlet Cration offre une autre mthode pour crer un nouveau champ
utilisant une liste de choix.

Figure 3.73 : Le bouton Modifier


les recherches

3.5. Appliquer des rgles de validation


Les rgles de validation des champs jouent un rle prpondrant
dans loptimisation de lapplication et doivent tre dfinies au niveau
des tables. Elles permettent de formater les champs afin de les
prparer recevoir les donnes. Vous verrez plus loin quil est possible dappliquer ces rgles lors de la saisie des donnes dans les
formulaires, qui sont des outils de capture et de prsentation des
informations. Toutefois, le formatage des donnes au niveau des
formulaires, et non au niveau des tables, est extrmement dangereux. En effet, vous pouvez accder une table depuis plusieurs
formulaires. Imaginez quun champ de cette table ne doive en aucun
cas tre vide, ce champ devant contenir un numro de scurit
sociale par exemple. Si vous navez pas verrouill les champs au
niveau de la table par des rgles de validation, il vous suffit doublier
dempcher la saisie dune chane vide dans un formulaire pour
quune porte soit ouverte aux erreurs. Ces erreurs peuvent avoir des
consquences dramatiques sur la suite des traitements.
La dfinition des rgles de validation au niveau des formulaires
augmente le temps de dveloppement de lapplication, puisque le
traitement doit tre rpt dans chaque formulaire. Elles ne doivent
donc tre utilises que dans des cas bien particuliers, pour ajouter
une "surrgle". Voici un exemple :
Une table contient un champ de type date. Les dates saisies dans ce
champ doivent tre comprises entre la date de cration de lentreprise (le 01/01/2006) et la date de cessation dactivit de lentreprise
(qui a t fixe au 31/12/2056). Les rgles de validation qui empchent la saisie dune date en dehors de ces limites doivent tre
dfinies une fois pour toutes au niveau de la table afin de la protger
pendant toute sa dure de vie (50 ans). Quelles que soient les volutions apportes lapplication pendant la priode dactivit, le

196

3. Construire une structure de table optimale

concepteur de la base de donnes est certain que les donnes contenues dans ce champ conserveront leur intgrit initiale. En revanche,
il est facile dimaginer un formulaire utilis pour la saisie des donnes pendant une anne comptable (du 01/01/2006 au 31/12/2006 par
exemple). Ce formulaire pourra alors appliquer des rgles de validation du champ pour empcher la saisie de dates en dehors des dates
de dbut et de fin de lexercice en cours. Dans ce cas, le formulaire
aura t utilis pour ajouter des "surrgles" aux rgles dj dfinies
dans la table afin de rpondre une situation particulire.
La mise en uvre des rgles de validation seffectue au moyen de la
proprit Valide si, prsente la fois dans les champs et dans les
tables, et de la proprit Message si erreur, complmentaire la
premire.

Appliquer une rgle de validation sur un champ


Vous allez maintenant apprendre appliquer des rgles de validation
sur un champ, afin de prparer les champs recevoir les donnes.
Comme cela a t crit prcdemment, il est galement possible
dappliquer des rgles analogues dans les formulaires, mais cette
solution est gnralement moins efficace car plusieurs formulaires
peuvent utiliser la mme table. Il faut alors rpter les rgles dans
chaque formulaire, opration synonyme de perte de temps et de
risques derreurs. Rptons-le : en verrouillant une fois pour toutes
lentre dinformations au niveau le plus bas, cest--dire dans la
table, vous tes certain quune application mal conue ne pourra pas
dtruire la cohrence de linformation stocke dans un champ (par la
saisie dune date en dehors de la fourchette initialement dfinie par
exemple), comme le montre lexercice qui suit.
Il existe de nombreux masques de saisie, formatages et autres rgles
de validation des champs, nhsitez pas les essayer.
Encore une prcision : les rgles de validation appliques aux
champs sont vrifies, lors de la saisie, lorsquon quitte le champ sur
lequel sapplique la rgle pour passer au suivant. Elles sappliquent
donc au champ en cours mais ne peuvent porter simultanment sur
plusieurs champs.
La rgle de validation est dfinie dans la proprit Valide si du champ
en mode Cration de la table. Si la donne saisie dans le champ est
refuse, un message davertissement saffiche. Ce message peut tre
prcis dans la proprit Message si erreur.

3.5. Appliquer des rgles de validation

197

Vous allez maintenant dcouvrir comment dfinir une rgle de validation sur un champ en utilisant la table Artistes de la base de
donnes Gestion des disques.
Dans la table Artistes, vous souhaitez rendre obligatoire la saisie de la
date de naissance entre deux bornes (entre le 01/01/1900 et
aujourdhui) par la rgle de validation Valide si, qui permettra de
contrler la valeur entre lorsque lutilisateur quittera le champ. La
donne sera valide si la date saisie est comprise entre les deux
bornes.
1 Reprenez la base Gestion des disques.accdb. Ouvrez la table Artistes en mode Cration.
2 Cliquez sur le champ Date de naissance. Slectionnez la proprit
Valide si dans longlet Gnral.
Cette proprit est applicable tous les types de champs, sauf aux
objets de type OLE et NumroAuto.
Vous pouvez saisir directement lexpression, mais pour ne pas faire
derreur de syntaxe, vous allez utiliser le Gnrateur dexpression.
3 Cliquez sur les trois petits points droite de la zone Valide si pour
lancer le Gnrateur dexpression.

Figure 3.74 : Ce bouton


permet douvrir le
Gnrateur dexpression

Le Gnrateur dexpression
Il sagit dun outil trs complet et trs pratique, gnralement accessible
lorsque vous avez composer une expression, cest--dire une phrase sous
Access, utilisant des oprateurs liant plusieurs objets (fonctions, constantes,
tables, requtes, etc.). Les lments affichs dpendent de la situation en
cours. Le Gnrateur prsente deux grands avantages : laffichage dune
vision panoramique des objets disponibles un moment donn et linsertion

198

3. Construire une structure de table optimale

des lments en respectant la syntaxe (ce qui vous vite davoir


acqurir celle-ci ou de faire des erreurs de syntaxe).

La bote de dialogue du Gnrateur dexpression saffiche.


4 Dans ce dernier, choisissez les catgories Oprateurs puis Comparaison. Double-cliquez sur loprateur Entre.
Lexpression Entre Expr ET Expr saffiche dans la zone ddition
de la partie suprieure de la bote de dialogue.

Figure 3.75 : Le Gnrateur dexpression

Lexpression doit tre personnalise.


5 Dans la zone ddition, slectionnez la premire chane Expr ,
dveloppez llment dexpression Fonctions, slectionnez Fonctions intgres puis la catgorie Date/Heure. Double-cliquez sur
CDate.

Figure 3.76 : Lutilisation des fonctions


intgres, dans le Gnrateur dexpression

3.5. Appliquer des rgles de validation

199

Le rle de la fonction CDate dans lexpression


Lorsque vous saisissez "01/01/1900", la valeur nest pas reconnue
comme une date mais comme une chane de caractres (consquence de
lutilisation des guillemets). La valeur ne pourrait pas tre saisie sans guillemets, sous peine de voir Access effectuer lopration suivante : 01 divis par
01 divis par 1900. La fonction CDate (Character to Date) a pour mission de
transformer la chane de caractres en une valeur au format Date.

6 Dans la zone ddition, cliquez sur expression puis sur llment


dexpression Constantes. Double-cliquez sur ""-ChaneVide. Entre
les deux guillemets, dans la zone ddition, saisissez 01/01/1900.

Figure 3.77 : Lutilisation des constantes, dans


le Gnrateur dexpression

7 Slectionnez la deuxime chane Expr dans la zone ddition.


Dveloppez llment dexpression Fonctions, slectionnez Fonctions intgres puis la catgorie Date/Heure. Double-cliquez sur la
valeur dexpression Maintenant.
Vous obtenez lexpression illustre dans la figure suivante :

Figure 3.78 : Lexpression est maintenant


rdige

200

3. Construire une structure de table optimale

Le rle de la fonction Maintenant() dans lexpression


Comme son nom lindique, cette fonction va extraire la date et lheure du
systme dexploitation.

8 Cliquez sur OK pour fermer le Gnrateur dexpression.


Lexpression est affiche dans la ligne Valide si du champ. Saisissez
maintenant le message davertissement afficher en cas derreur de
saisie.
9 Dans la proprit Message si erreur, tapez Saisissez une date de
naissance entre le 1er janvier 1900 et aujourdhui.
Comme lindique le nom de la proprit, ce message sera affich si
lutilisateur tente de transgresser la rgle de validation.
Figure 3.79 : La proprit
Message si erreur dun champ de
type de donne Date/Heure

La proprit Message si erreur


La proprit Message si erreur permet dafficher un message lorsque des
donnes ne respectant pas la proprit Valide si sont saisies. Dans ce cas, le
message saisi dans la proprit Message si erreur saffiche dans une bote de
dialogue.

Il ne reste plus qu tester la saisie en mode Feuille de donnes.


10 Affichez la table Artistes en mode Feuille de donnes et
enregistrez-la. Essayez de saisir une date de naissance en dehors
des bornes dfinies et observez le rsultat aprs avoir valid la
saisie.

Figure 3.80 : La saisie dune


donne errone est refuse
et le message derreur
saffiche

3.5. Appliquer des rgles de validation

201

Appliquer une rgle de validation sur une table


Il est galement possible dappliquer des rgles de validation au
niveau de la table (et pas seulement au niveau des champs). Plus
puissantes, elles autorisent la combinaison des donnes de plusieurs champs. Voici un exemple simplifi : une table qui utiliserait
deux champs, le premier pour stocker un montant hors taxes, le
second pour enregistrer le montant de la TVA, pourrait se voir appliquer une rgle de validation qui interdirait la saisie, dans un troisime champ, dune valeur diffrente de la somme des valeurs des
deux premiers.
Il nest pas possible de dfinir une rgle de validation pour un champ
en faisant rfrence un autre champ. Il est obligatoire de dfinir la
rgle au niveau de la table.
La rgle de validation est dfinie dans la proprit Valide si de la
table. Si la donne saisie dans le champ est refuse, un message
davertissement saffiche. Ce message peut tre prcis dans la proprit Message si erreur.
Imaginez maintenant la situation suivante : une table, nomme Table_validation, contient trois champs numriques : Total_HT, Total_TVA et Total_TTC.
Pour que les donnes soient cohrentes, il importe que Total_TTC soit
gal la somme de Total_HT et de Total_TVA. Il vous est alors possible
de traiter ce problme en appliquant une rgle de validation de table
non plus au niveau du champ, mais au niveau de la table.
1 En mode Cration de la table, cliquez sur le bouton Feuille des
proprits du groupe Afficher/Masquer de longlet Cration ou utilisez la combinaison des touches [Alt]+[], ou encore cliquez du
bouton droit puis choisissez Proprits dans le menu contextuel
qui saffiche.
Le volet Feuille de proprits saffiche droite de la structure de la
table.
2 Cliquez dans la zone Valide si, puis sur le bouton Gnrer symbolis par les trois petits points se trouvant droite de la zone de
lancement du Gnrateur dexpression (voir Figure 3.81).
3 Dans la liste Elments dexpression du Gnrateur dexpression,
cliquez sur Table_validation. Double-cliquez sur le champ Total_TTC
de la liste Catgories dexpressions.

202

3. Construire une structure de table optimale

Figure 3.81 : Le Gnrateur dexpression sera utilis pour rdiger la rgle de validation sur la table

4 Dans la zone ddition, saisissez le caractre =, puis double-cliquez


sur le champ Total_HT dans la liste Catgories dexpressions. Saisissez +, puis double-cliquez sur le champ Total_TVA pour obtenir
le rsultat suivant :

Figure 3.82 : Lcriture de la formule dans le Gnrateur dexpression

5 Cliquez sur OK pour fermer le Gnrateur dexpression.


La formule est affiche dans la proprit Valide si de la table. Saisissez maintenant le message davertissement afficher en cas derreur
de saisie :

3.5. Appliquer des rgles de validation

203

6 Dans la proprit Message si erreur, tapez La somme du Total_HT et


du Total_TVA doit tre gale au Total_TTC.
Comme lindique le nom de la proprit, ce message sera affich si
lutilisateur tente de transgresser la rgle de validation.
Figure 3.83 : La rgle de
validation de la table

7 Enregistrez et affichez la table en mode Feuille de donnes en


utilisant le bouton Affichage de longlet Cration. Testez la rgle de
validation en tentant denfreindre la rgle de validation de la table.
La premire ligne, qui respectait la rgle de validation de la table, a
t saisie sans problme. En revanche, Access vous empche de
valider la deuxime ligne (lorsque vous tentez de passer la ligne
suivante par exemple) car les rgles de validation de la table ne sont
pas respectes.

Figure 3.84 : Le message


derreur apparat lors de la
transgression de la rgle de
validation, aprs la
validation de la troisime
ligne

Le bouton Tester les rgles de validation


Le bouton Tester les rgles de
Figure 3.85 : Le bouton
validation du groupe Outils de longlet
Tester les rgles de
Cration permet, lorsquil est cliqu, de
validation du groupe Outils
vrifier les rgles de validation des enregistrements. Il teste galement si les
donnes de la table respectent les proprits NullInterdit et ChaneVideAutorise.

Les champs calculs, une nouveaut dAccess 2010


Cette version dAccess prsente dsormais un nouveau type de champ,
nomm "Champ calcul", propos dans la liste des types de donnes, en
mode Cration. Il permet, au moyen du Gnrateur dexpression, de dfinir la
valeur dun champ en fonction de celles dautres champs de la table.

204

3. Construire une structure de table optimale

Dans cet exemple, la valeur TTC, somme de la valeur HT et du montant


de la TVA, pourrait tre calcule facilement par ce type de champ, vitant
les erreurs de calcul et faisant gagner du temps loprateur de saisie.

3.6. Indexer les donnes


Stock de manire transparente pour lutilisateur, un index est un
ensemble dinformations permettant un classement logique des enregistrements, selon un ordre diffrent de lordre physique dinscription des enregistrements dans la table. Ainsi, une table renfermant
des noms de personnes pourra tre indexe sur un champ Nom, sur
un champ Prnom ou sur la combinaison des deux, par exemple.

Index multichamps
Un index peut tre constitu sur un maximum de dix champs.

Fondamentalement, un index fonctionne comme un tri (qui, lui aussi,


effectue un classement des donnes selon un critre diffrent de
lordre de saisie des donnes dans la table), mais il permet dautres
traitements comme lempchement de la cration de doublons (valeurs identiques saisies dans le champ de plusieurs enregistrements
dune table). Les index permettent galement dacclrer les tris ou
encore la vitesse dexcution de certains traitements (que vous
navez pas encore dcouverts) tels que les requtes et les regroupements. La cl primaire dune table est indexe automatiquement. Les
doublons (cest--dire les saisies, dans un champ, de donnes identiques pour plusieurs enregistrements) peuvent ou non tre autoriss dans les index.

Crer un index sur un champ


Les index utilisant un champ unique sont les plus frquents. Procdez ainsi :
1 Ouvrez une table en mode Cration.
2 Placez le point dinsertion dans la ligne du champ sur lequel vous
souhaitez crer un index.

3.6. Indexer les donnes

205

3 Dans la partie infrieure de la fentre, cliquez dans la zone de la


proprit Index, puis sur Oui - Avec doublons ou sur Oui - Sans
doublons dans la liste affiche.

Figure 3.86 : Lindex peut autoriser ou non


les doublons

Champs non indexs


Les champs de type de donnes Mmo, Lien hypertexte, Objet OLE et
Pice jointe ne peuvent tre indexs.

La proprit Index utilise les valeurs suivantes :


Tableau 3.7 : Les valeurs proposes dans la proprit Index
Valeur

Description

Non

Cette valeur, propose par dfaut, indique quaucun index nest cr


sur le champ.

Oui Avec doublons Lorsque cette valeur est choisie, un index autorisant les doublons est
constitu.
Oui Sans doublons Lorsque cette valeur est choisie, un index nautorisant pas les doublons
est constitu.

Les index sur les cls primaires


Lorsquune cl primaire est cre sur un seul champ dune table, Access
impose lutilisation dun index sans doublon.

Lordre de lindex peut tre modifi.

206

3. Construire une structure de table optimale

4 Cliquez sur le bouton Index du groupe Afficher/Masquer de longlet


Cration.

Figure 3.87 : Le bouton Index du groupe Afficher/Masquer

La fentre Index apparat. Lindex dfini dans la proprit Index


utilise un tri croissant par dfaut.
5 Pour modifier lordre de lindex, slectionnez Dcroissant dans la
colonne Ordre de tri afin dappliquer un ordre dcroissant.

Figure 3.88 : Le choix de


lordre de lindex

Crer un index sur plusieurs champs


Un index peut utiliser plusieurs champs pour dterminer un ordre
logique aux donnes de la table. Lordre des champs choisis dtermine la hirarchie de lordonnancement (le classement est effectu
sur le premier champ, sur le deuxime, sur le troisime, etc.). Procdez ainsi :
1 Ouvrez une table en mode Cration.
2 Cliquez sur le bouton Index du groupe Afficher/Masquer de longlet
Cration.
La fentre Index saffiche. Voici comment dfinir la premire ligne de
lindex :
3 Dans la premire ligne vide de la colonne Nom de lindex, tapez le
nom de lindex.
Vous pouvez lui attribuer le nom de lun des champs utiliss dans
lindex ou choisir un autre nom.

3.6. Indexer les donnes

207

4 Dans la colonne Nom du champ, slectionnez le premier champ


utilis dans lindex lintrieur de la liste propose.
Lors de la dfinition des lignes suivantes qui composent lindex, la
saisie du nom de lindex nest pas rpte (seuls les champs et
lordre dans lequel ils sont classs sont indiqus).
5 Dans la deuxime ligne, conservez la colonne Nom de lindex vide.
Dans la colonne Nom du champ, slectionnez le deuxime champ
de lindex.
6 Rptez ventuellement ltape prcdente pour intgrer dautres
champs dans lindex.

Figure 3.89 : Exemple


dindex utilisant trois
champs

Lordre de lindex peut tre modifi. Lordre croissant est propos par
dfaut lors de la slection dun champ utilis dans lindex.
7 Si vous dsirez le modifier, choisissez Dcroissant dans la colonne
Ordre de tri des champs concerns dans la fentre Index.
Les index multichamps peuvent tre utiliss pour empcher la cration de doublons constitus par associations de valeurs identiques
sur plusieurs champs (des personnes portant la fois le mme nom,
le mme surnom et le mme prnom, par exemple) et garantir ainsi
lunicit de chaque enregistrement de la table.
8 Dans la fentre Index, cliquez sur le nom de lindex.
9 Sous la rubrique Proprits de lindex, choisissez Oui sur la liste
propose de la proprit Unique.

La proprit Unique
La proprit Unique de lobjet Index indique, lorsquelle prend la valeur
Oui, que les doublons ne sont pas autoriss dans lindex (et quils le sont
lorsquelle prend la valeur Non).

208

3. Construire une structure de table optimale

Un paramtre supplmentaire peut venir caractriser le fonctionnement de lindex :


10 Sous la rubrique Proprits de lindex, choisissez Oui dans la liste
propose de la proprit Ignorer Nulls.

Figure 3.90 : Un index sans


doublons est ici constitu
sur trois champs de la table
et les valeurs nulles ne
seront pas indexes

La proprit Ignorer Nulls


Cette proprit permet dindexer ou non les champs renfermant des valeurs Null. Lorsque la valeur de la proprit est Oui, ces champs sont exclus
de lindex (et ils ne le sont pas lorsque la valeur de la proprit est Non).

Supprimer un index
Un index peut facilement tre supprim. Les donnes de la table nen
sont alors nullement affectes.
1 Ouvrez une table dans laquelle lindex est supprimer en mode
Cration.
2 Cliquez sur le bouton Index du groupe Afficher/Masquer de longlet
Cration.
3 Dans la fentre Index, slectionnez la ou les lignes de lindex
supprimer, puis appuyez sur la touche [Suppr].

3.7. Cas pratique


Afin dassocier quelques images concrtes aux nombreuses notions
thoriques dveloppes dans ce chapitre, vous allez vous exercer
maintenant sur la base de donnes de gestion de livres dj utilise
dans les cas pratiques des chapitres prcdents. Les structures des
tables Contacts et Livres seront notablement optimises.
3.7. Cas pratique

209

Optimiser la table Contacts


Vous allez apporter des modifications la structure et aux proprits
des champs de la table Contacts afin de faciliter la saisie en mode
Feuille de donnes selon le tableau suivant :
Tableau 3.8 : Les amliorations apportes la structure de la table Contacts
Nom de champ Lgende ajouter
nocontact
nom

Numro
Nom du contact

prenom
titre

Prnom du contact
Titre

societe

Nom de la socit

adresse
cp

Adresse
Code postal

ville

Ville

departement
pays
telephone

Dpartement
Pays
Numro de tlphone

telecopie

Numro de tlcopie

courriel
internet

Courriel
Site web

commentaire

Commentaire

Amlioration apporte
Les donnes saisies dans le champ apparatront en majuscules, quelle que soit la casse
utilise lors de la saisie.
Le titre sera choisi parmi une liste de valeurs
(Monsieur, Madame, Mademoiselle, Matre).
La taille du champ sera ramene 150 caractres.
La saisie seffectuera sur 5 chiffres obligatoirement.
Les donnes saisies dans le champ apparatront en majuscules, quelle que soit la casse
utilise lors de la saisie.

Un masque de saisie spcifique la saisie dun


numro de tlphone de 10 chiffres sera appliqu.
Un masque de saisie spcifique la saisie dun
numro de tlcopie de 10 chiffres sera appliqu.
Par dfaut, la chane de caractres www. sera
propose dans le champ.

Attribuer une lgende chaque champ


1 Ouvrez la base de donnes Livres.accdb, dveloppe dans la section Cas pratique du chapitre prcdent.

Tlchargement de la base de donnes


Vous trouverez la base de donnes utilise ici, Livres.accdb, sur le site de
Micro Application (www.microapp.com) dans le dossier Chapitre02.

210

3. Construire une structure de table optimale

2 Dans le Volet de navigation, cliquez du bouton droit sur la table


Contacts puis choisissez Mode Cration dans le menu contextuel
qui apparat.
Pour chaque champ, vous allez saisir une lgende.
3 Pointez sur le premier champ nocontact. Saisissez Numro dans la
zone Lgende sous longlet Gnral.
4 Pour les autres champs, saisissez les lgendes dfinies dans le
tableau prcdent.
5 Affichez la table Contacts en mode Feuille de donnes pour vrifier
que les en-ttes de colonnes utilisent les lgendes. Pour cela,
cliquez sur le bouton Affichage de longlet Cration. Enregistrez la
table.

Figure 3.91 : Les lgendes sont affiches dans les en-ttes des colonnes en mode Feuille de donnes

Appliquer un format majuscule


Il est dusage courant de prsenter les noms de famille et les noms
de ville en majuscules. Ne pouvant pas prvoir la casse (cest--dire
la combinaison des minuscules et des majuscules) quutilisera loprateur de saisie, vous appliquerez le format majuscule sur les
champs nom et ville.
1 Affichez la table Contacts en mode Cration en cliquant sur le
bouton Affichage de longlet Feuille de donnes.
2 Saisissez le caractre > dans la zone Format sous longlet Gnral
des champs nom et ville.

Figure 3.92 : Le format majuscule sera appliqu lors de laffichage des donnes dans le champ Ville
de la table Contacts

3.7. Cas pratique

211

Modifier la taille du champ


Rappelez-vous que la taille par dfaut dun champ de type de donnes Texte est de 255 caractres. Or, certaines donnes, comme
celles que renferme le champ societe, ne ncessitent pas un tel
espace pour tre correctement saisies.
Vous allez modifier la taille du champ societe de la table Contacts.
1 La table Contacts est toujours affiche en mode Cration.
Vous allez ramener la taille du champ 150 caractres. Cette taille est
adapte la saisie de la majorit des zones contenant les libells des
socits.
2 Cliquez sur le champ societe, puis sur Taille du champ sous longlet
Gnral. Entrez la valeur 150 dans cette zone.

Affecter une valeur par dfaut


La plupart des adresses Internet commencent par www. Vous allez
proposer cette valeur par dfaut lors de la saisie. Pour cela :
1 Affichez la table Contacts en mode Cration.
2 Cliquez sur le champ internet, puis sur Valeur par dfaut sous
longlet Gnral. Entrez la valeur www. dans cette zone.

Figure 3.93 : La saisie de la valeur par dfaut du champ Internet de la table Contacts

Appliquer des masques de saisie


Vous allez appliquer des masques de saisie sur le code postal, les
numros de tlphone et de tlcopie de la table Contacts.

212

3. Construire une structure de table optimale

Commencez par crer un masque de saisie pour le champ cp qui


reoit le code postal. Vous empcherez ainsi la saisie de texte dans ce
champ :
1 Affichez la table Contacts en mode Cration.
2 Cliquez sur le champ cp, puis sur Masque de saisie sous longlet
Gnral. Cliquez sur le bouton reprsentant trois petits points
droite de la zone Masque de saisie.
3 Acceptez denregistrer la table Contacts en rpondant Oui dans la
bote de dialogue qui apparat.
LAssistant Masque de saisie apparat.
4 Dans la premire tape de lAssistant, choisissez Code Postal
(France) sur la liste Masque de saisie. Cliquez sur le bouton Suivant.

Figure 3.94 : Le choix du masque de saisie : Code Postal

5 Conservez les paramtres proposs dans ltape suivante (dans la


zone Masque de saisie, les zros indiquent une saisie obligatoire de
chiffres de 0 9). Cliquez sur le bouton Suivant.
6 Conservez encore les paramtres proposs. Cliquez sur le bouton
Suivant.
Ici, il ny a pas de diffrence entre les deux aperus correspondant
aux options Avec les symboles dans le masque et Sans les symboles
dans le masque. En effet, il ny a pas de symbole dans le masque du
code postal.
7 Cliquez sur le bouton Terminer dans la dernire tape de lAssistant.

3.7. Cas pratique

213

Le masque de saisie choisi avec lAssistant est affich dans la ligne


Masque de saisie du champ cp.

Figure 3.95 : Le masque de


saisie du champ cp

Vous allez maintenant crer un masque de saisie pour le numro de


tlphone et le numro de tlcopie, de manire obtenir des
numros formats tels que 06 03 06 03 06. Pour cela :
8 Placez-vous dans le champ telephone. Cliquez sur la zone Masque
de saisie, sous longlet Gnral, puis sur le bouton Gnrateur du
groupe Outils de longlet Cration, dans le Ruban. Acceptez denregistrer la table Contacts. Dans lAssistant Masque de saisie qui
apparat, choisissez le masque Numro de tlphone puis cliquez
sur le bouton Suivant. Dans la bote de dialogue suivante, choisissez # sur la liste Caractre espace rserv. Cliquez sur le bouton
Suivant. Dans la bote de dialogue suivante, choisissez loption
Avec les symboles dans le masque. Cliquez sur le bouton Suivant
puis sur Terminer.
9 Procdez de la mme faon pour le champ telecopie afin de lui
appliquer un masque de saisie identique.

Figure 3.96 : Le masque de saisie du champ telecopie

Affecter une liste de valeurs constantes un champ


Vous allez crer une liste de choix sur le champ titre de la table
Contacts :
1 Affichez la table Contacts en mode Cration.

214

3. Construire une structure de table optimale

2 Cliquez sur le champ titre. Dans la colonne Type de donnes de ce


champ, choisissez Assistant Liste de choix sur la liste.
3 Dans la premire tape de lAssistant Liste de choix, cochez loption Je taperai les valeurs souhaites. Cliquez sur Suivant.
4 Dans ltape suivante de lAssistant, saisissez les valeurs Monsieur,
Madame, Mademoiselle, Matre dans la colonne et cliquez sur Suivant.
Ltiquette propose ici nest rien dautre que le nom du champ, que
vous allez conserver.
5 Cliquez sur le bouton Terminer.
6 Cliquez sur longlet Liste de choix pour visualiser les renseignements fournis lAssistant dans la proprit Contenu du champ
titre.

Figure 3.97 : Longlet Liste de


choix du champ titre

Tester les modifications sappliquant lors de la saisie


Vous allez saisir un enregistrement dans la table des contacts, aprs
son optimisation, pour constater les consquences des modifications que vous venez dapporter.
1 Affichez la table Contacts en mode Feuille de donnes sans oublier
de lenregistrer.
2 Placez-vous dans la premire ligne vide de la table afin dajouter
un nouvel enregistrement.

3.7. Cas pratique

215

3 Dans la colonne Nom du contact, saisissez un nom en minuscules


et validez-le, par exemple nova. Saisissez galement un nom de
ville en minuscules dans la colonne Ville, par exemple metz.
Le nom du contact et celui de la ville saffichent en majuscules aprs
validation des valeurs saisies.
4 Cliquez dans la colonne Titre.
La liste de choix apparat.
5 Choisissez une civilit, par exemple Monsieur.
6 Saisissez le code postal compos de 5 chiffres dans la colonne
Code postal, par exemple 57000.
7 Dans la colonne Numro de tlphone, remplacez chaque dise du
masque de saisie par un chiffre, par exemple 0387000000. Faites de
mme pour la saisie du numro de tlcopie dans la colonne
Numro de tlcopie.
Si vous validez une saisie incomplte, Access affiche un message et
vous empche de continuer.
8 Cliquez dans ce cas sur le bouton OK de la bote de dialogue
affiche. Continuez la saisie en respectant le masque de saisie ou
annulez la saisie en utilisant la touche [chap].

Figure 3.98 : La saisie du numro de tlcopie

9 Dans la colonne Site web, saisissez la suite de ladresse du site


Internet en utilisant la touche [F2] pour passer en mode ddition.
Compltez de mme les autres colonnes.

Figure 3.99 : Le dbut de la ligne en cours de saisie

10 Fermez et enregistrez la table Contacts.

216

3. Construire une structure de table optimale

Optimiser la table Livres


Vous allez maintenant apporter des modifications la structure et
aux proprits des champs de la table Livres selon le tableau suivant,
afin de faciliter la saisie en mode Feuille de donnes :
Tableau 3.9 : Les amliorations apportes la structure de la table Livres
Nom de champ Lgende ajouter
nolivre

Numro

titre

Titre de livre

Amlioration apporte
La saisie dans ce champ devra tre obligatoire.

anneecopyright Anne de copyright

La saisie sera effectue sur 4 chiffres.

isbn

NISBN

Un masque de saisie spcifique la saisie


dune telle donne sera cr.

datesortie

Date de sortie

prixHT

Prix HT

remarque

Commentaire

collection

Collection

Le choix de la collection seffectuera sur une


liste de choix (les valeurs proposes Poche,
Super Poche, Titan, Je me lance, Tout de
suite seront puises dans la table Collection).

type

Type

Le choix du type de livre seffectuera sur une


liste de choix (les valeurs proposes Bureautique, Programmation, Loisirs seront puises dans la table Type).

Le prix ne devra pas tre ngatif.

Dfinir un champ dans lequel la saisie est obligatoire


Vous allez imposer la saisie des titres des livres. Pour cela :
1 Vrifiez que la base de donnes Livres.accdb est ouverte.
2 Dans le Volet de navigation, cliquez du bouton droit sur la table
Livres et choisissez Mode cration dans le menu contextuel qui
apparat.
3 Cliquez sur le champ titre. Choisissez Oui dans la liste des valeurs
proposes de la ligne Null interdit, sous longlet Gnral. De mme,
choisissez la valeur Non dans la proprit Chane vide autorise
(voir Figure 3.100).
Vous allez vrifier, dans la feuille de donnes, quil est dsormais
obligatoire de saisir le titre du livre.
4 Affichez la table en mode Feuille de donnes en utilisant le bouton
Affichage. Acceptez denregistrer la table Livres.
3.7. Cas pratique

217

Figure 3.100 : La saisie du titre sera obligatoire

Access constate quune rgle est applique sur un champ de la table.


5 Autorisez la vrification de lintgrit des donnes en cliquant sur
le bouton Oui de la bote de dialogue qui apparat.
6 Dans la colonne titre du premier enregistrement, supprimez le titre
puis validez.
Access constate que la rgle est viole.
7 Cliquez sur le bouton OK de la bote de dialogue. Saisissez un titre
ou utilisez la touche [chap] pour retrouver lancienne valeur.

Figure 3.101 : Access


refuse les donnes non
conformes aux rgles de
validation dfinies sur le
champ

Dfinir des masques de saisie


Vous allez imposer la saisie de 4 chiffres dans le champ anneecopyright.

1 Affichez la table Livres en mode Cration.


2 Cliquez sur le champ anneecopyright. Saisissez 0000;;# dans la
zone de proprit Masque de saisie sous longlet Gnral.

218

3. Construire une structure de table optimale

Figure 3.102 : Le masque de saisie du


champ anneecopyright

Vous allez affecter un masque de saisie au champ isbn laide de


lAssistant Masque de saisie :
3 Cliquez sur le champ isbn de type de donne Texte. Cliquez dans la
ligne Masque de saisie sous longlet Gnral. Cliquez sur le bouton
reprsentant trois petits points droite de la zone Masque de
saisie. Acceptez denregistrer la table Livres.
4 Dans la premire tape de lAssistant Masque de saisie, choisissez
ISBN lintrieur de la liste Masque de saisie. Cliquez sur le bouton
Suivant.

Figure 3.103 : Le choix du masque de saisie de type ISBN

5 Dans la bote de dialogue suivante, remplacez le masque propos,


ISBN 0-&&&&&-&&&-0, dans la zone Masque de saisie par
0&&&&&&&&&.
6 Choisissez * dans la liste Caractre espace rserv. Cliquez sur le
bouton Suivant. Dans la bote de dialogue suivante, choisissez

3.7. Cas pratique

219

loption Avec les symboles dans le masque. Cliquez sur le bouton


Suivant puis sur Terminer.
la proprit Masque de saisie, le masque dfini avec lAssistant est
dsormais affich.

Figure 3.104 : Le masque de saisie du champ


isbn

Vous allez maintenant vrifier la saisie du numro ISBN laide du


masque de saisie. Pour cela :
7 Affichez la table en mode Feuille de donnes en utilisant le bouton
Affichage de longlet Cration. Acceptez denregistrer la table Livres.
8 Cliquez dans la colonne isbn du premier enregistrement vide et
saisissez un numro en respectant le masque de saisie.
Si la saisie du numro ISBN est incomplte, Access constate que le
masque nest pas respect.
9 Cliquez sur le bouton OK de la bote de dialogue. Poursuivez la
saisie ou utilisez la touche [chap] pour retrouver lancienne valeur.

Affecter une liste de valeurs issues dune autre table


Dans le cas pratique du chapitre prcdent, vous avez remarqu que
plusieurs livres pouvaient appartenir la mme collection. Pour
viter de saisir une collection plusieurs fois, vous allez crer la liste
de choix pour le champ collection de la table Livres, de telle sorte que
ses donnes soient puises dans la table des collections. Si une
nouvelle collection vient paratre, vous naurez ainsi qu lajouter
dans la table Collections.
Vous allez commencer par crer la table Collections et y saisir les
diffrentes collections (Je me lance !, Le Poche, Tout de suite, etc.).
1 Affichez la table Livres en mode Cration. Cliquez sur longlet Crer
puis sur le bouton Cration de table du groupe Tables, dans le
Ruban.
Un nouvel onglet, nomm Table1, saffiche.

220

3. Construire une structure de table optimale

2 Crez la structure de la table, compose des champs nocollection


et nom.

Figure 3.105 : La structure de la table, aprs sa cration

3 Affichez la table en mode Feuille de donnes, sans oublier denregistrer la table avec le nom Collections et en autorisant la cration
dune cl primaire sur le premier champ dans les diffrentes botes
de dialogue qui saffichent. Saisissez les collections suivantes en
mode Feuille de donnes de la table Collections :

Figure 3.106 : Les donnes de la table


Collections

4 Fermez la table Collections si celle-ci est ouverte.


De retour dans la structure de la table Livres, vous allez modifier le
champ collection de telle sorte quil utilise une liste de choix dont les
donnes seront issues de la table Collections.
5 Cliquez sur le champ collection. Dans la colonne Type de donnes
de ce champ, choisissez Assistant Liste de choix sur la liste. Dans la
premire tape de lAssistant Liste de choix, cochez loption Je
veux que la liste de choix recherche les valeurs dans une table ou
requte. Cliquez sur le bouton Suivant.
Ltape suivante de lAssistant Liste de choix affiche les autres tables
de la base de donnes Livres.
6 Slectionnez la table Collections. Cliquez sur le bouton Suivant.
7 Glissez tous les champs de la colonne Champs disponibles dans la
colonne Champs slectionns droite en cliquant sur le bouton >>.
Cliquez sur le bouton Suivant.

3.7. Cas pratique

221

8 Choisissez sur la premire liste le champ nom. Cliquez sur le


bouton Suivant.
Les donnes de la table Collections sont listes dans lAssistant. La
colonne cache est la colonne de la cl primaire de la table Collections.
9 Cliquez sur les boutons Suivant et Terminer.
Lors de la cration de la liste de choix, Access cre une relation entre
les tables Livres et Collections.
10 Cliquez sur le bouton Oui de la bote de dialogue qui apparat pour
valider la cration de la relation et de la liste de choix.
Access vous avertit ensuite, dans une nouvelle bote de dialogue,
que certaines donnes pourraient tre perdues. Cet inquitant message davertissement provient de la transformation du type du
champ collection qui, de texte, devient numrique (le champ contenait les noms des collections et il devra dsormais renfermer les
numros des cls primaires correspondant aux collections dans la
table Collections).
11 Cliquez sur le bouton Oui de la bote de dialogue.
Une nouvelle bote de dialogue, encore plus alarmante que la prcdente, vous signale maintenant que des erreurs ont t rencontres
lors de la conversion des donnes. Il sagit en fait des donnes de
type texte, anciennement contenues dans le champ collection, qui
nont pu tre conserves car le champ est dsormais de type numrique.
12 Cliquez sur le bouton Oui de la bote de dialogue.
Le type de donnes du champ collection a chang : il est maintenant
de type Numrique.
13 Cliquez sur longlet Liste de choix pour visualiser la proprit
Contenu renseigne par lAssistant.

Figure 3.107 : La proprit


Contenu

222

3. Construire une structure de table optimale

Vous allez visualiser la liste de choix en mode Feuille de donnes de


la table Livres.
14 Cliquez sur le bouton Affichage de longlet Cration.
La colonne collection est vide pour chaque enregistrement.
15 Cliquez dans la premire cellule de la colonne collection. Cliquez
sur la flche propose droite de la cellule et permettant de
drouler la liste de choix.
Les diffrentes collections de la table Collections y sont affiches.
16 Cliquez sur un lment de la liste.
Celui-ci est affich dans le champ Collection.

Figure 3.108 : Les lments de la liste de choix

Il vous reste vrifier que la liste du champ est mise jour lors de la
modification de la table Collections.
17 Fermez la table Livres et affichez la table Collections en mode
Feuille de donnes. Ajoutez-y la collection Guide des experts, dans
la premire ligne vide de la colonne nom de la table.
18 Fermez la table Collections et ouvrez la table Livres en mode Feuille
de donnes. Cliquez sur la liste de la colonne collection.
La nouvelle collection est affiche sur la liste de choix.

Figure 3.109 : La nouvelle collection figure dsormais sur la liste de choix

3.7. Cas pratique

223

Vous pouvez, sur le mme modle, constituer une liste de choix sur
le champ type. Cette liste puisera ses donnes dans une table Types,
compose des champs notype et nom quil vous faudra crer. Vous y
insrerez les donnes suivantes : Bureautique, Programmation, Loisirs,
Systme Informatique, Informatique gnrale.

Interdire la saisie dun prix ngatif


Le prix dun livre ne doit pas tre ngatif. Vous allez donc appliquer
une rgle de validation sur le champ prixHT de la table Livres pour
empcher la saisie dun nombre ngatif.
1 Affichez la table Livres en mode Cration. Cliquez sur le champ
prixHT.
Vous allez saisir directement lexpression sans utiliser le Gnrateur
dexpression.
2 Saisissez >=0 dans la proprit Valide si.
Prcisez maintenant le message davertissement afficher en cas
derreur de saisie :
3 Saisissez dans la proprit Message si erreur le texte Saisissez un
prix HT positif.

Figure 3.110 : La dfinition des deux proprits

Il ne vous reste qu tester la saisie du prix en mode Feuille de


donnes :

224

3. Construire une structure de table optimale

4 Affichez la table Livres en mode Feuille de donnes et enregistrezla.


5 Cliquez sur le bouton Oui de la bote de dialogue qui apparat pour
vrifier lintgrit des donnes.
6 Saisissez un prix hors taxe ngatif dans la colonne prixHT. Validezle.
Access affiche le message dfini prcdemment dans la proprit
Message si erreur.
7 Cliquez sur le bouton OK de la bote de dialogue. Corrigez le prix
ou utilisez la touche [chap] pour retrouver lancienne valeur.

Appliquer une rgle de validation sur une table


Lanne de copyright dun livre ne peut tre postrieure celle de la
date de sortie du livre. Vous allez appliquer une rgle de validation
sur la table et non sur le champ. La valeur du champ anneecopyright
sera compare celle de lanne du champ datesortie. Procdez
ainsi :
1 Affichez en mode Cration la table Livres. Cliquez sur le bouton
Feuille des proprits du groupe Afficher/Masquer de longlet Cration.
2 Dans le volet Feuille de proprits qui est affich, cliquez dans la
zone Valide si, puis sur le bouton Gnrer symbolis par les trois
petits points droite de la zone de lancement du Gnrateur
dexpression.
3 Dans la liste Elments dexpression du Gnrateur dexpression,
cliquez sur Livres. Double-cliquez sur le champ anneecopyright
dans la liste Catgories dexpressions.
Le champ saffiche dans la zone ddition.
4 Cliquez sur llment dexpression Oprateurs puis sur Comparaison. Double-cliquez sur la valeur dexpression <=.
5 Dveloppez llment dexpression Fonctions, slectionnez Fonctions intgres puis Date/Heure. Double-cliquez sur Annee.
6 Cliquez sur date dans la zone ddition puis slectionnez Livres
dans la liste Elments dexpression. Double-cliquez sur le champ
datesortie dans la zone centrale pour obtenir le rsultat suivant :
(voir Figure 3.111)
7 Cliquez sur le bouton OK pour fermer le Gnrateur dexpression.

3.7. Cas pratique

225

Figure 3.111 : Lcriture de la formule dans le Gnrateur dexpression

La formule [anneecopyright] <= Anne ( [datesortie] ) saffiche dans


la proprit Valide si de la table.
8 Saisissez dans la proprit Message si erreur le texte Veuillez
saisir une anne de copyright antrieure lanne de la date de
sortie.
Comme lindique le nom de la proprit, ce message sera affich si
lutilisateur tente de transgresser la rgle de validation.

Figure 3.112 : La rgle de validation de la table Livres

Vous allez maintenant tester la rgle de validation.

226

3. Construire une structure de table optimale

9 Enregistrez et affichez la table en mode Feuille de donnes. Validez


les diffrentes botes de dialogue en cliquant sur leurs boutons
Oui.
10 Saisissez une anne de copyright postrieure une anne de la
date de sortie. Validez.
Access vous empche de valider la ligne lorsque vous tentez de
passer la ligne suivante, par exemple, car la rgle de validation de
la table nest pas respecte.
11 Cliquez sur le bouton OK de la bote de dialogue. Corrigez lanne
de copyright ou utilisez la touche [chap] pour retrouver lancienne
valeur.

Garantir lunicit du numro dISBN au moyen dun


index
Un numro dISBN doit tre unique. Vous allez crer un index sans
doublon sur le champ isbn de la table Livres.
1 Affichez en mode Cration la table Livres (si le volet Feuille de
proprits est affich, cliquez sur le bouton Feuille des proprits du
groupe Afficher/Masquer de longlet Cration pour le masquer) et
placez le point dinsertion dans la ligne du champ isbn.
2 Cliquez dans la zone de la proprit Index. Choisissez Oui - Sans
doublons dans la liste propose.
Vous allez vrifier la constitution de lindex sur la liste des index.
3 Cliquez sur le bouton Index du groupe Afficher/Masquer de longlet
Cration.
Lindex dfini dans la proprit Index est affich dans la fentre
Index qui apparat sous lindex dj cr sur le champ de la cl
primaire.

Figure 3.113 : Le nouvel


index a t ajout la table

Vous allez vrifier laction de lindex en mode Feuille de donnes.


3.7. Cas pratique

227

4 Affichez la table en mode Feuille de donnes. Acceptez au passage


son enregistrement.
5 Saisissez le mme numro ISBN pour deux livres.
Access vous empche de valider la ligne lorsque vous tentez de
passer la ligne suivante, par exemple, car lunicit de la valeur nest
pas respecte.
6 Cliquez sur le bouton OK de la bote de dialogue. Corrigez un des
numros ISBN ou utilisez la touche [chap] pour retrouver lancienne valeur.
Pour clore ce cas pratique, il ne vous reste qu saisir les lgendes
des champs de la table telles quelles ont t dfinies dans le tableau
prsent au dbut de cette section.

Tlchargement de la base de donnes


Vous trouverez les bases de donnes utilises dans ce chapitre (Gestion
des disques.accdb et Livres.accdb) sur le site de Micro Application (www
.microapp.com) dans le dossier Chapitre03.

228

3. Construire une structure de table optimale

CHAPITRE 4

CONTRLER
LA COHRENCE
DES DONNES
Comprendre lutilit des relations et de lintgrit rfrentielle .......... 231
Dfinir une cl primaire dans une table .......................................................... 233
Dfinir les relations entre les tables ................................................................. 237
Appliquer des rgles dintgrit rfrentielle ............................................... 256
Imprimer les relations ............................................................................................. 264
Cas pratique ................................................................................................................. 265

229

Vous savez maintenant crer des tables, y entrer des donnes,


contrler leur saisie et retrouver des informations. De plus, comme
vous lavez constat, une base de donnes bien construite utilise de
nombreuses tables pour rpartir sans redondance et de faon judicieuse les informations enregistres.
Mais les tables, pour tre exploitables, ne doivent pas rester isoles,
comme elles lont t jusqualors. Dans ce chapitre, vous allez donc
dcouvrir les relations, lment charnire essentiel, dont le rle est
dassurer la jonction conceptuelle entre les diffrentes tables de la
base de donnes afin de permettre une exploitation cohrente et
scurise des informations quelle renferme.

4.1. Comprendre lutilit des relations et


de lintgrit rfrentielle
Lutilit de regrouper les informations par sujets (artistes, disques,
maisons ddition de disques, thme) a t dmontre. Chaque
sujet correspond une table, mais rien ne lie les sujets. Les lments
permettant dassurer ces liaisons se nomment "relations". Elles permettent, comme leur nom lindique, dtablir des corrlations entre
les tables, tout en assurant la cohrence des donnes.
Nul besoin dAccess pour dterminer les relations entre les tables :
un simple crayon et une feuille de papier suffisent. Et comme cette
tape danalyse demande, vous allez le voir, un minimum de rflexion, une gomme ne sera pas de trop sil vous faut revenir en
arrire. Le logiciel vous offre toutefois une interface graphique trs
fonctionnelle. Avec un peu dentranement, vous tracerez vos relations directement depuis Access.

La mthode Merise
Si, en matire danalyse, vous souhaitez aller au-del des notions exposes dans cet ouvrage, vous trouverez de nombreux livres traitant de la
mthode Merise, lune des plus rpandues chez les concepteurs de bases de
donnes.

Dans ce chapitre, vous remarquerez limportance des relations alors


que les donnes sont encore prsentes sous une forme "brute",
dans des feuilles de donnes et que lapplication de lintgrit rfrentielle accrot considrablement ltendue de leur contrle quant
la cohsion des donnes. Plus loin dans cet ouvrage, vous constate-

4.1. Comprendre lutilit des relations et de lintgrit rfrentielle

231

rez que leur action perdure dans les formulaires (qui sont des outils
de prsentation des donnes) et, de manire gnrale, dans tous les
objets permettant daccder aux donnes.
Pour mettre en relation deux tables, il est ncessaire de disposer
dune information commune. Sauf cas exceptionnels, une table devra donc toujours disposer dun champ particulier, renfermant une
cl primaire et contenant des valeurs par dfinition uniques qui
pourront tre dupliques dans le champ dune autre table afin dtablir une relation. Une cl primaire peut tre indiffremment btie sur
un champ de type Texte ou Numrique. Toutefois, un champ de type
NumroAuto se prte particulirement bien lopration puisque ses
valeurs sont gnres automatiquement par Access.
Les cls primaires, indispensables pour tablir des relations, trouvent souvent dautres utilisations. Par exemple, si vous utilisez Access pour saisir des factures dans une table, les valeurs de la cl
primaire peuvent tre utilises comme numros de facture, dont
lunicit est une obligation lgale. Vous devrez alors choisir entre une
numrotation automatique des enregistrements ou une saisie manuelle des numros. Si vous optez pour la premire solution, vous
naurez qu reporter les valeurs gnres par Access sur vos factures, mais vous ne pourrez pas choisir ces numros qui vous seront
imposs par le logiciel. Si vous choisissez la seconde solution, vous
utiliserez votre propre numrotation, interne au service comptable
de votre entreprise. Il vous sera alors possible demployer nimporte
quel systme de rfrencement de facture, numrique ou alphanumrique, mais tous les numros devront tre distincts, sous peine
dessuyer un refus catgorique dAccess dentrer une rfrence dj
utilise.
On distingue plusieurs types de relations :
j

les relations un plusieurs, dans lesquelles un enregistrement de


la table principale (ou table mre) peut tre mis en relation avec un
ou plusieurs enregistrements de la table lie (ou table fille) ;

les relations plusieurs plusieurs dans lesquelles plusieurs enregistrements de la table mre peuvent tre mis en relation avec
plusieurs enregistrements de la table fille (par lintermdiaire
dune troisime table, dite table de jonction) ;
les relations un un, plus rares, et dans lesquelles un enregistrement de la table mre peut tre mis en relation avec un enregistrement de la table fille.

232

4. Contrler la cohrence des donnes

4.2. Dfinir une cl primaire dans


une table
Puisque les cls primaires reprsentent les cls de vote des relations, vous allez commencer par apprendre les crer. Il existe deux
types de cls primaires : la premire fait appel un champ unique de
la table alors que la seconde, plus rare, utilise une combinaison de
deux ou de plusieurs champs.

Dfinir une cl primaire sur un champ


Dans la plupart des cas, une cl primaire dfinie sur un seul champ
suffira pour tablir correctement les relations entre les tables.
Les conditions ncessaires et suffisantes pour crer une cl primaire
sur un champ sont les suivantes : les valeurs renfermes dans le
champ doivent tre uniques et non nulles.

Crer des cls primaires automatiquement


Lors de la cration de la structure dune nouvelle table, Access propose
systmatiquement, lenregistrement de la table, de crer pour vous une cl
primaire dans un champ de type NumroAuto si vous navez pas vous-mme
dfini la cl. Sauf raison particulire, acceptez toujours cette proposition. La
cl ainsi dfinie vous permettra, sans modification de la structure de la table,
de couvrir la majorit de vos "besoins" en matire de relations, mme si elles
sont construites ultrieurement. Et si la cl nest jamais utilise ? Dans ce cas,
la faible place occupe sur le disque dur sera un inconvnient mineur.

Procdez ainsi :
1 Ouvrez la table en mode Cration.
2 Placez le point dinsertion dans la ligne du champ ou slectionnez
le champ.
3 Cliquez sur le bouton Cl primaire du groupe Outils de longlet
Cration. Vous pouvez galement cliquer du bouton droit sur le
champ, puis choisir Cl primaire dans le menu contextuel qui
apparat.
La cl primaire est symbolise par limage dune cl gauche du
nom du champ (voir Figure 4.1).
Un index sur le contenu du champ est automatiquement cr en
mme temps que la cl primaire.

4.2. Dfinir une cl primaire dans une table

233

Figure 4.1 : La cl primaire est dfinie


sur un champ

4 Pour vrifier la prsence de lindex, cliquez sur le bouton Index du


groupe Afficher/Masquer de longlet Cration.
La fentre Index apparat. Lindex se nomme PrimaryKey et sa proprit Primaire prend la valeur Oui.

Figure 4.2 : Lindex cr avec la cl primaire

La proprit Primaire
Cette proprit de lindex indique si ce dernier est ou non affect une cl
primaire. Les valeurs quelle peut prendre sont boolennes (Oui ou Non).

Une autre mthode pour dfinir une cl primaire


Une autre mthode pour dfinir une cl primaire consiste, en mode Cration de table, cliquer sur le bouton Index du groupe Afficher/Masquer de
longlet Cration. Dans la premire ligne vide de la fentre Index, saisissez le

234

4. Contrler la cohrence des donnes

nom de lindex dans la colonne Nom de lindex. Dans la colonne Nom du


champ, slectionnez le champ qui sera utilis comme cl primaire sur la
liste. Modifiez ventuellement lordre de tri propos par dfaut dans la troisime colonne. Sous la rubrique Proprit de lindex, choisissez Oui dans la
liste de la proprit Primaire.

Dfinir une cl primaire sur plusieurs champs


Une cl primaire peut galement tre dfinie sur plusieurs champs.
Mme si lopration peut paratre surprenante au demeurant, elle se
rvle trs utile lorsque, dans une table de jonction servant tablir
une relation plusieurs plusieurs (cette notion est aborde plus loin
dans ce chapitre), une cl primaire est compose par lassociation de
deux champs regroupant les cls primaires de deux autres tables.
Mme compose sur plusieurs champs, la cl primaire dfinie doit
toujours conserver son unicit (la table ne doit jamais renfermer
deux combinaisons identiques de contenus de champs utiliss dans
la cl primaire). Procdez ainsi :
1 Ouvrez la table en mode Cration.
2 Slectionnez des champs, contigus ou non.
3 Cliquez sur le bouton Cl primaire de longlet Cration.
La cl primaire est symbolise par limage dune cl gauche du
nom des champs slectionns.

Figure 4.3 : La cl primaire est ici dfinie sur trois champs

Lordre des champs de la cl primaire


Comme vous lavez dcouvert prcdemment, la cration dun index est
toujours associe la dfinition dune cl primaire. Lordre des champs utilis

4.2. Dfinir une cl primaire dans une table

235

dans lindex est celui des champs dans la structure de la table. Cet ordre
dtermine celui qui est appliqu par dfaut lorsque la table est consulte.
Il peut toutefois tre modifi dans la fentre Index. Pour cela, cliquez sur le
bouton Index du groupe Afficher/Masquer de longlet Cration pour afficher
la fentre Index. Modifiez comme bon vous semble lordre des noms des
champs de lindex PrimaryKey.

Figure 4.4 : Lordre des


champs de la cl primaire

Supprimer une cl primaire


Une cl primaire peut tre supprime. Les donnes de la table ne
sont pas affectes par lopration. Procdez ainsi :
1 Ouvrez la table en mode Cration.
2 Placez le pointeur dans la ligne du champ de la cl primaire.
3 Cliquez sur le bouton Cl primaire du groupe Outils de longlet
Cration.
Le symbole de la cl disparat, gauche du nom du champ.

Cls primaires utilises dans des relations


Si la cl primaire est utilise dans une ou plusieurs relations, ce qui est
frquent, Access interdit la suppression du champ de la cl primaire. La
relation doit tre supprime avant le champ de la cl primaire.

Figure 4.5 : Le message dAccess, interdisant la suppression de la cl primaire avant celle de la


relation

236

4. Contrler la cohrence des donnes

4.3. Dfinir les relations entre les tables


Les relations permettent dtablir la corrlation entre les tables.
Chacune sappuie sur un champ et est symbolise par Access sous la
forme dune ligne aux extrmits desquelles apparat un caractre,
parmi deux, indiquant la nature du ct de la relation. Le caractre 1
et le caractre infini () traduisent respectivement le ct "un" et le
ct "plusieurs" de la relation lorsque lintgrit rfrentielle est
applique.
Cette notion est aborde plus loin dans ce chapitre.

Tlchargement de la base de donnes


Vous trouverez la base de donnes utilise dans ce chapitre, Gestion des
disques4.accdb, sur le site de Micro Application (www.microapp.com) dans le
dossier Chapitre04.

Construire des relations un plusieurs


Une relation met en rapport deux tables en utilisant un champ
commun. La relation du type un plusieurs est la plus frquente : la
cl primaire de la table principale est trs souvent employe pour
dfinir le ct un de la relation, tandis que son contenu est dupliqu
dans un champ de la seconde table (on parle de cl externe ou de cl
trangre), cest le ct plusieurs de la relation.
Voici un exemple de relation un plusieurs : dans un systme de
facturation qui utiliserait deux tables, celle des clients et celle des
factures, le ct un serait celui de la table des clients (une facture
nest tablie qu un seul client), alors que le ct plusieurs serait
celui de la table des factures (un client peut avoir plusieurs factures).

Dterminer sans quivoque le type de relation utiliser entre deux tables


Voici une mthode que nous vous conseillons dappliquer pour dterminer
coup sr le ct un et le ct plusieurs dune relation. Un papier et un
crayon sont les seuls outils ncessaires. Lorsque deux tables sont mises en
relation, partez dune table (la table 1 par exemple) et demandez-vous : " un
enregistrement de la table 1, combien correspondent denregistrements de la
table 2 ?" Si la rponse est "un", crivez le chiffre 1 ct de la table 2. Si la
rponse est "plusieurs", symbolisez le ct plusieurs par la lettre n ou le

4.3. Dfinir les relations entre les tables

237

symbole . Procdez de mme dans lautre sens, en partant de la table 2


et en allant vers la table 1.

Crer une relation un plusieurs automatiquement


Lorsquune liste de choix est dfinie pour un champ dans une table,
une relation un plusieurs est automatiquement cre.
Reprenez la base de donnes Gestion des disques4.accdb et lexemple
de la liste de choix des thmes musicaux dfinis dans la table
Disques.

Figure 4.6 : La liste de choix


affichant la liste des thmes
musicaux dans le champ
theme de la table Disques

La relation un plusieurs entre les tables Theme et Disques a t


tablie automatiquement par Access lors de la cration de la liste de
choix sur le champ theme de la table Disques (rappelez-vous que
cette liste utilise, comme source de donnes, le champ nom de la
table Theme).
Voyez comment afficher graphiquement la relation un plusieurs
dj cre entre la table Theme et la table Disques.
1 Vrifiez que toutes les tables sont fermes car il nest pas possible
de crer une relation lorsque les tables quelle utilise sont ouvertes.
2

Affichez les relations existantes dans longlet des relations


en cliquant sur longlet Outils de base de donnes puis sur le
bouton Relations du groupe Relations.

Longlet Relations est affich.


3 Si longlet Relations est vide, cliquez sur le bouton Afficher toutes
les relations du groupe Relations de longlet Crer, ou cliquez du
bouton droit dans longlet Relations, puis choisissez Afficher toutes
les relations dans le menu contextuel qui apparat.

238

4. Contrler la cohrence des donnes

Figure 4.7 : Longlet Relations

La structure des deux tables est reprsente de faon simplifie dans


longlet Relations (seuls les noms des champs apparaissent dans les
tables). Le nom de champ qui compose la cl primaire de chaque
table est prcd dune cl.
La relation traduit ceci : un thme musical (blues, classique, jazz,
mtal, pop) de la table Theme est utilis pour plusieurs disques de
la table Disques alors quun disque de la table Disques est commercialis sur un seul thme de la table Theme.
4 Pour vrifier le type de relation utilis, double-cliquez sur le lien
entre les deux tables ou cliquez sur le lien puis sur le bouton
Modifier des relations du groupe Outils de longlet Crer.

Figure 4.8 : La modification de la relation entre les deux tables

4.3. Dfinir les relations entre les tables

239

La fentre Modifier des relations saffiche et montre la relation entre le


champ notheme de la table Theme et theme de la table Disques. La
zone Type de relation indique une relation un plusieurs.

Figure 4.9 : Le type de


relation (ici un plusieurs)
entre la table Theme et la
table Disques est confirm
dans la bote de dialogue

5 Cliquez sur lun des boutons OK ou Annuler pour fermer la bote de


dialogue.
6 Fermez longlet Relations en cliquant sur le bouton Fermer du
groupe Relations de longlet Crer. Acceptez lenregistrement de la
mise en forme en cliquant sur le bouton Oui de la bote de dialogue
qui apparat.
Si vous avez modifi la disposition des tables (afin den augmenter la
lisibilit par exemple) ou ajout de nouvelles tables dans longlet, les
modifications apportes sont sauvegardes.

Afficher les relations affectes une table


Si vous dsirez connatre toutes les relations
affectes une table spcifique depuis longlet Relations, cliquez sur la table concerne puis sur le bouton Afficher les
relations directes du groupe Relations de longlet Crer. Vous pouvez
galement cliquer du bouton droit sur la table, puis choisir Afficher les
relations directes dans le menu contextuel qui apparat.

Crer une relation un plusieurs manuellement


Mme si des relations sont automatiquement dfinies par Access
lors de certaines oprations, comme vous venez de le dcouvrir dans
ce qui prcde, la plupart des relations utilises dans une base de
donnes font lobjet dune cration manuelle. Cette opration est
effectue dans une interface graphique trs significative, dans laquelle les relations sont littralement "traces" entre les tables.

240

4. Contrler la cohrence des donnes

Dans lexemple qui suit, une maison de disques possdant plusieurs


disques son catalogue (et un disque ntant dit que par une seule
maison de disques), une relation un plusieurs entre les tables
Maisons ddition de disques et Disques va tre dfinie.
1 Vrifiez que toutes les tables sont fermes car il nest pas possible
de crer une relation lorsque les tables quelle utilise sont ouvertes.
2 Affichez les relations existantes dans longlet des relations en
cliquant sur longlet Outils de base de donnes puis sur le bouton
Relations du groupe Relations.
Si longlet Relations ne contenait pas de table, la bote de dialogue
Afficher la table serait affiche (et permettrait de slectionner les
tables qui devraient apparatre dans la fentre).
Les tables Disques et Theme sont dj, vous lavez vu prcdemment,
mises en relation. Elles sont donc affiches dans longlet Relations.
Avant daller plus loin, la table Maisons ddition de disques doit
galement tre ajoute dans la fentre. Pour cela :
3

Cliquez sur le bouton Afficher la table du groupe Relations de


longlet Crer ou encore cliquez du bouton droit dans longlet Relations. Choisissez Afficher la table dans le menu
contextuel qui apparat.

La bote de dialogue Afficher la table est affiche.


4 Slectionnez longlet Table, cliquez sur le nom de la premire table
(ici la table Maisons ddition de disques) ajouter, puis sur le
bouton Ajouter.
Si dautres tables devaient tre ajoutes, vous devriez rpter cette
manipulation pour chacune des tables concernes.

Figure 4.10 : Lajout dune


table dans longlet des
relations

4.3. Dfinir les relations entre les tables

241

Ajouter plusieurs tables en une seule opration


Si vous souhaitez ajouter plusieurs tables longlet des relations en une
seule opration depuis la bote de dialogue Afficher la table, utilisez lune des
mthodes suivantes :
Si les noms sont contigus sur la liste des tables, cliquez sur le premier,
maintenez la touche [Maj] enfonce, puis cliquez sur le nom de la dernire
table slectionner, et cliquez sur le bouton Ajouter.
j Si les noms ne sont pas contigus sur la liste des tables, cliquez sur le
premier, maintenez la touche [Ctrl] enfonce, puis cliquez sur chaque nom
slectionner. Cliquez sur le bouton Ajouter.
j Double-cliquez sur le nom de chaque table ajouter.
j

5 Cliquez sur le bouton Fermer de la bote de dialogue Ajouter une


table.
Longlet Relations fait maintenant apparatre la nouvelle table qui y a
t ajoute. Toutefois, la relation ne peut pas encore tre trace. En
effet, aucun champ commun nexiste entre les tables Maisons ddition de disques et Disques. Il est donc ncessaire dajouter un champ
(indispensable la relation), nomm nomaisondisque, la structure
de la table Disques. Inutile de fermer longlet Relations pour effectuer
lopration : le mode Cration peut tre activ depuis la fentre.

Pourquoi stocker les numros des maisons ddition dans la table


des disques et non linverse ?
Pour rpondre, utilisez la petite astuce nonce dans la section prcdente
et posez-vous la question suivante : " une maison ddition, combien de
disques peut-on trouver en correspondance ?" La rponse est, bien videmment, "plusieurs". La table des disques reprsente donc le ct plusieurs de la
relation.
linverse : " un disque, combien de maisons ddition peut-on trouver en
correspondance ?" La rponse est "une seule". La table des maisons ddition
reprsente donc le ct un de la relation.
Or la cl primaire (ici le champ N de la table Maisons ddition de disques)
est toujours utilise du ct un de la relation alors que la cl trangre (ici le
champ nomaisondisque de la table Disques) reprsente toujours le ct
plusieurs. Vous tes donc maintenant certain du bien fond du choix du sens
de la relation que vous tes en train de dfinir : les valeurs des cls primaires
de la table des maisons ddition doivent tre dupliques dans un champ
ddi cet usage dans la table des disques.

6 Cliquez du bouton droit sur la table (ici Disques). Choisissez


Cration de table dans le menu contextuel qui apparat.

242

4. Contrler la cohrence des donnes

Figure 4.11 : Le mode Cration de table est activ depuis longlet Relations

7 Ajoutez le nouveau champ de type de donnes Numrique (ici,


nomaisondisque) la structure de la table. Fermez cette dernire et
acceptez son enregistrement.

Figure 4.12 : Lajout du champ nomaisondisque dans la structure de la table Disques

Dans longlet Relations, vous allez maintenant dfinir la relation entre


les tables Disques et Maisons ddition de disques.
8 Pour crer la relation entre les deux tables, cliquez sur la cl
primaire N de la table Maisons ddition de disques, maintenez le
bouton de la souris enfonc et tracez la relation en glissant le
champ N vers le champ nomaisondisque de la table Disques.

Figure 4.13 : Le trac de la


relation entre les deux
tables

4.3. Dfinir les relations entre les tables

243

La bote de dialogue Modifier des relations saffiche. Celle-ci schmatise la relation tablie entre les deux tables sur le numro de la
maison de disque. Le type de relation est dcrit dans la zone Type de
relation.

Figure 4.14 : Le type de


relation apparat dans la
bote de dialogue

9 Cliquez sur le bouton Crer.


Lillustration ci-aprs montre la schmatisation de la relation, telle
quelle apparat dans longlet Relations :

Figure 4.15 : La relation un


plusieurs entre les deux
tables est schmatise
dans longlet Relations

10 Fermez longlet Relations en cliquant sur son bouton Fermer. Acceptez lenregistrement de la mise en forme dans la bote de
dialogue qui apparat.

Construire des relations plusieurs plusieurs


Ce type de relation est caractris par le fait quun enregistrement de
la premire table peut tre en relation avec plusieurs enregistrements de la seconde et, inversement, quun enregistrement de la
seconde peut tre en relation avec plusieurs enregistrements de la
premire.
Il nest pas possible de dfinir une telle relation sans avoir recours
une troisime table, dite table de jonction. Ce type de table permet de
mettre en relation les cls primaires des deux tables. La table de
jonction contient une rplique des valeurs des deux cls primaires

244

4. Contrler la cohrence des donnes

qui, une fois combines, forment un identifiant unique pouvant tre


lui-mme utilis comme cl primaire.
Il apparat alors quune relation plusieurs plusieurs nest autre que
deux relations un plusieurs tablies entre les deux tables lier
(reprsentant chacune les cts un des relations) et la table de
jonction (reprsentant le ct plusieurs pour chacune des deux relations).
Dans lexemple utilis ici, deux relations plusieurs plusieurs peuvent tre dfinies, la premire entre les tables Disques et Chansons, la
seconde entre les tables Artistes et Chansons.
Dtaillons la premire relation, plusieurs plusieurs, entre les tables
Disques et Chansons. Vous pourrez ensuite appliquer le mme principe pour dvelopper la relation entre Chansons et Artistes.
La structure de la table Disques est montre dans lillustration qui
suit :

Figure 4.16 : La structure de la table Disques

De mme, la structure de la table Chansons est montre dans lillustration suivante :

Figure 4.17 : Structure de la table Chansons

1 Vrifiez que toutes les tables sont fermes car il nest pas possible
de crer une relation lorsque les tables quelle utilise sont ouvertes.
2 Affichez longlet des relations en cliquant sur longlet Outils de
base de donnes puis sur le bouton Relations du groupe Relations.
Vous allez commencer par ajouter la table Chansons dans longlet
des relations.

4.3. Dfinir les relations entre les tables

245

3 Cliquez sur le bouton Afficher la table du groupe Relations de


longlet Crer ou encore cliquez du bouton droit dans longlet
Relations et choisissez Afficher la table dans le menu contextuel qui
apparat.
La bote de dialogue Afficher la table est affiche.
4 Dans la bote de dialogue Afficher la table, slectionnez longlet
Table, cliquez sur la table (dans cet exemple Chansons) puis sur le
bouton Ajouter et sur le bouton Fermer.
Dans longlet Relations, vous allez vous intresser la structure des
tables Disques et Chansons, qui apparaissent comme le montre cette
illustration :

Figure 4.18 : La structure des deux tables,


dans longlet Relations

Rsistez la tentation de tracer la relation entre les tables Disques et


Chansons comme vous lavez fait pour les relations un plusieurs,
car cela ne fonctionne pas. En effet, lutilisation dune cl primaire du
ct de la table Chansons dans la relation impose lunicit de la
valeur du champ. La cl primaire ne peut donc pas tre utilise dans
un ct plusieurs.
Analysons la relation plusieurs plusieurs entre les tables Disques et
Chansons.
Un disque peut contenir plusieurs chansons. Par consquent, chaque enregistrement de la table Disques peut tre reli plusieurs
enregistrements de la table Chansons. Mais ce nest pas tout : une
chanson apparat dans plusieurs disques, chaque enregistrement de
la table Chansons peut donc tre reli plusieurs enregistrements de
la table Disques.
Les deux tables Disques et Chansons entretiennent donc une relation
plusieurs plusieurs. Si vous essayez de crer la relation entre les
deux tables en ajoutant le champ numro chanson dans la table
Disques, pour pouvoir crer un disque de plusieurs chansons, la table
Disques doit contenir plusieurs enregistrements par disque. Pour
chaque enregistrement se rapportant ce disque, vous devez rpter
les mmes informations relatives au disque, ce qui est le signe dune

246

4. Contrler la cohrence des donnes

structure inefficace entranant des erreurs. De plus, lunicit de la cl


primaire sur le champ nodisque vous empche de rpter le numro
du disque autant de fois quil y a de chansons dans ce disque.
Lillustration qui suit montre le rsultat qui serait obtenu :

Figure 4.19 : La saisie des chansons dun disque dans une telle table rvlerait de graves anomalies
structurelles

Figure 4.20 : La relation est impossible

Le mme problme se rpterait si vous placiez un champ numro


disque dans la table Chansons qui contiendrait alors plusieurs enregistrements par chanson.
Si vous essayez de crer la relation entre les deux tables en ajoutant
cette fois le champ numro disque dans la table Chansons, pour
pouvoir faire figurer une chanson dans plusieurs disques, la table
Chansons doit contenir plusieurs enregistrements par chansons.
Pour chaque enregistrement se rapportant cette chanson, vous
devez rpter les mmes informations relatives la chanson, ce qui
est encore le signe dune structure inefficace entranant des erreurs.
De plus, lunicit de la cl primaire sur le champ nochanson vous
empche de rpter le numro de la chanson autant de fois quil y a
de disques contenant cette chanson.
4.3. Dfinir les relations entre les tables

247

Lillustration qui suit montre le rsultat qui serait obtenu :

Figure 4.21 : La saisie des


disques sur lesquels se
trouve la chanson dans une
telle table rvlerait
galement de graves
anomalies structurelles

Figure 4.22 : Cette relation


est galement impossible

Pour rsoudre ce problme, vous allez crer une troisime table afin
de couper la relation plusieurs plusieurs en deux relations un
plusieurs. Cette troisime table est appele "table de jonction" car
elle agit comme jonction entre les deux tables. La cl primaire de
chacune des deux tables est place dans la table de jonction, cest-dire quelle combine la fois la cl primaire de la table Disques et
celle de la table Chansons. La combinaison des deux cls donne un
identifiant unique qui permettra, de faon certaine, de retrouver
toutes les chansons utilises dans un disque, mais galement, dans
lautre sens, tous les disques faisant mention dune chanson donne.
Chaque enregistrement de la table de jonction reprsente donc une
des chansons dun disque.

Figure 4.23 : La forme relle dune relation plusieurs plusieurs

248

4. Contrler la cohrence des donnes

Vous devez crer la table de jonction compose des deux cls primaires des tables, que vous nommerez Jonction-Disques-Chansons.
5 Depuis longlet Relations, cliquez sur longlet Crer du Ruban puis
cliquez sur le bouton Cration de table du groupe Tables.

Figure 4.24 : Une nouvelle table va tre cre en mode Cration

Longlet Table1 apparat.


6 Crez la structure de la table Jonction-Disques-Chansons compose
des champs nodisque et nochanson, tous deux de type numrique.
La cl primaire de la table de jonction sera compose de deux
champs (nodisque et nochanson), qui sont les cls des deux autres
tables. Ces dernires sont appeles "cls trangres".
7 Pour crer la cl primaire compose des deux champs, slectionnez les lignes nodisque et nochanson, puis cliquez sur le bouton Cl
primaire du groupe Outils de longlet Cration.
Un symbole de cl primaire apparat sur chaque ligne. Cela ne
signifie pas que vous avez cr deux cls primaires sur la table (une
table ne peut contenir quune cl primaire) mais que vous avez cr
une seule cl primaire en associant les deux champs.

Figure 4.25 : La cl primaire est compose sur les deux champs

4.3. Dfinir les relations entre les tables

249

8 Fermez et enregistrez la table avec le nom Jonction-DisquesChansons. Dans longlet Relations, ajoutez la table de jonction
Jonction-Disques-Chansons laide du bouton Afficher la table du
groupe Relations de longlet Crer.

Figure 4.26 : La table de jonction est ajoute dans longlet Relations

La relation un plusieurs entre les tables Disques et JonctionDisques-Chansons peut tre traduite de la faon suivante :
Un disque de la table Disques peut contenir plusieurs chansons de
la table Jonction-Disques-Chansons.
Chaque chanson de la table Jonction-Disques-Chansons correspond un seul disque de la table Disques.
9 Tracez la relation entre les champs nodisque des tables Disques et
Jonction-Disques-Chansons. Dans la bote de dialogue Modifier des
relations qui apparat, cliquez sur le bouton Crer pour fermer la
bote de dialogue et retourner dans longlet Relations.
Il vous reste tablir la relation un plusieurs entre les tables
Chansons et Jonction-Disques-Chansons. Elle devra traduire la situation suivante :

250

4. Contrler la cohrence des donnes

Une chanson de la table Chansons peut apparatre dans plusieurs


disques de la table Jonction Disques Chansons.
Chaque disque de la table Jonction Disques Chansons correspond
une seule chanson de la table Chansons.
10 Tracez la relation entre les champs nochanson des tables Chansons
et Jonction-Disques-Chansons.
Lillustration qui suit montre la reprsentation de la relation plusieurs
plusieurs entre les tables Disques et Chansons, dont la table de
jonction est Jonction-Disques-Chansons :

Figure 4.27 : La relation plusieurs plusieurs, figure dans longlet Relations

Vous savez maintenant dfinir une relation plusieurs plusieurs. Le


mme type de relation pourrait tre tabli entre les tables Chansons
et Artistes. Le raisonnement est identique.
11 Appliquez le mme mode opratoire pour crer la table de jonction Jonction-Chansons-Artistes et les relations un plusieurs entre
les tables afin darriver au rsultat suivant :

Figure 4.28 : Les deux relations de type plusieurs plusieurs, figures dans longlet Relations

12 Fermez longlet Relations et enregistrez les modifications apportes.

Construire des relations un un


Utilisez ces relations lorsque vous souhaitez enregistrer des informations relatives un sujet, mais que ces informations ne concernent

4.3. Dfinir les relations entre les tables

251

pas tous les enregistrements de la table. Il vous faudra alors construire et mettre en relation une deuxime table, paralllement la
premire. Seuls les enregistrements concerns dans la table principale utiliseront la table secondaire pour y stocker des informations.
Cette technique vite le gaspillage de place dans la table principale
par des champs laisss vides.
Les relations un un, peu courantes, possdent une particularit :
elles sont relies de cl primaire cl primaire.
Voici un exemple dutilisation dune relation un un dans la gestion
des disques. Certains disques font lobjet dune promotion jusqu
une date dtermine. Pendant la priode de promotion, ils sont
vendus un prix infrieur au prix public (appliqu aprs expiration
de la date qui marque la fin de la priode promotionnelle). Lutilisation dune relation un un entre la table Disques et la table Promotions est justifie.
Vous tes ici dans une situation nouvelle : ces informations sont
propres aux disques mais tous les disques ne font pas lobjet dune
priode promotionnelle.
Devant ce cas de figure, vous pourriez tre tent de modifier la table
Disques et dy ajouter certains champs qui permettraient de stocker

les informations relatives la promotion. Il ne sagirait pas dune


erreur danalyse, puisque les informations ont bien comme sujet les
disques. Pourtant, dans de nombreux enregistrements de la table
Disques, des champs resteraient vides, ce qui occuperait inutilement
de lespace sur votre disque dur et ralentirait vos traitements (les
temps de traitements sont plus importants dans les grandes tables
que dans les petites).

Figure 4.29 : La structure de la table Disques

Figure 4.30 : La structure de


la table Promotions

252

4. Contrler la cohrence des donnes

La table Promotions nutilise pas, comme laccoutume, un champ


de type NumroAuto comme cl primaire, mais cette dernire (cre
sur le champ nodisque) est constitue par les valeurs de la cl
primaire de la table Disques qui y sont reportes. Procdez ainsi :
1 Vrifiez que toutes les tables sont fermes car il nest pas possible
de crer une relation lorsque les tables que cette dernire utilise
sont ouvertes.
Vous allez crer la relation entre les tables Disques et Promotions.
2 Affichez longlet des relations en cliquant sur longlet Outils de
base de donnes puis sur le bouton Relations du groupe Relations.
Vous allez ajouter la table Promotions dans longlet des relations.
3 Cliquez sur le bouton Afficher la table du groupe Relations de
longlet Crer ou encore cliquez du bouton droit dans longlet
Relations. Choisissez Afficher la table dans le menu contextuel qui
apparat.
4 Dans la bote de dialogue Afficher la table, slectionnez longlet
Table, cliquez sur la table Promotions, puis sur le bouton Ajouter et
sur le bouton Fermer.
La structure des deux tables apparat dans longlet Relations.
La relation entre les cls primaires (nommes ici toutes deux nodisque) des deux tables doit tre dfinie. Le sens du trac est important
lors de la cration de la relation.
5 Glissez la cl primaire nodisque de la table Disques vers la cl
primaire de la table Promotions. Cliquez sur le bouton Crer de la
bote de dialogue Modifier des relations.
Vous devez remplir la table Promotions partir de la table Disques et
non linverse. La table dite matresse ou principale est la table Disques.

Figure 4.31 : Une relation


un un va tre cre

4.3. Dfinir les relations entre les tables

253

Voici la reprsentation schmatique de la relation un un entre les


tables Disques et Promotions, affiche dans longlet Relations :

Figure 4.32 : La relation un un


entre les deux tables, affiche
dans longlet Relations

Lillustration qui suit montre, cette fois, lensemble des relations


appliques entre les tables, dans longlet Relations :

Figure 4.33 : Lensemble des relations entre les tables dans longlet Relations

6 Fermez et enregistrez longlet Relations.

Modifier une relation


Une relation peut tre modifie aprs sa cration. Pour ce faire :
1 Vrifiez que toutes les tables sont fermes. En effet, il nest pas
possible de modifier une relation lorsque les tables quelle utilise
sont ouvertes.
2 Affichez les relations existantes dans longlet des relations en
cliquant sur longlet Outils de base de donnes puis sur le bouton
Relations du groupe Relations.
254

4. Contrler la cohrence des donnes

Longlet Relations est affich.


3 Double-cliquez sur la ligne symbolisant la relation que vous souhaitez modifier ou cliquez sur le bouton Modifier des relations du
groupe Outils de longlet Crer. Vous pouvez galement cliquer du
bouton droit sur la relation modifier dans longlet Relations, puis
choisir Modifier une relation dans le menu contextuel qui apparat.

Figure 4.34 : La modification dune relation

4 Modifiez les paramtres de la bote de dialogue Modifier des relations. Cliquez sur le bouton OK de la bote de dialogue.

Afficher seulement les relations spcifiques une table


Pour visualiser uniquement les relations dfinies sur
une table dans longlet Relations, commencez par
masquer toutes les relations et toutes les tables en cliquant sur le bouton
Effacer la mise en page du groupe Outils de longlet Crer.
Cette action ne supprime pas les tables et les relations ; seulement leur
affichage dans longlet Relations. Confirmez la suppression en cliquant sur le
bouton Oui propos dans la bote de dialogue qui apparat. Ajoutez la table de
votre choix au moyen du bouton Afficher la table du groupe Relations de
longlet Crer. Cliquez sur le bouton Afficher les relations directes du groupe
Relations de longlet Crer.

Figure 4.35 : Le bouton Afficher les relations directes du groupe


Relations

Supprimer une relation


Pour supprimer une relation, utilisez le mode opratoire dcrit ciaprs :
1 Vrifiez que toutes les tables sont fermes car il nest pas possible
de supprimer une relation lorsque les tables quelle utilise sont
ouvertes.

4.3. Dfinir les relations entre les tables

255

2 Affichez les relations existantes dans longlet des relations en


cliquant sur longlet Outils de base de donnes puis sur le bouton
Relations du groupe Relations.
3 Cliquez sur la relation que vous souhaitez supprimer puis appuyez
sur la touche [Suppr]. Vous pouvez galement cliquer du bouton
droit sur la relation modifier dans longlet Relations, puis choisir
Supprimer dans le menu contextuel qui apparat.

Figure 4.36 : La suppression dune relation


depuis le menu contextuel

4 Lorsque Access demande une confirmation de la suppression,


acceptez en cliquant sur le bouton Oui de la bote de dialogue qui
apparat.

Supprimer une table de longlet Relations


Pour ne plus afficher une table dans longlet Relations, cliquez sur la table
supprimer, puis utilisez la touche [Suppr]. Cette opration ne supprime pas la
table dans la base de donnes mais seulement son affichage dans longlet
Relations.

4.4. Appliquer des rgles dintgrit


rfrentielle
Les rgles dintgrit rfrentielle sont des actions trs puissantes de
mise jour des donnes renfermes dans les tables de la base de
donnes et qui assurent la cohrence des informations. Elles utilisent les relations dfinies entre les tables.

Comprendre lutilit des rgles dintgrit


rfrentielle
Dans le chapitre prcdent, nous avons insist sur limportance de
protger lintgrit des donnes au niveau de la table par des rgles
256

4. Contrler la cohrence des donnes

de validation sur les champs et sur la table. Lintgrit rfrentielle


uvre dans le mme esprit, mais un niveau suprieur, celui des
relations entre les tables.
Imaginez, dans un systme de facturation, que lutilisateur de la base
de donnes puisse supprimer un enregistrement de la table des
clients alors que le numro du client concern est utilis dans la table
des factures. Les consquences dune telle action pourraient tre
dramatiques pour le service comptable qui ne saurait plus qui
imputer le document. Le rle de lintgrit rfrentielle est dempcher quune telle situation puisse se produire, en appliquant des
rgles au niveau des relations. Cette fonctionnalit protge les donnes des incohrences qui pourraient natre entre les tables.
Lapplication de lintgrit rfrentielle est sans nul doute lopration
la plus importante que vous puissiez et deviez appliquer sur une base
de donnes. En effet, elle interdit les actions qui ne respectent pas les
rgles dfinies, quel que soit le moyen daccs aux tables utilis.

La saisie de donnes sans rgles dintgrit rfrentielle


Voici un exemple de donnes saisies dans la table Disques. La relation un plusieurs est tablie entre les tables Maisons ddition de
disques et Disques sans application de lintgrit rfrentielle.
La table Maisons ddition de disques contient, supposons-le, quatre
enregistrements.

Figure 4.37 : Les enregistrements renferms dans la table des maisons ddition

Pour chaque disque de la table Disques, le numro de la maison de


disque doit tre saisi. Pour cela, les cls primaires de la table Maisons
ddition de disques doivent tre utilises dans la colonne nomaisondisque de la table des Disques.
Une erreur est alors commise lors de la saisie de la cl primaire dans
la colonne nomaisondisque du deuxime disque.

Figure 4.38 : Un numro de maison de disques inexistant est saisi dans la table des disques
4.4. Appliquer des rgles dintgrit rfrentielle

257

Le deuxime disque de la table Disques fait appel, dans la colonne


nomaisondisque, une maison de disques portant le numro 31. Or,
cette valeur ne figure pas dans la table Maisons ddition de disques.
Access accepte toutefois dans ce cas la saisie dune cl primaire
nexistant pas dans la table Maisons ddition de disques. Selon le
terme consacr, lintgrit des donnes de la base est viole.
Une donne incohrente a donc pu tre introduite dans la table
Disques puisque la maison de disques portant le numro 31 nexiste
pas. Cette saisie aberrante doit tre empche tout prix car les
traitements ultrieurs en seront perturbs, voire impossibles. Imaginez, par exemple, que vous (ou lun de vos collaborateurs) dveloppiez dans quelques mois un traitement statistique qui rfrence les
pourcentages des disques par maison de disques : le rsultat de
lenqute sera obligatoirement faux puisque les donnes le sont
initialement.

La saisie de donnes avec des rgles dintgrit


rfrentielle
Reprenons le mme cas de figure et changeons lhypothse de
dpart : la relation un plusieurs est tablie entre les tables Maisons
ddition de disques et Disques avec application de lintgrit rfrentielle.
Aprs validation de la saisie de la valeur 31 dans la colonne nomaisondisque du deuxime disque dans la table Disques, un message
indiquant une erreur dintgrit apparat car aucune maison de disque nutilise la valeur 31 comme cl primaire dans la table Maisons
ddition de disques. La saisie est alors impossible car Access empche loprateur de poursuivre.
Ainsi, il apparat que si lintgrit rfrentielle est applique, la saisie
de donnes incohrente est impossible. Le systme s"autoprotge"
contre les saisies aberrantes.

Figure 4.39 : La donne aberrante est refuse lorsque lintgrit rfrentielle est applique

258

4. Contrler la cohrence des donnes

Appliquer lintgrit rfrentielle


Voyez comment appliquer des rgles dintgrit rfrentielle entre
deux tables en relation pour empcher la saisie de donnes incohrentes. Pour cela :
1 Vrifiez que toutes les tables sont fermes. En effet, il nest pas
possible de modifier une relation lorsque les tables quelle utilise
sont ouvertes.
2 Affichez longlet Relations en cliquant sur longlet Outils de base de
donnes puis sur le bouton Relations du groupe Relations.
Dans cet exemple, vous choisissez la relation un plusieurs qui lie
les tables Maisons ddition de disques et Disques.
3 Double-cliquez sur la ligne symbolisant la relation entre les deux
tables ou cliquez sur le bouton Modifier des relations du groupe
Outils de longlet Crer. Vous pouvez galement cliquer du bouton
droit sur la relation modifier dans longlet Relations, puis choisir
Modifier une relation dans le menu contextuel qui apparat.
La bote de dialogue Modifier des relations saffiche.
4 Cochez la case Appliquer lintgrit rfrentielle. Cliquez sur OK
pour fermer la bote de dialogue.

Figure 4.40 : Lintgrit


rfrentielle est applique
sur la relation

Dans longlet Relations, lintgrit rfrentielle est reprsente par


les symboles 1 et , ajouts au schma de la relation.

Figure 4.41 : La
symbolisation de
lapplication de lintgrit
rfrentielle

4.4. Appliquer des rgles dintgrit rfrentielle

259

Lintgrit ne peut tre applique que sur des donnes cohrentes


Access refuse dappliquer lintgrit rfrentielle sur des donnes incohrentes. Il faut donc corriger les incohrences dans les donnes avant dappliquer lintgrit rfrentielle. Cliquez sur OK dans la bote de dialogue du
message de Microsoft Access. Dans la bote de dialogue Modifier des relations, dcochez la case Appliquer lintgrit rfrentielle puis cliquez sur OK.
Corrigez les donnes aberrantes dans les tables et tentez une nouvelle application de lintgrit rfrentielle sur la relation.

Figure 4.42 : Les donnes incohrentes devront tre corriges dans les tables avant que lintgrit
rfrentielle puisse tre applique

5 Fermez longlet Relations.

Appliquer lintgrit rfrentielle en cascade


Lintgrit rfrentielle permet daller encore plus loin dans la protection de la cohrence des donnes en ralisant des mises jour
automatiques entre des tables lies. Ces oprations sont dsignes
par le terme "cascades".
Vous avez dj remarqu que lintgrit rfrentielle vous empchait
dutiliser des numros de cls primaires inexistants dans la table
connexe. Lintgrit rfrentielle vous empche galement de commettre une incohrence dans les donnes en vous interdisant de
modifier un numro de cl primaire dans une table ou de supprimer
un enregistrement dune table rattache des lignes dune autre
table en relation.
Voici un exemple de donnes saisies dans la table Disques. La relation un plusieurs est tablie entre les tables Maisons ddition de
disques et Disques avec application de lintgrit rfrentielle sans
cascade.
Le premier enregistrement de la table Disques utilise la valeur de cl
primaire 1 (colonne nomaisondisque) comme maison ddition de
disques.

260

4. Contrler la cohrence des donnes

Figure 4.43 : La saisie de la valeur de la cl primaire de la table des maisons de disques, dans le
champ nomaisondisque de la table des disques

Si vous tentez de supprimer le premier enregistrement (dont la cl


primaire est 1) de la table Maisons ddition de disques, Access affiche
un message interdisant la suppression de lenregistrement.

Figure 4.44 : La suppression de lenregistrement, dans la table des maisons de disques, est interdite
par lintgrit rfrentielle car la valeur de sa cl primaire est utilise dans la table des disques

Une fois encore, lintgrit rfrentielle empche lutilisateur de la


base de commettre une incohrence dans les donnes en interdisant
de supprimer une maison de disque rattache des lignes de la table
Disques.

Prendre le temps de dfinir les rgles dintgrit rfrentielle


Ne vous attelez pas la construction des formulaires et des tats avant
davoir correctement et intgralement appliqu les rgles dintgrit rfrentielle entre les tables. Vous risquez autrement de perdre beaucoup de temps
reconstruire des donnes illogiquement enregistres car mal protges par
des saisies aberrantes.

Deux cas de figures vont vous permettre de comprendre cette notion


de cascade.
Imaginez quun numro de chanson soit modifi dans la table Chansons. Ce nest pas possible actuellement puisque le numro est de
type NumroAuto et quAccess ne vous autorise pas le modifier.
Mais si la cl primaire de la table des chansons est gnre manuellement avec des numros uniques du type SRV1979-003 et sil vous
est demand de modifier lun dentre eux ? Si vous effectuez une
telle modification, toutes les lignes de la table de jonction liant la

4.4. Appliquer des rgles dintgrit rfrentielle

261

table des chansons avec celle des artistes et utilisant ce numro


deviendront incohrentes puisque le numro nexistera plus dans la
table des chansons. Lintgrit rfrentielle, applique seule, ne protge donc pas les donnes contre ce type dincohrence. Si la mise
jour en cascade est applique, la modification de la cl primaire dans
la table Chansons va entraner une mise jour automatique des
valeurs des cls correspondantes dans la table Jonction-ChansonsArtistes. On parle alors de cascade de mise jour de la table principale vers la table connexe.
Autre situation type : grce lintgrit rfrentielle, il vous est
impossible de supprimer une chanson dans la table Chansons si
celle-ci est attache des lignes de la table Jonction-ChansonsArtistes. Mais comment traiter le cas de figure dans lequel une
chanson aurait t saisie deux fois ? Comment effacer litration,
devenue inutile, dans la table Chansons ? Lintgrit rfrentielle,
applique seule, empche la suppression dune chanson dans la
table des chansons, interdisant ainsi que des enregistrements de la
table de jonction liant la table des chansons celle des artistes
utilisent un numro de chanson nexistant plus. Si la mise jour en
cascade est applique, la suppression de lenregistrement de la
chanson dans la table Chansons devient possible, mais entrane la
suppression des enregistrements correspondants dans la table
Jonction-Chansons-Artistes. On parle alors de suppression en cascade des enregistrements de la table connexe.

Figure 4.45 : La relation plusieurs


plusieurs entre la table des chansons
et celle des artistes

Ces deux exemples mettent en vidence limportance des cascades


dans lapplication de lintgrit rfrentielle.
Vous allez dcouvrir comment mettre cette thorie en application
dans Access. Procdez ainsi :

262

4. Contrler la cohrence des donnes

1 Vrifiez que toutes les tables sont fermes car il nest pas possible
de modifier une relation lorsque les tables quelle utilise sont
ouvertes.
2 Affichez longlet Relations en cliquant sur longlet Outils de base de
donnes puis sur le bouton Relations du groupe Relations. Doublecliquez sur la relation entre les deux tables.
La bote de dialogue Modifier des relations apparat.
Dans cet exemple, vous vous intresserez la relation un plusieurs
entre les tables Chansons et Jonction-Chansons-Artistes.
3 Dans la bote de dialogue Modifier des relations, cochez les cases
Mettre jour en cascade les champs correspondants et Effacer en
cascade les enregistrements correspondants.

Figure 4.46 : Lapplication


des cascades dans la
relation

4 Fermez la bote de dialogue en cliquant sur OK.


Depuis longlet des relations, appliquez les intgrits en cascade aux
relations, lorsque cela savre ncessaire uniquement. Si, par exemple, une maison de disques nexiste plus, vous pouvez la supprimer
de la table Maisons ddition de disques. Dans ce cas, les disques de
cette maison de disques dans la table Disques doivent-ils tre supprims ? Question importante car si vous rpondez "oui", vous ne
pourrez plus grer le stock de disques restants. Il est srement plus
raisonnable de conserver la maison de disques en mmoire dans la
table des disques.

Figure 4.47 : Lapplication


des cascades nest pas
systmatique sur toutes les
relations

4.4. Appliquer des rgles dintgrit rfrentielle

263

4.5. Imprimer les relations


Il est souvent utile dimprimer longlet des relations afin de le conserver sous les yeux pendant le travail sur lapplication. Procdez ainsi :
1 Affichez longlet Relations en cliquant sur longlet Outils de base de
donnes puis sur le bouton Relations du groupe Relations.
2 Cliquez sur le bouton Rapport de relations du groupe Outils de
longlet Crer.

Figure 4.48 : Le bouton Rapport de relations du groupe Outils

Un tat est gnr et apparat en mode Aperu avant impression. Il


est dot dun nom par dfaut et dun en-tte comprenant la date de
cration de ltat.
3 Modifiez ventuellement la mise en page en cliquant sur les boutons du groupe Mise en page de longlet Aperu avant impression.
4 Pour imprimer ltat, cliquez sur le bouton Imprimer de longlet
Aperu avant impression ou sur le bouton Office puis sur Imprimer.

Figure 4.49 : Laperu des relations

264

4. Contrler la cohrence des donnes

5 Enregistrez ltat en cliquant sur longlet Fichier puis sur


Enregistrer lobjet sous.
Ltat sera alors conserv en tant quobjet de la base de donnes et
apparatra dans la catgorie dobjets Etats du volet de navigation.
6 Fermez la fentre de ltat en utilisant le bouton Fermer laperu
avant impression de longlet Aperu avant impression.

Figure 4.50 : Ltat affichant les relations classes dans le


volet de navigation

Tlchargement de la base de donnes


Vous trouverez la base de donnes finalise dans ce chapitre, Gestion des
disques4-finale.accdb, sur le site de Micro Application (www.microapp.com) dans
le dossier Chapitre04.

4.6. Cas pratique


Vous allez maintenant oprer quelques manipulations pratiques.
Vous tudierez un cas concret dapplication utilisant plusieurs tables
quil vous faudra lier par des relations sur lesquelles lintgrit rfrentielle et lapplication des rgles de cascade seront mises en uvre.
Dans les cas pratiques des chapitres prcdents, les tables suivantes
ont t cres dans lapplication de gestion des livres que vous avez
commenc dvelopper :
j

Livres ;

4.6. Cas pratique

265

Collections ;

Types ;

Auteurs ;

Contacts.

Vous allez continuer le dveloppement et vous intresser en particulier la facturation des ouvrages. terme, votre objectif est de
pouvoir grer les factures produites par lditeur.
Voici les lments types apparaissant sur une facture :
Tableau 4.1 : Les informations renfermes sur une facture
lment de la facture

Champ

Table du champ

Numro de la facture

nofacture

Factures

Date de la facture

datefacture

Factures

Socit du client

societe

Contacts

Nom du client

nom

Contacts

Prnom du client

prenom

Contacts

Adresse du client

adresse

Contacts

Code postal du client

cp

Contacts

Ville du client

ville

Contacts

Pays du client

pays

Contacts

Rfrence du livre

nolivre

Livres

Titre du livre

titre

Livres

Quantit de livres

Le mode de stockage de cet lment est expliqu plus loin (il sera enregistr dans une table
de jonction entre la table des factures et celle
des livres).

Code TVA des livres

tva

Taxes

Prix unitaire hors taxe


du livre

prixht

Livres

Montant hors taxe de la Valeur calcule


ligne

266

Total hors taxe de la


facture

Valeur calcule

Total de la TVA de la
facture

Valeur calcule

Total toutes taxes comprises de la facture

Valeur calcule

Montant du rglement

montantreglement Reglements

Mode de rglement

nomreglement

4. Contrler la cohrence des donnes

Modesreglement

Ce tableau vous montre que dautres tables sont ncessaires. Vous


allez devoir crer la structure des tables suivantes :
j

Factures ;

Taxes ;

Reglements ;

Modereglements.

Les montants totaux HT, TTC et de TVA seront calculs en fonction de


la quantit. Vous le verrez bientt, ces montants peuvent tre recalculs tout moment (inutile de stocker le montant hors taxe dune
ligne de facture quand celui-ci peut tre calcul par la multiplication
de la quantit par le montant hors taxe du produit).

Les valeurs calcules


Il faut viter de stocker des informations dans des champs quand celles-ci
peuvent tre calcules depuis des valeurs contenues dans dautres champs.
Cette dmarche vite le gaspillage de place sur le disque dur et diminue les
risques derreurs. Seuls des cas particuliers peuvent vous amener transgresser cette rgle.

Tlchargement de la base de donnes


Vous trouverez la base de donnes utilise dans ce chapitre, Facturation
livres4 initiale.accdb, sur le site de Micro Application (www.microapp.com) dans
le dossier Chapitre04.

Dfinir des relations un plusieurs


Commencez par appliquer lintgrit rfrentielle sur les relations un
plusieurs dj cres dans la base de donnes. Vous ajouterez
ensuite les relations de ce type qui manquent dans la base.

Voir les relations existantes et appliquer lintgrit


rfrentielle
Vous allez afficher les relations existantes dans longlet des relations.
Pour cela :
1 Ouvrez la base de donnes Facturation livres4 initiale.accdb.
2 Vrifiez que toutes les tables sont fermes car il nest pas possible
de modifier une relation lorsque les tables quelle utilise sont
ouvertes.
4.6. Cas pratique

267

3 Cliquez sur longlet Outils de base de donnes puis sur le bouton


Relations du groupe Relations.
4 Si longlet Relations est vide, cliquez sur le bouton Afficher toutes
les relations du groupe Relations de longlet Crer.

Figure 4.51 : Longlet Relations

Les deux relations qui apparaissent ont t cres lors de ltablissement dune liste de choix pour les champs collection et type de la
table Livres.
La premire relation traduit quune collection de livres (Le Poche,
Superpoche) de la table Collections est utilise pour plusieurs
livres de la table Livres, alors quun livre de la table Livres nest
commercialis que dans une seule collection de la table Collections.
La seconde relation traduit quun type de livre (Bureautique, Programmation) de la table Types est utilis pour plusieurs livres de la
table Livres, alors quun livre de la table Livres nest commercialis
que dans un seul type de la table Types.
Vous allez vrifier le type de relation entre les tables Collections et
Livres :
5 Double-cliquez sur le lien entre les tables Collections et Livres de
longlet Relations.
La fentre Modifier des relations montre la relation un plusieurs de
la table Collections vers la table Livres entre le champ nocollection de
la table Collections et le champ collection de la table Livres.
Pour chaque livre de la table Livres, le numro de la collection doit
tre stock. Les cls primaires de la table Collections seront utilises
dans la colonne collection de la table des Livres.
Vous allez appliquer lintgrit rfrentielle et une mise jour en
cascade :
268

4. Contrler la cohrence des donnes

6 Dans la bote de dialogue Modifier des relations, cochez la case


Appliquer lintgrit rfrentielle.
Pour cette relation, la modification de la cl primaire dans la table
Collections entranera une mise jour des cls correspondantes dans
la table Livres. La suppression dun enregistrement de la collection
dans la table Collections nentranera toutefois pas la suppression
des enregistrements correspondants dans la table Livres.
7 Dans la bote de dialogue Modifier des relations, cochez la case
Mettre jour en cascade les champs correspondants et dcochez la
case Effacer en cascade les enregistrements correspondants. Cliquez
sur le bouton OK.

Figure 4.52 : Lapplication


de lintgrit rfrentielle
en cascade entre les tables
Collections et Livres

8 Dans longlet des relations, appliquez la mme intgrit rfrentielle en cascade entre les tables Types et Livres.

Figure 4.53 : Lapplication


de lintgrit rfrentielle
entre la table des types et
celle des livres

4.6. Cas pratique

269

Crer une relation un plusieurs


Une facture est produite chaque fois quune personne ralise un
achat de livres.
Vous allez tudier la relation entre les tables Contacts et Factures.
Un client de la table Contacts est utilis pour plusieurs factures de la
table Factures alors quune facture de la table Factures nest gnre
que pour un seul client de la table Contacts. Vous allez donc crer la
relation un plusieurs entre les tables Factures et Contacts.
Commencez par crer la structure de la table Factures :
1

Dans longlet des relations, cliquez sur longlet Crer du


Ruban puis cliquez sur le bouton Cration de table du groupe
Tables.

2 Dans longlet Table1 qui saffiche, crez la structure de la table


Factures compose des champs nofacture de type NumroAuto et
datefacture de type Date/Heure.
3 Utilisez lAssistant pour affecter le masque de saisie Date, abrg
au champ datefacture de type de donnes Date/heure.
La cl primaire doit tre dfinie sur le champ nofacture.
4 Placez le pointeur dans la ligne nofacture. Cliquez sur le bouton Cl
primaire du groupe Outils de longlet Cration.
Chaque client ne sera enregistr quune fois dans la table des
contacts, et il suffit de faire appel sa rfrence dans la table des
factures pour le dsigner. Autrement dit, le numro de lidentifiant de
la facture est stock dans la table des contacts ; lorsque vous aurez
besoin de connatre son adresse, vous irez la chercher dans la table
des contacts.
Pour mettre en relation les deux tables, vous devez disposer dune
information commune. Vous utiliserez pour cela le champ nocontact
de la table Contacts, que vous dupliquerez dans la table Factures. Il
sera donc possible, dans une facture donne, de faire rfrence un
client uniquement par son numro.
5 Ajoutez le champ nocontact de type Numrique la structure de la
table Factures (voir Figure 4.54).
6 Fermez la table Factures.
Le numro du client se trouve dsormais dans les deux tables.
Toutefois, il ne figure quune fois dans la table des clients (cest la cl
primaire), alors quil peut apparatre plusieurs fois dans la table des
270

4. Contrler la cohrence des donnes

factures (une facture ntant adresse qu un seul client alors quun


client peut apparatre sur plusieurs factures). Vous allez reproduire
cette relation un plusieurs :

Figure 4.54 : La structure de la table Factures, aprs sa cration

De retour dans longlet des relations, cliquez sur le bouton


Afficher la table du groupe Relations de longlet Crer.

8 Dans la bote de dialogue Afficher la table, slectionnez longlet


Table, cliquez sur la table Contacts, puis sur le bouton Ajouter.
Ajoutez de la mme faon la table Factures et fermez la bote de
dialogue.
La structure des deux tables est maintenant reprsente de faon
simplifie dans longlet Relations (seuls les noms des champs apparaissent dans les tables). La cl primaire de la table Contacts (le
champ nocontact) nest pas dfinie. Vous allez dfinir la cl primaire
de cette table.
9 Ouvrez la table Contacts en mode Cration en cliquant du bouton
droit sur la table, puis sur Cration de table dans le menu contextuel qui apparat.

Figure 4.55 : La table


Contacts va tre modifie

4.6. Cas pratique

271

10 Dfinissez la cl primaire en vous plaant sur la ligne nocontact,


sur le bouton Cl primaire du groupe Outils de longlet Cration.
Une cl se dessine gauche du champ nocontact.
11 Sous longlet Gnral, vrifiez que la zone Index prend automatiquement la valeur Oui - Sans doublons. Fermez et enregistrez la
table Contacts.
12 Pour crer la relation entre les deux tables, cliquez sur le champ
nocontact de la table Contacts dans longlet des relations. Maintenez le bouton de la souris enfonc et glissez vers le champ nocontact de la table Factures.
La bote de dialogue Modifier des relations saffiche. Celle-ci schmatise la relation entre les deux tables sur le numro de contact. Cest
dans cette bote de dialogue que vous dfinirez lintgrit rfrentielle.
13 Cochez la case Appliquer lintgrit rfrentielle. Cliquez sur Crer
pour fermer la bote de dialogue.
Lintgrit est applique. Remarquez la modification qui sest opre
dans longlet Relations : le ct un est symbolis par le chiffre 1 et le
ct plusieurs est, lui, symbolis par le symbole .

Figure 4.56 : La relation un plusieurs est symbolise entre les deux tables, aprs lapplication de
lintgrit rfrentielle

272

4. Contrler la cohrence des donnes

14 Fermez longlet Relations en utilisant le bouton Fermer de longlet


Crer. Enregistrez la mise en forme.
Vous allez tester lintgrit rfrentielle. La premire tape de cette
opration consistera vrifier les numros de cls primaires existants
dans la table Contacts et qui seront utiliss dans la table Factures.
15 Ouvrez la table Contacts en mode Feuille de donnes. Cette table
renferme deux contacts, portant les cls primaires respectives 1
et 2.

Figure 4.57 : La table Contacts ne compte que deux clients

16 Aprs avoir referm la table Contacts, ouvrez la table Factures en


mode Feuille de donnes et tentez de saisir, dans le champ nocontact, un numro de client qui nexiste pas dans la table Contacts ; le
numro 722455 par exemple.
Lorsque vous essayez de vous placer sur un autre enregistrement,
Access vous linterdit et affiche un message vous signalant quun
enregistrement associ est requis dans la table Contacts.
Votre tentative de transgression des rgles dintgrit rfrentielle a
chou : vous ne pourrez dsormais quitter lenregistrement en
cours quen saisissant un numro de contact existant.

Figure 4.58 : La saisie dun mauvais numro de contact dans la table Factures

17 Fermez la bote de dialogue Microsoft Office Access vous indiquant


que lajout de lenregistrement est impossible, en cliquant sur le
bouton OK. Saisissez un numro de client qui existe dans la table
Contacts, le numro 2 par exemple, ainsi quune date de facture
dans la colonne datefacture. Fermez la table Factures.

4.6. Cas pratique

273

Vous allez essayer de supprimer dans la table Contacts le contact qui


vient dtre utilis dans la table Factures.
18 Ouvrez la table Contacts en mode Feuille de donnes et tentez de
supprimer lenregistrement ayant la cl primaire numro 2.
Une fois encore, lintgrit rfrentielle refuse dautoriser une incohrence dans les donnes en interdisant de supprimer un contact qui
est rattach des factures. Lintgrit rfrentielle empchait dutiliser des numros de cls primaires inexistants dans la table connexe
(comme un numro de contact inexistant dans la table Contacts
appel depuis la table Factures). Cet exemple montre quil est galement impossible de dtruire un contact dj rattach des factures,
comme dans cet exemple. Vous constatez quel point lapplication
des rgles dintgrit rfrentielle est importante, ds le dbut de la
construction de votre base.

Figure 4.59 : La suppression du contact est impossible dans la table Contacts

19 Cliquez sur le bouton OK de la bote de dialogue. Fermez la table


Contacts.

Dfinir des relations plusieurs plusieurs


Vous allez tudier la relation entre les tables Factures et Livres. Un
livre peut apparatre sur plusieurs factures, mais une facture peut
galement contenir plusieurs livres. Vous tes donc face une relation de type plusieurs plusieurs.
Vous utiliserez une troisime table de jonction, qui combinera la
fois la cl primaire de la table Factures et celle de la table Livres. La
combinaison des deux cls donnera un identifiant unique qui permettra de faon certaine de retrouver tous les livres utiliss dans une
facture, mais galement, dans lautre sens, toutes les factures faisant
mention dun livre donn.

274

4. Contrler la cohrence des donnes

Vous allez dabord crer la table de jonction nomme Facturelignes.


Elle contiendra les lignes de facture (une facture contiendra au moins
une ligne, mais pourra en contenir plusieurs). Il y aura autant de
lignes de facture que de livres facturs sur la facture. La table Factures ne contient que des en-ttes de facture, cest--dire le numro de
la facture, sa date et le numro du client. chaque en-tte de facture
correspondront une ou plusieurs lignes de facture. Une ligne de
facture, quant elle, sera associe un en-tte de facture et contiendra les informations relatives la facturation dun livre (le numro de
facture auquel la ligne est rattache, le numro du livre et la quantit
de livres).
1 En mode Cration, crez la table Facturelignes compose des
champs nofacture et nolivre de type Numrique.
La cl primaire sera compose de deux champs, nofacture et nolivre,
qui sont les cls des deux autres tables, appeles "cls trangres".
2 Pour crer la cl primaire compose des deux champs, slectionnez ces derniers et cliquez sur le bouton Cl primaire du groupe
Outils de longlet Cration.
Un symbole de cl primaire apparat sur chaque ligne.

Figure 4.60 : La cl primaire de la table Facturelignes est compose de deux champs

Observez cette nouvelle cl primaire compose de plusieurs


champs. Lexemple simplifi suivant va mettre son caractre unique
en vidence : la table des factures contient deux factures, numrotes 1 et 2 ; la table des livres contient, elle, trois livres, numrots 7,
8 et 9. Dressez une table de toutes les combinaisons des cls :
Tableau 4.2 : Combinaisons entre les deux cls primaires
Numro de facture
(nofacture)

Numro du livre
(nolivre)

Combinaison des deux numros (cl primaire


dans la table Facturelignes)

17

18

19

4.6. Cas pratique

275

Tableau 4.2 : Combinaisons entre les deux cls primaires


Numro de facture
(nofacture)

Numro du livre
(nolivre)

Combinaison des deux numros (cl primaire


dans la table Facturelignes)

27

28

29

Ce tableau met en vidence lunicit de chaque combinaison des


deux numros qui formeront la cl primaire dans la table des lignes
de facture.
3 Ajoutez galement la structure le champ quantite de type Numrique. Il est li au livre factur dans la ligne de la facture puisquil
contiendra la quantit de produit facture.

Figure 4.61 : La structure de la table Facturelignes

4 Fermez et enregistrez la table Facturelignes.


Vous allez maintenant crer les relations entre les trois tables.
5 Ouvrez longlet Relations en cliquant sur longlet Outils de base de
donnes puis sur le bouton Relations du groupe Relations. Ajoutez
la table Facturelignes dans longlet Relations en utilisant le bouton
Afficher la table du groupe Relations. Dans la bote de dialogue
Afficher la table, cliquez sur longlet Tables, puis slectionnez la
table Facturelignes. Cliquez sur le bouton Ajouter puis fermez la
bote de dialogue en utilisant le bouton Fermer (voir Figure 4.62).
Entre les tables Facture et Facturelignes, vous allez tracer la relation
un plusieurs que lon peut traduire de la faon suivante :
Une facture de la table Factures peut contenir plusieurs lignes de
facture de la table Facturelignes.
Chaque ligne de factures de la table Facturelignes correspond un
seul en-tte de facture de la table Factures.
6 Dans longlet Relations, tracez la relation entre les champs nofacture des tables Factures et Facturelignes. Dans la bote de dialogue
Modifier des relations, appliquez lintgrit rfrentielle en cochant
la case Appliquer lintgrit rfrentielle.

276

4. Contrler la cohrence des donnes

Figure 4.62 : La table Facturelignes est ajoute dans longlet des relations

7 Appliquez lintgrit en cascade. Cochez les cases Mettre jour en


cascade les champs correspondants et Effacer en cascade les enregistrements correspondant de la bote de dialogue Modifier des relations.

Figure 4.63 : La mise jour


et la suppression en cascade
entre les tables Factures et
Facturelignes

8 Fermez la bote de dialogue en cliquant sur le bouton Crer pour


retourner dans longlet Relations.

4.6. Cas pratique

277

Figure 4.64 : La relation un plusieurs entre les


tables Factures et Facturelignes

Il vous reste tablir la relation entre les tables Livres et Facturelignes. Elle devra traduire la situation suivante :

Un livre de la table Livres peut apparatre dans plusieurs lignes de


facture de la table Facturelignes ;
Chaque ligne de facture de la table Facturelignes correspond un
seul livre de la table Livres.
9 Tracez la relation entre les champs nolivre des tables Livres et
Facturelignes.
Vous allez appliquer lintgrit en cascade pour la mise jour seulement. En effet, la modification de la cl primaire dans la table Livres
doit entraner une mise jour des cls correspondantes dans la table
Facturelignes mais la suppression de lenregistrement dun livre dans
la table Livres ne doit pas entraner la suppression des enregistrements correspondants dans la table Facturelignes.
10 Dans la bote de dialogue Modifier des relations, appliquez lintgrit rfrentielle et la mise jour en cascade en cochant les cases
Appliquer lintgrit rfrentielle et Mettre jour en cascade les
champs correspondants.
Dans longlet des relations, la relation plusieurs plusieurs entre les
tables Factures et Livres est traduite par deux relations un plusieurs
avec la table de jonction Facturelignes.

Figure 4.65 : La relation


plusieurs plusieurs et
lapplication de lintgrit
rfrentielle entre les
tables Livres et
Facturelignes

278

4. Contrler la cohrence des donnes

11 Fermez et enregistrez les modifications apportes dans longlet


Relations.
Vous allez enfin pouvoir saisir la facture de deux livres. Len-tte de la
facture est saisir dans la table Factures.
12 Ouvrez la table Factures en mode Feuille de donnes. Vrifiez
quun en-tte de facture existe dans la table. Si ce nest pas le cas,
saisissez une date de facture dans la colonne datefacture, puis un
numro de client dans la colonne nocontact (le numro du contact
saisi doit exister dans la table Contacts).
Vous allez saisir les lignes de cette facture dans la table Facturelignes :

13 Sans fermer la fentre, visualisez lindicateur de dveloppement +,


gauche du numro de facture (sur lillustration ci-aprs, le numro de facture utilis est 1). Cliquez sur lindicateur de dveloppement.

Figure 4.66 : La saisie dun en-tte de facture


dans la table Factures

Une fentre sans barre de titre apparat.


Il sagit dune sous-feuille de donnes permettant de saisir les livres
et leurs quantits qui doivent figurer sur la facture. Cette sous-feuille
de donnes, qui sappuie sur la relation entre les deux tables, affiche
les lignes dans la table Facturelignes qui correspondent la facture
dans la table Factures. Le numro de la facture nest pas indiqu dans
la sous-feuille de donnes puisquil est indiqu dans le champ nofacture de la feuille de donnes principale (affichant la table Factures).

Une sous-feuille de donnes ?


Cest une feuille de donnes qui simbrique dans une autre feuille de
donnes et contient des donnes lies la premire. Vous pouvez y diter des
donnes connexes (cest--dire lies par une relation). Par exemple, la table
Factures possde une relation un plusieurs avec la table de jonction Facturelignes. Cela signifie que pour chaque ligne de la table Factures affiche en
mode Feuille de donnes, vous pouvez afficher et modifier les lignes connexes de la table Facturelignes dans une sous-feuille de donnes.

14 Saisissez la valeur dune cl primaire dun livre dans la colonne


nolivre de la premire ligne vide de la sous-feuille de donnes,
4.6. Cas pratique

279

puis un entier dans la colonne quantite de cette mme ligne.


Ajoutez de mme dautres lignes la facture.

Figure 4.67 : La saisie de lignes de facture


dans la sous-feuille de donnes

15 La saisie termine, faites disparatre la sous-feuille de donnes en


cliquant sur lindicateur de dveloppement -, gauche du numro
de facture dans la feuille de donnes de la table Factures.
Dans la table Factures en mode Feuille de donnes, vous allez vrifier
les donnes dans la table Facturelignes.
16 Fermez la table Factures, puis ouvrez en mode Feuille de donnes
la table Facturelignes et vrifiez que les lignes de la facture ont t
saisies.

Figure 4.68 : Les lignes de la premire facture

Dans la table Factures en mode Feuille de donnes, vous allez supprimer la facture et constater que les lignes de la facture seront
galement effaces dans la table Facturelignes.
17 Fermez la table Facturelignes, puis ouvrez en mode Feuille de
donnes la table Factures.
18 Cliquez dans la ligne de la facture et sur le bouton Supprimer du
groupe Enregistrements de longlet Feuille de donnes. Lorsque
Access demande la confirmation de la suppression de la ligne
dans la table Factures et dans la table lie Facturelignes, cliquez sur
le bouton Oui.
Lintgrit rfrentielle ninterdit pas de supprimer la facture puisque
vous avez appliqu la suppression en cascade entre les tables Factures et Facturelignes.

280

4. Contrler la cohrence des donnes

Figure 4.69 : Lapplication de la suppression en cascade entre les tables Factures et Facturelignes

19 Fermez la table Factures et ouvrez la table Facturelignes.


Celle-ci ne contient plus les lignes correspondant la facture supprime.
Dveloppez de mme la relation plusieurs plusieurs entre les tables
Auteurs et Livres (nommez la table de jonction Jonction-AuteursLivres).

Figure 4.70 : La relation plusieurs plusieurs entre les tables Auteurs et Livres

Dfinir des relations un un


Vous allez maintenant construire une relation de type un un entre la
table des livres et une nouvelle table, que vous nommerez Communication. Cette dernire sera utilise pour indiquer si une campagne
de communication est effectue lors du lancement du livre. Elle
contiendra les champs ncessaires au stockage des informations
suivantes :
j

le numro du livre ;

un court slogan publicitaire ;


une information boolenne (pouvant prendre les valeurs Oui ou
Non) pour indiquer si une campagne publicitaire est lance sur les
radios ;
une information boolenne pour indiquer si une campagne publicitaire est lance sur les chanes tlvises ;

4.6. Cas pratique

281

une information boolenne pour indiquer si une campagne publicitaire est lance dans la presse ;
le budget allou la campagne de communication.

Procdez ainsi :
1 Construisez la table Communication avec la structure indique
dans lillustration qui suit :

Figure 4.71 : La structure de la table


Communication

Les cls primaires de la table Communication seront enregistres


dans le champ nolivre, de type Numrique. Elles seront constitues
des valeurs des cls primaires de la table Livres qui y seront reportes, lorsque le livre bnficiera dune campagne de communication.
La relation un un est ici justifie par le fait que les informations sont
propres aux livres, mais que tous les livres ne bnficient pas de
campagne de communication.
Vous allez crer la relation entre les tables Livres et Communication.
2 Fermez la table Communication si celle-ci est ouverte. Affichez
longlet Relations et ajoutez la table Communication dans longlet.
Tracez la relation entre les cls primaires nolivre des deux tables en
glissant la cl primaire nolivre de la table Livres vers la cl primaire
de la table Communication.
3 Appliquez lintgrit rfrentielle, la mise jour et la suppression
en cascade (voir Figure 4.72).
Vous obtenez la relation un un entre les deux tables dans longlet
Relations. Remarquez la symbolique utilise par Access : le caractre 1 figure des deux cts de la relation.
4 Fermez et enregistrez longlet Relations.
Vous allez saisir les informations relatives la communication effectue pour le lancement dun livre, titre dexemple.

282

4. Contrler la cohrence des donnes

Figure 4.72 : La dfinition de lintgrit rfrentielle, de la mise jour et de la suppression en cascade


entre les tables Livres et Communication

5 Ouvrez la table Livres en mode Feuille de donnes pour y saisir les


donnes relatives la communication effectue pour certains livres. Depuis sur longlet Accueil cliquez sur le bouton Plus du
groupe Enregistrements puis Sous-feuille de donnes et nouveau
sur Sous-feuille de donnes.

Figure 4.73 : Laccs au choix de la table de la Sous-feuille de donnes

La bote de dialogue Insertion sous-feuille de donnes apparat.


6 Choisissez, sous longlet Tables, la table Communication. Cliquez
sur le bouton OK.

4.6. Cas pratique

283

Figure 4.74 : Le choix de la table devant


tre ouverte dans la Sous-feuille de
donnes

7 Dans la feuille de donnes de la table Livres, cliquez sur lindicateur de dveloppement +, gauche du numro du livre pour
lequel des informations relatives la communication doivent tre
saisies (sur lillustration, le numro du livre est 1).
Une sous-feuille de donnes apparat.
8 Saisissez une ligne dans la sous-feuille de donnes. Rptez ventuellement lopration pour dautres livres.

Figure 4.75 : Ici, deux livres bnficient dune campagne de communication

Si vous tentez de saisir deux lignes dans la sous-feuille de donnes,


Access vous interdit de continuer (un seul enregistrement de la table

284

4. Contrler la cohrence des donnes

Communication peut tre li un enregistrement de la table Livres,


par la nature de la relation un un).

9 Cliquez dans ce cas sur le bouton OK de la bote de dialogue qui


apparat. Utilisez la touche [chap] pour annuler la saisie de la
deuxime ligne.

Figure 4.76 : Au plus, un seul enregistrement de la table Communication peut tre associ un
enregistrement de la table Livres

10 Fermez et enregistrez la table Livres. Affichez la table Communication en mode Feuille de donnes pour y vrifier la saisie.
Il est possible de visualiser le livre pour chaque communication en
cliquant sur lindicateur de dveloppement + des lignes de la feuille
de donnes de la table Communication.

Figure 4.77 : La table Communication, visualise en mode Feuille de donnes

Lorsquune seule relation est dfinie


Inutile de dfinir la table de la sous-feuille de donnes lorsque la table est
en relation avec une seule autre table (Access propose dans ce cas automatiquement dans la Sous-feuille de donnes lunique table mise en relation).

11 Fermez la table Communication.

Quelques oprations annexes


Avant de clore ce chapitre, vous allez encore effectuer quelques
oprations complmentaires ; elles vous seront utiles dans les cha-

4.6. Cas pratique

285

pitres suivants pour vous permettre de dvelopper une application


finalise. Ces manipulations nintroduisent pas de nouveaux
concepts ; il sagit uniquement de crer quelques relations un
plusieurs faisant appel de nouvelles tables afin de pouvoir grer les
assujettissements la TVA, les rglements et les modes de rglements. Procdez ainsi :
1 Crez trois tables possdant les structures suivantes :
la table Taxes, qui contiendra les taux de TVA en vigueur ;

Figure 4.78 : La structure de la table Taxes

la table Reglements, qui contiendra les informations concernant


les rglements ;

Figure 4.79 : La structure de la table Reglements

286

4. Contrler la cohrence des donnes

la table Modesreglement, qui contiendra les diffrents modes de


rglement (chque, espces, virement ou avoir).

Figure 4.80 : La structure de


la table Modesreglement

Il vous faut crer les relations un plusieurs entre les nouvelles


tables. Pour chaque relation, vous allez appliquer les rgles dintgrit rfrentielle avec mises jour en cascade et, ventuellement
suppressions en cascade.
Pour pouvoir enregistrer le taux de TVA auquel un livre est soumis,
vous allez mettre en relation les tables Taxes et Livres. Vous devrez
ajouter un champ la table des livres. Le rle de ce champ sera de
stocker les valeurs des cls primaires de la table des taxes.
2 Modifiez la structure de la table Livres en lui ajoutant le champ
notva, de type Numrique.
3 Dans longlet des relations, tracez la relation entre les tables Taxes
et Livres (la relation utilisera les champs notva). Appliquez lintgrit rfrentielle avec mise jour en cascade sur la relation.

Figure 4.81 : Lapplication


de lintgrit rfrentielle
avec mise jour en cascade
entre les tables Taxes et
Livres

4.6. Cas pratique

287

La table des rglements sera utilise pour enregistrer les rglements


(ou les avoirs) intervenant pour une facture. Il sera ainsi possible
denregistrer un nombre non dfini de rglements dune facture (en
cas de paiements fractionns).
4 Dans longlet des relations, crez la relation entre les tables Factures et Rglements en utilisant le champ nofacture de la table Factures et celui du mme nom, dfini la cration de la table Reglements. Appliquez lintgrit rfrentielle avec mise jour et
suppression en cascade.

Figure 4.82 : Lapplication de lintgrit rfrentielle avec mise jour en cascade et suppression en
cascade entre les tables Factures et Reglements

Enfin, la table des modes de rglement va permettre dindiquer le


moyen de rglement utilis. Lutilisation dune telle table, mme si le
nombre denregistrements quelle renferme est restreint, est plus
judicieuse quune liste de valeurs car elle autorise lajout dun nouveau mode de rglement, initialement non prvu, comme le paiement par carte bancaire.
Afin de faciliter la saisie dans la table des rglements, vous utiliserez
une liste de choix pour oprer la slection du mode de rglement.
5 Modifiez la structure de la table Reglements en crant une liste de
choix sur le champ nomodereglement dont la source est la table
Modesreglement.

288

4. Contrler la cohrence des donnes

Figure 4.83 : Le champ nomodereglement utilise une liste de choix dont la source de donnes est la
table Modesreglement

6 Dans longlet des relations, modifiez la relation un plusieurs


entre les tables Modesreglement et Reglements (qui a t cre lors
de la dfinition de la liste de choix) afin dappliquer lintgrit
rfrentielle avec mise jour en cascade.

Figure 4.84 : Lapplication de lintgrit rfrentielle avec mise jour en cascade entre les tables
Modesreglement et Reglements

Lillustration qui suit montre les relations dfinies dans la base de


donnes :

4.6. Cas pratique

289

Figure 4.85 : Les relations de la base de donnes Facturation livres4 finale.accdb

Tlchargement de la base de donnes


Vous trouverez la base de donnes utilise dans ce chapitre, Facturation
livres4 finale.accdb, sur le site de Micro Application (www.microapp.com) dans le
dossier Chapitre04.

290

4. Contrler la cohrence des donnes

CHAPITRE 5

EXTRAIRE
DES DONNES
Comprendre le rle des requtes ...................................................................... 293
Les requtes de slection ...................................................................................... 294
Utiliser lAssistant Requte ................................................................................... 333
Crer des requtes action ...................................................................................... 342
Ajouter des paramtres dans les requtes .................................................... 350
Cas pratique ................................................................................................................. 352

291

Dans ce chapitre, vous allez dcouvrir les requtes. Ces objets vous
permettront dafficher, de modifier et danalyser des donnes et
seront utiliss comme sources de donnes dans les formulaires et
dans les tats.

5.1. Comprendre le rle des requtes


Stocker des donnes dans des tables est une chose. Interroger les
tables en est une autre. Avant lapparition du langage SQL, linterrogation des tables se faisait par le biais de programmes. Le travail
demandait beaucoup plus de temps et les bogues taient possibles,
surtout lorsque les donnes extraites taient stockes dans de volumineuses et complexes bases de donnes qui ntaient pas, cette
poque, protges par des fonctionnalits dintgrit rfrentielle.
Lapparition du langage SQL, dans les annes 1990, a vritablement
donn une autre dimension aux bases de donnes. SQL (Structured
Query Language) nest pas proprement parler un langage de programmation comme Visual Basic ou C++ ; cest un langage spcialis
dans linterrogation des bases de donnes. Access nest donc pas la
seule base pouvoir utiliser ce langage dinterrogation. Toutes les
bases de donnes modernes lemploient aujourdhui.
Comme vous le dcouvrirez dans ce chapitre, fondamentalement,
une phrase, nomme requte, en SQL ressemble ceci : <sujet>
<verbe> <complment>. Avec un peu de pratique, le langage sacquiert
vite. Il est donc conseill de passer quelques heures ltudier afin
de mieux comprendre sa structure. Heureusement, cette tape nest
plus obligatoire car Access 2011 met la disposition des plus presss un puissant outil, le Gnrateur de requtes, qui effectue le
travail dcriture de la requte automatiquement, aprs quelle a t
"compose" en insrant les diffrents lments de la phrase dans
une grille dont la forme rappelle celle dune feuille de donnes.
Les extractions de donnes effectues par les requtes ont une
courte dures de vie ; elles nexistent que pendant leur excution.
Elles disparaissent la fermeture de la requte. Ce mode de fonctionnement fait de la requte un outil puissant, peu coteux en
espace disque et capable de filtrer et trier des donnes sur plusieurs
tables ou deffectuer des calculs.
Lexemple de donnes de ce chapitre concerne des horaires de
trains. Vous allez voir comment en extraire diffrentes informations.

5.1. Comprendre le rle des requtes

293

Tlchargement de la base de donnes


Vous retrouverez la base de donnes BaseTrains.accdb, utilise dans ce
chapitre, sur le site de Micro Application (www.microapp.com) dans le dossier
Chapitre05.

5.2. Les requtes de slection


Lexpression "requtes slection" dsigne des requtes qui extraient
des donnes de tables sans y apporter de modification.
Vous voulez par exemple consulter les horaires des trains en partance de Paris vers diffrentes villes de province. Vous allez constituer une petite base de donnes dont le nombre denregistrements
sera limit afin de pouvoir y pratiquer les manipulations qui suivent.
Noubliez pas que vous pouvez galement tlcharger la base depuis
Internet.
La base de donnes BaseTrains.accdb est compose de trois tables :
Villes-arrivee, Horaires et Trains. Les relations sont les suivantes :
j

Une relation un plusieurs entre les tables Villes-arrivee et Horaires. Une ville de destination est accessible diffrents horaires
alors quun dpart donn, une heure donne, ne correspond
qu une seule ville de destination.

Une relation un plusieurs entre les tables Trains et Horaires. Un


mme train peut partir plusieurs horaires alors quun horaire
donn nest affect qu un train.

Lillustration suivante vous prsente le schma des relations de la


base de donnes quil vous est possible dafficher au moyen de
longlet Outils de base de donnes puis en utilisant le bouton Relations.

Figure 5.1 : Les trois tables et leurs relations

294

5. Extraire des donnes

Quelques rudiments de SQL


Lobjectif de ces premires manipulations est de dcouvrir les points
les plus importants de la syntaxe SQL. Vous nen utiliserez que mieux
le Gnrateur de requtes.

La structure dune requte


Lorsque vous composez une phrase dans le langage usuel, vous
respectez des rgles de composition telles que <sujet> <verbe>
<complment>.
La syntaxe de SQL nest gure loigne du langage courant. Ainsi,
pour traduire la phrase "Je veux connatre toutes les villes.", vous
direz en SQL : SELECT * FROM Villes.
Vous voyez ici les deux instructions (ou clauses) minimales pour
crire une requte : SELECT et FROM. Les autres clauses sont optionnelles. Elles figurent entre crochets sur la liste qui suit.
Tableau 5.1 : Principales clauses SQL
Clause

Description

SELECT

Liste des champs qui saffichent dans le rsultat de la requte

FROM

Listes des tables

[WHERE]

Critres de recherche

[GROUP BY] Dfinition du regroupement


[ORDER BY] Dfinition dun tri

Les clauses optionnelles vous permettent dexprimer des phrases


plus complexes, comme : "Je veux les horaires des trains en partance pour Nancy et Paris entre 18 heures et 22 heures."
Le premier exemple de requte trait ici aura pour objectif dafficher
toutes les villes de la table Villes-arrivee. Procdez ainsi :
1

Ouvrez la base de donnes BaseTrains.accdb en cliquant


sur longlet Crer puis sur le bouton Cration de requte du
groupe Macros et code.

La bote de dialogue Afficher la table apparat.


2 Fermez cette bote de dialogue (elle ne vous sera pas utile dans
limmdiat) en cliquant sur son bouton Fermer.

5.2. Les requtes de slection

295

Figure 5.2 : La bote de dialogue Afficher la table

Longlet Requte1 est affich.


3

Cliquez sur le bouton SQL du groupe Rsultats de longlet


Outils de requte/Crer.

Cet onglet vous servira saisir le code SQL des requtes.

Figure 5.3 : Longlet de la saisie du code SQL de la requte

4 la suite de linstruction SELECT, saisissez le caractre * puis ajoutez la clause FROM et le nom de la table Villesarrivee.
Lastrisque est un caractre de substitution qui permet dindiquer
dans la requte que toutes les colonnes de la table sont slectionnes.

296

5. Extraire des donnes

La requte, une fois saisie, est donc :


SELECT * FROM [Villes-arrivee];

Il est ncessaire dencadrer de crochets les noms des tables ou des


champs qui contiennent des espaces et des caractres spciaux (tels
que des tirets), sous peine de constater des erreurs dinterprtation
lors de lexcution de la requte par Access.

Modifier la police de caractres utilise dans les requtes SQL


La taille et la police des caractres utilises pour crire les requtes, dans
les modes SQL et Cration dune requte, sont modifiables, permettant ainsi
damliorer la lisibilit.
Cliquez pour ce faire sur longlet Fichier puis sur le bouton Options. Dans la
bote de dialogue Options Access qui est affiche, cliquez sur Concepteurs
dobjets. la rubrique Cration de requte, dfinissez la police et sa taille
dans la zone Police de cration de requtes.
La modification de la mise en forme sera visible uniquement sur les requtes
saisies en mode SQL qui seront ouvertes aprs cette modification de la police
(et non dans les onglets de requtes dj ouverts).

Figure 5.4 : La modification


de la police utilise dans les
requtes et de la taille des
caractres

5 Pour visualiser le rsultat de la requte, cliquez sur longlet Outils


de requte/Crer. Dans le groupe Rsultats, cliquez sur le bouton
Excuter ou sur le bouton Affichage.

Figure 5.5 : La requte de


slection de toutes les villes
de la table Villes-arrivee va
tre excute

Le rsultat de la requte est affich en mode Feuille de donnes.

5.2. Les requtes de slection

297

Figure 5.6 : Le rsultat de la requte, dans la


feuille de donnes

6 Enregistrez la requte (en cliquant sur le bouton Enregistrer de la


barre doutils Accs rapide) sous le nom Liste des villes SQL via
longlet Fichier/Enregistrer.

Donnes enregistres lors de lenregistrement dune requte


Aucune donne nest enregistre lors de lenregistrement dune requte.
Aussi surprenant que cela puisse paratre, seul le code SQL est enregistr. Les
rsultats des requtes nexistent que pendant leur excution et disparaissent
leur fermeture. Le rsultat de la requte pouvant varier dun jour lautre,
en fonction de lvolution des donnes contenues dans les tables, ce principe
les rend trs puissantes et fort peu coteuses en espace disque.
Avant lapparition du langage SQL, les bases de donnes taient interroges
par des copies partielles des tables dans dautres tables, temporaires ou non.
Les traitements taient beaucoup plus longs et consommaient de lespace sur
les disques durs.

Vous venez dcrire et dexcuter votre premire requte. Toutefois,


vous avez peut-tre constat que votre interrogation de la base
manquait de pertinence : crire une requte pour afficher tous les
champs dune table, cest se donner beaucoup de mal pour compliquer ce que lon aurait pu faire simplement en consultant la table en
mode Feuille de donnes.
Le deuxime objectif est maintenant dafficher les noms de la ville et
de son dpartement, stocks dans la table Villes-arrivee, sans faire
apparatre les informations des autres colonnes.

298

5. Extraire des donnes

7 Revenez en mode SQL en cliquant sur la flche du bouton


Affichage de longlet Accueil puis en choisissant Mode SQL dans la
liste dactions qui vous est propose.

Figure 5.7 : Le retour au mode SQL

Accs rapide au mode SQL


Vous pouvez galement cliquer sur le bouton Mode SQL prsent en bas et
droite de la fentre dAccess, dans la Barre dtat.

Figure 5.8 : Le bouton Mode SQL

8 Remplacez lastrisque par ville, departement pour obtenir le code


suivant :
SELECT ville, departement FROM [Villes-arrivee];

Linstruction SELECT est suivie du nom des champs de la table qui


correspondent aux colonnes devant tre affiches dans le rsultat de
la requte.

Figure 5.9 : Le code SQL de la


requte

Le rsultat obtenu, lorsquon clique sur le bouton Excuter, est prsent dans lillustration qui suit :

5.2. Les requtes de slection

299

Figure 5.10 : Le rsultat de la requte

La prsentation des donnes extraites par la requte peut tre amliore en renommant les en-ttes des colonnes affiches en mode
Feuille de donnes. Dans cet exemple, len-tte de la colonne ville
sera ainsi chang en Nom de la ville et len-tte de la colonne
departement en N de dpartement.
La mention AS, suivie du nouveau nom de len-tte de colonne,
permet de changer le nom de len-tte de colonne dans le rsultat de
la requte.
9 Dans longlet renfermant la feuille de donnes, affichez la requte
en mode SQL en cliquant du bouton droit sur le nom de longlet
puis en choisissant Mode SQL dans le menu contextuel qui apparat (cette mthode daffichage du code SQL est une variante de
celle prcdemment utilise).

Figure 5.11 : Une autre mthode daffichage du


code SQL

10 Modifiez la syntaxe de la requte : saisissez AS [Nom de la ville]


aprs le champ ville et AS [N de dpartement] aprs le champ
departement.

300

5. Extraire des donnes

Noubliez pas les crochets qui encadrent les noms des colonnes.
La syntaxe SQL de la requte est donc :
SELECT ville AS [Nom de la ville],
departement AS [N de dpartement]
FROM [Villes-arrivee];

Figure 5.12 : Le code SQL de la requte

11 Visualisez le rsultat en mode Feuille de donnes.

Figure 5.13 : Le rsultat de la requte en


mode Feuille de donnes

12 Enregistrez la requte sous le nom Villes et dpartements SQL en


utilisant longlet Fichier puis en choisissant Enregistrer sous.

La syntaxe dune requte de slection effectuant un tri


Vous allez dcouvrir maintenant comment classer le rsultat dune
requte.
Pour classer les lignes dans le rsultat dune requte, la clause ORDER
BY est suivie du nom de la colonne trier. Procdez ainsi :

1 Affichez la requte prcdente en mode SQL et ajoutez ORDER BY


ville la fin de la syntaxe de la requte.
Le code SQL de la requte devient :
SELECT ville AS [Nom de la ville],
departement AS [N de dpartement]
FROM [Villes-arrivee]
ORDER BY ville;

Figure 5.14 : Le code SQL de la requte

2 Fermez et enregistrez la requte sous le nom Villes tries SQL.


5.2. Les requtes de slection

301

La syntaxe dune requte de slection sur plusieurs


tables
Voyez maintenant comment extraire des donnes de plusieurs tables. Pour chaque ville est tabli un horaire de train. Vous souhaitez
extraire le nom de la ville, le jour du dpart, lheure de dpart et
lheure darrive. Ces donnes sont stockes dans plusieurs tables.
Procdez ainsi :
1 Affichez comme prcdemment la fentre de saisie du code SQL
dune nouvelle requte.
Vous allez interroger les deux tables Villes-arrivee et Horaires.
2 Saisissez le code SQL suivant :
SELECT [Villes-arrivee].ville, Horaires.jour,
Horaires.[heure dpart], Horaires.[heure fin]
FROM [Villes-arrivee], Horaires
WHERE [Villes-arrivee].noville = Horaires.noville ;

Dans la clause SELECT, pour diffrencier sans quivoque lorigine dun


champ (deux tables distinctes pouvant contenir des champs de
mme nom), vous avez fait prcder chaque champ du nom de la
table qui le contient. Cette association est nomme "alias".
La clause WHERE vrifie lgalit de valeurs entre les champs communs aux deux tables. Remarquez la syntaxe utilise pour dsigner
les champs : dans la clause WHERE, lobjet champ noville, par exemple, est prcd de son conteneur, lobjet table Villesarrivee. Les
deux objets sont spars par un point.
La clause FROM permet ici dnumrer les tables utilises dans la
requte : Villes-arrivee et Horaires.

Produit cartsien
La source de la requte est, dans ce cas, appele "produit cartsien des
tables dfinies dans la clause FROM". Access recherche toutes les lignes de la
table Villes-arrivee associes la table Horaires qui rpondent la clause
WHERE.

Figure 5.15 : Le code SQL de la requte

3 Visualisez le rsultat en mode Feuille de donnes.

302

5. Extraire des donnes

4 Pour trier sur la date, ajoutez ORDER BY Horaires.jour la fin de la


syntaxe de la requte en mode SQL.

Figure 5.16 : Le code SQL de la requte

5 Visualisez le rsultat en mode Feuille de donnes.

Figure 5.17 : Le rsultat de la


requte

6 Fermez et enregistrez la requte sous le nom Villes Horaires SQL.

La syntaxe dune requte de slection avec critres


Imaginons dsormais que vous souhaitiez faire connatre les gares
de la rgion parisienne. Vous devez alors insrer un critre, dit de
slection, sur le dpartement de la requte Villes et dpartements SQL. Pour cela :
1 Dans la liste des objets du Volet de navigation, cliquez du bouton
droit sur la requte Villes et dpartements SQL. Choisissez Mode
Cration dans le menu contextuel qui apparat.
2 Cliquez sur le bouton Affichage puis sur Mode SQL si le code SQL
nest pas affich. Ajoutez la clause WHERE la fin de la requte suivie
de la condition departement=75.
Le code SQL de la requte devient :
SELECT ville AS [Nom de la ville],
departement AS [N de dpartement]

5.2. Les requtes de slection

303

FROM [Villes-arrivee]
WHERE departement=75;

Figure 5.18 : Le code SQL de la requte

Le critre est mentionn dans la clause WHERE. En permettant dtablir


une comparaison, la clause WHERE va slectionner les lignes qui rpondent la condition, et uniquement ces lignes.
Une comparaison est dfinie de la faon suivante :
<expression> <oprateur relationnel> <expression>

<expression> est un champ de la table dfinie dans la clause FROM,


une constante ou une expression numrique.
<oprateur relationnel> dsigne les oprateurs =, >, <, <=, >=, <, >.

3 Enregistrez la requte sous le nom Villes 75 SQL puis fermez la


requte.
Vous allez maintenant raliser une requte de slection sur plusieurs
tables avec le mme critre que prcdemment, en utilisant la requte Villes Horaires SQL et en ajoutant au code SQL un nouveau
type dlments de syntaxe : loprateur logique ET (AND) dans la
clause WHERE.
4 Affichez le code SQL de la requte Villes Horaires SQL. Ajoutez AND
[Villesarrivee].departement=75 la fin de la clause WHERE.
Le code SQL de la requte devient :
SELECT [Villes-arrivee].ville, Horaires.jour,
Horaires.[heure dpart], Horaires.[heure fin]
FROM [Villes-arrivee], Horaires
WHERE [Villes-arrivee].noville=Horaires.noville
AND [Villes-arrivee].departement=75
ORDER BY Horaires.jour;

Figure 5.19 : Le code SQL de la requte

304

5. Extraire des donnes

Figure 5.20 : Le rsultat de la


requte

Loprateur logique OU entre dans la mme famille que le prcdent.


Il va vous permettre de connatre les horaires de Paris ainsi que ceux
du 15 janvier 2011. Utilisez cette requte pour ajouter un autre critre, sur la date cette fois :
5 Affichez le code SQL de la requte en mode SQL. Modifiez la
requte en saisissant ([Villesarrivee].departement=75 OR Horaires.jour=#15/01/2011#) aprs loprateur AND de la clause WHERE
(sans oublier les parenthses).
La date, en mode SQL, doit tre encadre par des dises.
Le code SQL de la requte est donc le suivant :
SELECT [Villes-arrivee].ville, Horaires.jour,
Horaires.[heure dpart], Horaires.[heure fin]
FROM [Villes-arrivee], Horaires
WHERE [Villes-arrivee].noville=Horaires.noville
AND ([Villes-arrivee].departement=75
OR Horaires.jour=#15/01/2011#)
ORDER BY Horaires.jour;

Figure 5.21 : Le code SQL de la requte

Figure 5.22 : Le rsultat de la


requte

Vous allez maintenant limiter lextraction une tranche horaire sur


les heures de dpart allant de 6 heures 10 heures, indpendamment du dpartement.

5.2. Les requtes de slection

305

Le prdicat "entre" est traduit par Between qui est linstruction permettant dtablir une comparaison entre deux bornes.
6 Affichez le code SQL de la requte en mode SQL, puis modifiez la
requte en saisissant (Horaires.[heure dpart] Between #06:00:00#
And #10:00:00#) aprs loprateur AND de la clause WHERE (sans
oublier les parenthses).
Loprateur logique AND permet ici de lier les deux dates.
Le code SQL de la requte devient donc :
SELECT [Villes-arrivee].ville, Horaires.jour,
Horaires.[heure dpart], Horaires.[heure fin]
FROM [Villes-arrivee], Horaires
WHERE [Villes-arrivee].noville=Horaires.noville
AND (Horaires.[heure dpart] Between #06:00:00#
And #10:00:00#)
ORDER BY Horaires.jour;

Figure 5.23 : Le code SQL de la requte

Figure 5.24 : Le rsultat de la


requte

7 Enregistrez la requte sous le nom Villes 06H 10H SQL. Fermez la


requte.

La syntaxe dune requte de slection


avec regroupement
Vous allez maintenant aborder la notion de regroupement en affichant le nombre de trajets par ville.
Le regroupement sur la ville est traduit par la clause GROUP BY.

306

5. Extraire des donnes

Lopration de dnombrement des trajets est traduite par la fonction


COUNT().
1 Affichez comme prcdemment la fentre de saisie du code SQL
dune nouvelle requte, puis saisissez le code suivant :
SELECT [Villes-arrivee].ville,
Count(Horaires.noville) AS Nb_trajets
FROM [Villes-arrivee], Horaires
WHERE [Villes-arrivee].noville=Horaires.noville
GROUP BY [Villes-arrivee].ville;

Figure 5.25 : Le code SQL


de la requte

Deux nouvelles oprations sont ralises ici.


La premire, traite par la clause GROUP BY, regroupe les noms de
villes identiques, dans ce que nous appellerons "un groupe". la
diffrence dExcel, SQL na pas besoin de disposer denregistrements pralablement tris pour grouper les informations : les groupes sont bien constitus mais ils ne sont pas tris. Un regroupement
sur des noms de famille, par exemple, pourrait parfaitement faire
apparatre le groupe des Masson avant celui des Durand, si le nom
Masson tait rencontr en premier dans la table par la requte, lors
du regroupement. Dans cet exemple, le groupe est constitu sur le
champ ville de la table Villes-arrivee. La clause GROUP BY est galement
utile lors de la ralisation de totaux.
La deuxime opration consiste, pour chaque groupe, utiliser la
fonction COUNT(), qui comptera, dans cet exemple, pour chaque ville,
le nombre de trajets.

Figure 5.26 : Le rsultat de la requte

2 Enregistrez la requte sous le nom Villes Nb trajets SQL.

5.2. Les requtes de slection

307

Les exemples abords lors de cette section vous convaincront sans


doute de lintrt du langage SQL. Ce chapitre constitue un bon point
de dpart pour votre apprentissage. Les rudiments de syntaxe SQL
exposs ici sont suffisants pour comprendre les mcanismes de
fonctionnement des requtes.
Vous allez maintenant dcouvrir que la plupart des requtes peuvent
tre cres beaucoup plus facilement en mode Cration, mode que
vous utiliserez dans les sections suivantes.

Travailler en mode Cration


Le mode Cration est le mode le plus couramment utilis. Il permet
de dvelopper ou de modifier efficacement les types de requtes les
plus frquents, sans connaissance spcifique du langage SQL.

Crer une requte


1 Cliquez sur longlet Crer puis sur le bouton Cration de requte du
groupe Macros et code.
La bote de dialogue Afficher la table apparat.
2 Sous longlet Table, choisissez une table utiliser dans la requte.
Cliquez sur le bouton Ajouter puis sur Fermer.

Figure 5.27 : Le choix de la


table qui sera utilise dans
la requte

Longlet Requte1 saffiche.

308

5. Extraire des donnes

En mode Cration, la requte apparat sous la forme dun onglet


compos de deux parties :
La partie suprieure affiche la liste des tables ou des requtes
intervenant dans la requte ; ici la table Villes-arrivee.
La partie infrieure est la grille de cration ; elle fait apparatre les
lignes Champ, Table, Tri, Afficher, Critres et Ou.

Figure 5.28 : Longlet du mode Cration

Voici la description des fonctions de ces diffrentes lignes.


Champ : colonne du champ qui apparat dans le rsultat de la

requte. Pour choisir le champ, il suffit de cliquer dans la cellule et


de le slectionner dans la liste des champs. Une fois le champ
choisi, vous pouvez lui appliquer diffrents paramtres.
Table : il sagit de la table qui contient le champ choisi dans la ligne
Champ. La ligne Table peut tre masque ou affiche par longlet
Affichage/Noms des tables.
Tri : dfinition du tri appliqu sur la colonne du champ choisi dans
la ligne Champ.
Afficher : permet dafficher (case coche) ou de masquer (case
dcoche) la colonne du champ qui apparat dans le rsultat de la
requte.
Critres : dfinit des restrictions sur les valeurs du champ choisi
dans la ligne Champ.
Ou : dfinit dautres restrictions sur les valeurs du champ choisi
dans la ligne Champ.

La premire tape dutilisation du mode Cration de requtes


consiste ajouter les colonnes que vous souhaitez voir apparatre
dans le rsultat de la requte.

5.2. Les requtes de slection

309

3 Dans la ligne Champ de la grille de cration, choisissez les champs


au moyen des listes droulantes de chaque colonne.
Vous pouvez galement les glisser depuis les tables vers les lignes
Champ.

Figure 5.29 : Lajout des


champs utiliss dans la
requte

Afficher le rsultat dune requte


Depuis le mode Cration, utilisez lune des mthodes suivantes pour
visualiser le rsultat de la requte dans une feuille de donnes :
j

Cliquez sur longlet Outils de


requte/Crer puis, dans le
groupe Rsultats, sur le bouton
Excuter ou encore sur le bouton
Affichage.

Figure 5.30 : Le groupe


Rsultat

Cliquez du bouton droit sur la partie suprieure de longlet de la


requte, puis choisissez Mode Feuille de donnes dans le menu
contextuel qui apparat.

Figure 5.31 : Laffichage du


rsultat de la requte
depuis le menu contextuel

310

5. Extraire des donnes

Vous pouvez galement cliquer sur le bouton Mode Feuille de


donnes prsent en bas et droite de la fentre dAccess, dans la
Barre dtat.

Figure 5.32 : Le bouton Mode Feuille de donnes

Afficher le rsultat dune requte sans avoir recours au mode Cration


Si la requte nest pas ouverte en mode Cration, son rsultat peut tre
visualis directement en mode Feuille de donnes. Dans le volet de navigation, vrifiez que la catgorie Requtes est dveloppe sur la liste des objets,
double-cliquez sur la requte ou cliquez du bouton droit sur celle-ci et choisissez Ouvrir dans le menu contextuel qui apparat.

Ouvrir une requte en mode Cration


Depuis le mode Feuille de donnes, utilisez lune des mthodes
suivantes pour modifier la requte en mode Cration :
j

Cliquez sur le bouton Affichage de longlet Accueil.

Cliquez du bouton droit sur le nom de longlet de la requte.


Choisissez Mode Cration dans le menu contextuel qui apparat.
Vous pouvez galement cliquer sur le bouton Mode Cration prsent en bas et droite de la fentre dAccess, dans la Barre dtat.

Figure 5.33 : Diffrentes


faons pour accder au
mode Cration depuis le
mode Feuille de donnes

5.2. Les requtes de slection

311

Ouvrir une requte en mode Cration sans utiliser le mode Feuille


de donnes
Si la requte nest pas ouverte en mode Feuille de donnes, elle peut tre
affiche en mode Cration depuis le volet de navigation. Vrifiez que la
catgorie Requtes est dveloppe dans la liste des objets, cliquez du bouton
droit sur la requte puis choisissez Mode Cration.

Modifier la requte en mode Cration


Pour ajouter des colonnes que vous souhaitez voir apparatre dans le
rsultat de la requte, utilisez lune des mthodes suivantes :
j

Choisissez dans la ligne Champ de la grille de cration un champ


au moyen de la liste droulante des colonnes vides.

Double-cliquez sur un champ de la table pour quil apparaisse


dans la premire colonne vide.
Slectionnez un ou plusieurs champs depuis la table en utilisant la
touche [Maj] pour slectionner des champs mitoyens ou la touche
[Ctrl] pour slectionner des champs non contigus. Glissez la slection vers la ligne Champs.
Double-cliquez sur lastrisque, dans la liste des champs de la
table, ou choisissez le nom de la table suivi dun astrisque lorsque vous droulez une liste dans la ligne Champ si vous dsirez
afficher tous les champs de la table dans le rsultat de la requte.

Lastrisque
Si vous choisissez cet lment de la liste, Access insre tous les champs de la
table dans le rsultat de la requte, vous vitant ainsi de les glisser un un.

Pour slectionner une ou plusieurs colonnes, utilisez lune des mthodes suivantes :
j

Placez le pointeur sur len-tte dune colonne, puis cliquez lorsque


le curseur prend lapparence dune flche verticale dirige vers le
bas. La colonne apparat en vido inverse ;

Figure 5.34 : La colonne va tre slectionne

312

5. Extraire des donnes

Pour choisir plusieurs colonnes contigus, slectionnez la premire colonne en cliquant sur son en-tte, maintenez la touche [Maj]
enfonce puis cliquez sur len-tte de la dernire colonne slectionner.

Pour insrer une colonne, oprez comme suit :


1 Placez le point dinsertion dans la colonne qui sera positionne
aprs la colonne insre.
2 Cliquez sur le bouton Insrer des colonnes du groupe Paramtrage
de requte de longlet Outils de requte/Crer ou utilisez la touche
[Inser]. Dans ce dernier cas, slectionnez la colonne qui sera place
aprs la colonne insre.

Figure 5.35 : Le bouton Insrer des colonnes

Pour supprimer une ou plusieurs colonnes, oprez comme suit :


1 Slectionnez les colonnes supprimer.
2 Cliquez sur le bouton Supprimer colonnes du groupe Paramtrage
de requte de longlet Outils de requte/Crer ou utilisez la touche
[Suppr].
Pour masquer une colonne, oprez comme suit :
3 Dcochez la case de la ligne Afficher de la colonne masquer.

Figure 5.36 : La colonne ne sera pas affiche


dans le rsultat de la requte

Pour changer lordre des colonnes, oprez comme suit :


1 Slectionnez la colonne dplacer en cliquant sur son en-tte.
2 Cliquez une seconde fois sur son en-tte en maintenant le bouton
de la souris enfonc et glissez len-tte vers la droite ou vers la
gauche.

Figure 5.37 : La premire


colonne va tre dplace
entre les deux suivantes

5.2. Les requtes de slection

313

Fermer et enregistrer une requte


Pour enregistrer une requte, utilisez lune des mthodes suivantes :
j

Cliquez sur le bouton Enregistrer de la barre doutils Accs rapide.

Cliquez sur longlet Fichier puis choisissez Enregistrer.


Utilisez la combinaison de touches [Ctrl]+[S].

Pour fermer une requte, utilisez lune des mthodes suivantes :


j

Cliquez sur le bouton Fermer (la croix place en haut et droite de


longlet de cration de requte).

Utilisez la combinaison de touches [Ctrl]+[F4] ou [Ctrl]+[W].


Cliquez du bouton droit sur le nom de longlet. Choisissez Fermer
dans le menu contextuel qui apparat.

Afficher uniquement les premires valeurs dans


une requte
Si le nombre de lignes affiches par une requte vous parat trop
important, vous pouvez limiter laffichage aux premires lignes :
1 Affichez la requte en mode Cration.
2 Cliquez sur la liste Premires valeurs (assigne la zone Renvoyer)
du groupe Paramtrage de requte de longlet Outils de requte
/Crer. Choisissez un pourcentage ou une valeur sur la liste propose. Initialement, la valeur de la liste est Tout.
Une valeur peut galement tre saisie manuellement dans la zone.
Sil sagit dun pourcentage, vous devez ajouter le signe de pourcentage (%) aprs le nombre.

Figure 5.38 : Ici, seuls 25 % des lignes seront


affiches dans le rsultat de la requte

Autre mthode de limitation du rsultat de la requte


Pour limiter le rsultat de la requte un nombre ou un pourcentage
denregistrements, vous pouvez aussi cliquer sur le bouton Feuille des
proprits du groupe Afficher/Masquer de longlet Outils de requte/Crer.
Dans la fentre des proprits qui saffiche, cliquez dans la ligne Premires
Valeurs et choisissez ou saisissez un pourcentage ou une valeur.

314

5. Extraire des donnes

Figure 5.39 : La limitation du rsultat de la requte est signifie au moyen de la proprit


Premires valeurs
Pour voir toutes les proprits de la requte dans la Feuille des proprits,
cliquez dans la partie suprieure de la requte sans cliquer sur une table.
Pour fermer la feuille des proprits, cliquez nouveau sur le bouton Feuille
des proprits du groupe Afficher/Masquer.

Crer une requte trie


Le rsultat dune requte peut tre tri afin dordonnancer les donnes affiches.
1 Affichez la requte en mode Cration.
2 Dans la ligne Tri de la colonne trier, choisissez Croissant sur la
liste.
Si un tri est cr sur plusieurs champs, lordre du tri dpend de
lordre des champs dans la grille de cration. Les champs placs
gauche sont prioritaires sur ceux de droite.

Figure 5.40 : Un tri sur deux colonnes

5.2. Les requtes de slection

315

Supprimer un tri
Pour supprimer un tri dfini sur une colonne, choisissez lentre (Non tri)
sur la liste de la ligne Tri.

Crer une requte sur plusieurs tables


Une requte peut tre applique sur plusieurs tables. Dans cet exemple, vous utiliserez les trois tables de la base de donnes BaseTrains.accdb. Un traitement analogue peut tre effectu sur un nombre
plus important de tables.
Vous souhaitez faire apparatre, pour chaque ville de destination, les
horaires et le train utilis. Le rsultat doit tre tri par date.
Noubliez pas le schma des relations de la fentre Relations : il
permet de connatre les tables qui interviennent dans la requte.

Figure 5.41 : Les relations entre les trois tables utilises ici

Procdez ainsi :
1 Cliquez sur longlet Crer puis sur le bouton Cration de requte du
groupe Macros et code.
La bote de dialogue Afficher la table apparat.
2 Dans la bote de dialogue, choisissez la premire table utiliser
dans la requte, la table Villes-arrivee par exemple, puis cliquez sur
le bouton Ajouter. Choisissez la deuxime table, la table Horaires
dans cet exemple, et cliquez sur le bouton Ajouter. Enfin, slectionnez la troisime table, ici la table Trains, et cliquez sur Ajouter, puis
sur Fermer.
Vous pouvez utiliser la touche [Maj] pour slectionner toutes les tables, puis cliquer sur les boutons Ajouter, puis Fermer.

316

5. Extraire des donnes

Figure 5.42 : Trois tables seront utilises dans la requte

Longlet Requte1 saffiche. Sur la liste des tables, les trois tables
ajoutes apparaissent avec les relations cres depuis la fentre
Relations. Dans une requte, vous ne parlerez pas de relations mais
de jointures.

Jointure dans une requte


Ce terme, synonyme de relation, est rserv pour dsigner les liaisons
entre les tables (ou les requtes) dans une requte. Une jointure est toutefois
diffrente dune relation en ceci quelle nest pas permanente : elle existe
uniquement pendant la dure de vie de la requte. On parle de "relation
temporaire".

Ajouter des tables ultrieurement


Lorsque vous crez une nouvelle requte, la bote de dialogue Afficher la
table saffiche automatiquement, afin de vous permettre de slectionner les
tables que vous souhaitez utiliser dans la requte. Pour ajouter une table
aprs la fermeture de cette bote de dialogue, utilisez lune des mthodes
suivantes.
Cliquez sur le bouton Afficher la table du groupe Paramtrage de
requte de longlet Outils de requte/Crer.

5.2. Les requtes de slection

317

Cliquez du bouton droit dans la partie suprieure de longlet de la requte


et choisissez Afficher la table dans le menu contextuel qui apparat.

Vous allez ajouter les colonnes faire apparatre dans le rsultat de la


requte.
3 Dans la ligne Champ de la grille de cration, choisissez les champs
qui doivent figurer dans la requte. Crez ici les colonnes ville,
jour, heure dpart, heure fin et train au moyen des listes ou glissezles depuis les tables vers les lignes Champs.
4 Dans la ligne Tri de la colonne jour, choisissez Croissant sur la liste.
Laissez les cases de la ligne Afficher coches.

Figure 5.43 : Les paramtres de la requte multitable

Suppression dune table de la liste


Pour supprimer une table dans la partie suprieure de la fentre, cliquez
dessus puis utilisez la touche [Suppr] ou cliquez du bouton droit sur la table et
choisissez Supprimez une table dans le menu contextuel qui apparat. Les
colonnes correspondantes sont effaces de la grille de cration.

5 Visualisez le rsultat en utilisant le bouton Affichage du groupe


Rsultats de longlet Outils de requte/Crer.
6 Enregistrez la requte sous le nom VillesHorairesTrains Requte.

318

5. Extraire des donnes

Crer une requte utilisant des critres


Les critres permettent de limiter les extractions de donnes certaines informations.
Dans lexemple qui suit, seuls les horaires des trains destination de
Metz doivent tre affichs par la requte.
1 Affichez la requte Villes-Horaires-Trains Requte prcdemment
dfinie en mode Cration.
2 Saisissez le critre dans la ligne Critres de la colonne du champ
concern. Dans cet exemple, tapez Metz dans la ligne Critres du
champ ville.
Des guillemets sont insrs automatiquement aprs la validation de
la saisie.

Figure 5.44 : La saisie du critre

Access utilise une syntaxe qui varie en fonction des types de donnes que renferme le champ. Ces types sont les suivants :
texte : le critre est entour de guillemets ;
nombre : le critre doit tre saisi sans symbole, ni sparateur de
milliers ;
date : le critre, saisi sous la forme jj/mm/aa, est entour de dises ;
oui/non : le critre doit uniquement contenir les valeurs Oui, Vrai,
Actif, Non, Faux ou Inactif.

3 Visualisez le rsultat en mode Feuille de donnes.


4 Enregistrez la requte sous le nom Critres 01 et fermez la requte.

Loprateur logique ET
Vous rencontrerez souvent loprateur logique ET en informatique. Il
est directement issu de la mise en application de la branche des
mathmatiques dveloppe par le mathmaticien anglais George
Boole (1815-1864). Loprateur ET se nomme dailleurs galement

5.2. Les requtes de slection

319

oprateur boolen. Pour comprendre son fonctionnement, il faut


dresser sa table de vrit.
Une table de vrit est un tableau qui rpertorie toutes les combinaisons possibles des tats de vrit (vrai ou faux) dune ou de plusieurs
propositions. Une proposition est une affirmation vrifiable, comme
8 = 4 + 4 (qui est une proposition vraie) ou 8 = 5 (qui est une proposition dont ltat de vrit est faux). Si vous disposez de deux propositions, nommes "proposition 1" et "proposition 2", vous pouvez
constituer une troisime proposition, que vous nommerez "Proposition 1 ET Proposition 2".
Tableau 5.2 : Table de vrit de loprateur boolen ET
Proposition 1

Proposition 2 Proposition 1 ET Proposition 2

VRAI

VRAI

VRAI

VRAI

FAUX

FAUX

FAUX

VRAI

FAUX

FAUX

FAUX

FAUX

Dans une requte, la manire la plus simple de traduire loprateur


ET est de saisir les critres sur la mme ligne dans le Gnrateur de
requtes.
Retrouvez la requte Villes-Horaires-Trains Requte et affichez les horaires des trains destination de Metz le 15 janvier 2011. Au sens
boolen, votre demande se traduit par : (ville = Metz) et (jour = 15/01/
2011).
1 Affichez la requte Villes-Horaires-Trains Requte en mode Cration.
2 Saisissez le premier critre, Metz, dans la ligne Critres de la colonne ville.
La chane de caractres saisie est encadre de guillemets aprs
validation.
3 Saisissez le second critre qui est la date, 15/01/2011, dans la ligne
Critres de la colonne jour.
Les dises autour de la date saisie sont insrs automatiquement
aprs la validation de la saisie.

320

5. Extraire des donnes

Figure 5.45 : La prsence des deux critres sur la


mme ligne traduit un oprateur logique ET

La traduction de loprateur boolen ET dans une requte


La proposition Proposition 1 ET Proposition 2 nest vraie que lorsque les
deux autres sont vraies. La requte va retourner les enregistrements pour
lesquels Proposition 1 ET Proposition 2 sont vraies. Dans cet exemple, la
proposition 1 snonce ainsi : le champ ville est gal Metz. La proposition 2
snonce comme ceci : le champ date est gal 15/01/2011. Loprateur ET est
traduit par la position des deux propositions sur la mme ligne de critre de
la requte. Vous verrez un peu plus loin que la faon la plus simple de traduire
loprateur OU est de changer de ligne.

4 Visualisez le rsultat en mode Feuille de donnes.

Figure 5.46 : Le rsultat de la requte

5 Enregistrez la requte sous le nom Critres 02 et fermez la requte.

Loprateur logique OU
Loprateur boolen OU fonctionne sur le mme principe que loprateur ET, mais sa table de vrit est diffrente. La proposition Proposition 1 OU Proposition 2 est vraie lorsque lune des deux propositions au moins est vraie.
Tableau 5.3 : Table de vrit de loprateur boolen OU
Proposition 1

Proposition 2 Proposition 1 OU Proposition 2

VRAI

VRAI

VRAI

VRAI

FAUX

VRAI

FAUX

VRAI

VRAI

5.2. Les requtes de slection

321

Tableau 5.3 : Table de vrit de loprateur boolen OU


Proposition 1

Proposition 2 Proposition 1 OU Proposition 2

FAUX

FAUX

FAUX

Dans une requte, la manire la plus simple de traduire loprateur


OU est de crer une nouvelle ligne dans le Gnrateur de requtes.
Retrouvez la requte Villes-Horaires-Trains Requte et affichez les horaires pour Metz, quelle que soit la date de dpart ainsi que les
horaires de dpart pour toutes les villes, la date du 15 janvier 2011.
1 Affichez la requte Villes-Horaires-Trains Requte en mode Cration.
2 Saisissez le premier critre, ici Metz, dans la ligne Critres de la
colonne ville.
3 Saisissez le second critre, ici la date 15/01/2011, dans la ligne Ou
de la colonne jour.

Figure 5.47 : La prsence des deux critres


sur deux lignes traduit un oprateur logique
OU

4 Visualisez le rsultat en mode Feuille de donnes.

Figure 5.48 : Le rsultat de la requte

322

5. Extraire des donnes

5 Enregistrez la requte sous le nom Critres 03 puis fermez la


requte.
Il existe une autre manire de traduire loprateur OU : lintrieur
dun critre cette fois. Votre nouvel objectif est dafficher les horaires
pour Metz et pour Toulouse, et pour toutes les villes en date du
15 janvier 2011 dans la requte Villes-Horaires-Trains Requte.
1 Affichez la requte Villes-Horaires-Trains Requte en mode Cration.
2 Saisissez le premier critre, ici Metz Ou Toulouse, dans la ligne
Critres de la colonne ville.
3 Saisissez le second critre, la date 15/01/2011, dans la ligne Ou de
la colonne jour

Figure 5.49 : Cette requte utilise deux


oprateurs logiques OU, traduits
diffremment

4 Visualisez le rsultat en mode Feuille de donnes.

Figure 5.50 : Le rsultat de la requte dans la feuille de donnes

5.2. Les requtes de slection

323

5 Enregistrez la requte sous le nom Critres 04 et fermez la requte.

Utiliser simultanment les oprateurs ET et OU


Les deux oprateurs logiques peuvent tre combins pour traduire
une proposition plus complexe que les prcdentes.
Vous devez maintenant afficher les horaires pour Metz du 15 janvier 2011 et pour Metz aprs 12 heures dans la requte VillesHoraires-Trains Requte. Pour cela :
1 Affichez la requte Villes-Horaires-Trains Requte en mode Cration.
2 Sur la ligne Critres, saisissez Metz dans la colonne ville, puis la
date 15/01/2011 dans la colonne jour.
Vous venez de dfinir la premire partie de la proposition. Il vous
reste la seconde partie crire.
3 Sur la ligne Ou, saisissez Metz dans la colonne ville, puis >12:00
dans la colonne heure dpart.

Figure 5.51 : La dfinition des critres de la requte

4 Visualisez le rsultat en mode Feuille de donnes.

Figure 5.52 : Le rsultat de la requte dans la Feuille de donnes

324

5. Extraire des donnes

5 Enregistrez la requte sous le nom Critres 05 et fermez la requte.

Utiliser des prdicats


Access met votre disposition un outil complet, le Gnrateur dexpression, qui vous permet de saisir facilement des expressions complexes, sans risque derreur de syntaxe.

Clause de prdicat
Vous venez de voir que les oprateurs de comparaison sont utiliss dans
les lignes Critres et Ou. Il est galement possible dy employer dautres
clauses dites de prdicats :
j

ENTRE valeur1 ET valeur2 permet dexprimer une fourchette de valeurs.

DANS (valeur1, valeur2, valeur3) permet dexprimer une liste de


valeurs.

COMME expression permet dexprimer une chane recherche.

Pour connatre les horaires compris entre 10 heures et 12 heures


dans la requte Villes-Horaires-Trains Requte, procdez comme suit.
1 Ouvrez la requte Villes-Horaires-Trains Requte en mode Cration.
Pour saisir la clause de prdicat dans la ligne Critres, vous pouvez
utiliser le Gnrateur dexpression.
2

Placez-vous dans la ligne Critres de la colonne heure


dpart et cliquez sur le bouton Gnrateur du groupe Paramtrage
de requte de longlet Outils de requte/Crer, ou utilisez le bouton
droit de la souris, puis slectionnez le menu contextuel Crer.

La bote de dialogue Gnrateur dexpression est affiche.


3 Choisissez llment dexpression Oprateurs puis Comparaison.
Double-cliquez sur la valeur dexpression Entre. Dans la zone
ddition, double-cliquez sur les chanes Expr pour les remplacer par les valeurs 10:00 et 12:00, comme le montre lillustration
suivante : (voir Figure 5.53)
4 Cliquez sur le bouton OK pour fermer le Gnrateur dexpression.
Dans la ligne Critres, validez lexpression en appuyant sur la
touche [] (voir Figure 5.54).

5.2. Les requtes de slection

325

Figure 5.53 : La saisie de la clause de prdicat dans le Gnrateur dexpression

Figure 5.54 : Le critre utilisant la clause de prdicat a t saisi au moyen du Gnrateur dexpression

5 Visualisez le rsultat en mode Feuille de donnes.


6 Enregistrez la requte sous le nom Critres between.

Crer une requte utilisant des oprations


Somme, moyenne, extraction dune valeur minimale ou maximale,
dnombrement, calcul dcart type ou de variance sont les exemples
les plus significatifs des oprations quil vous est possible de raliser
dans une requte.
Dans ce qui suit, les nombres de trajets destination de chacune des
villes vont tre calculs. Ce dnombrement sera effectu par un
comptage des horaires correspondants chacune des villes.
1 Cliquez sur longlet Crer puis sur le bouton Cration de requte du
groupe Macros et code. Dans la bote de dialogue Afficher la table,

326

5. Extraire des donnes

choisissez les tables Horaires et Villes-arrivee, cliquez sur le bouton


Ajouter, puis sur Fermer.
Longlet Requte1 saffiche, avec les tables Horaires et Villes-arrivee
dans la zone suprieure, rserve laffichage des tables.
Ajoutez maintenant le nom de la ville et le numro la liste de
champs que vous souhaitez voir apparatre dans le rsultat de la
requte.
2 Glissez le champ ville de la table Villes-arrivee et le champ noville
de la table Horaires dans la ligne Champ.
3 Cliquez sur le bouton Totaux du groupe Afficher/Masquer de longlet Outils de requte/Crer ou cliquez du bouton droit dans une
colonne. Choisissez Totaux dans le menu contextuel qui apparat.
La ligne Opration apparat dans la grille de cration entre les lignes
Table et Tri.
4 Dans les listes proposes la ligne Opration, il vous faut choisir
une opration. titre dexemple, slectionnez lopration Compte
la ligne Opration de la colonne noville.

Figure 5.55 : La cration


dune opration de
dnombrement

5 Visualisez le rsultat en mode Feuille de donnes.

5.2. Les requtes de slection

327

Figure 5.56 : Le rsultat de la requte, obtenu dans la


Feuille de donnes

Le nom de la colonne du nombre de trajets par ville nest pas


significatif. La mthode suivante permet de renommer une colonne
dune requte.
6 Affichez la requte en mode Cration, puis les proprits de la
colonne renommer en plaant le point dinsertion dans la colonne (ici la colonne noville), puis en cliquant sur le bouton Feuille
des proprits du groupe Afficher/Masquer de longlet Outils de
requte/Crer. Dans la fentre Feuille des proprits, saisissez Nb de
trajets dans la proprit Lgende.

Figure 5.57 : La lgende du champ noville en mode Cration

7 Visualisez le rsultat de la requte en mode Feuille de donnes.


8 Fermez la requte et enregistrez-la sous le nom Nombre de trajets
par ville.

328

5. Extraire des donnes

Suppression des oprations dfinies dans la requte


Pour ne plus effectuer les oprations dfinies, cliquez nouveau sur le
bouton Totaux du groupe Afficher/Masquer de longlet Outils de requte
/Crer. La ligne Opration disparat de la grille de cration de la requte.

Dfinir des formats dans une requte


Le format des diffrentes colonnes utilis dans le rsultat des requtes est celui des champs dfinis dans les structures des tables. Il est
galement possible de modifier un format initialement dfini dans la
table depuis une requte.
Dans lexemple suivant, vous supprimerez de laffichage dans la
requte Villes-Horaires-Trains Requte les secondes qui apparaissent
dans les colonnes heure dpart et heure fin et qui sont inutiles. Pour
cela :
1 Ouvrez la requte Villes-Horaires-Trains Requte en mode Cration.
2 Cliquez dans la colonne formater, ici heure dpart. Cliquez sur le
bouton Feuille des proprits du groupe Afficher/Masquer de longlet Outils de requte/Crer ou cliquez du bouton droit dans la
colonne et choisissez Proprits dans le menu contextuel.
Le volet Feuille des proprits saffiche.
3 Choisissez un format propos dans la liste de la proprit Format,
par exemple Heure, abrg.

Figure 5.58 : Laffectation dun format daffichage, qui sera utilis dans le rsultat de la requte

5.2. Les requtes de slection

329

Vous pouvez modifier les autres proprits que vous avez dj utilises au niveau de la dfinition dun champ dans la structure des
tables. Les proprits que vous dfinissez dans la requte viendront
remplacer temporairement, pendant son excution, les proprits
dfinies au niveau des champs. En voici la liste :
Description : proprit facultative servant dcrire le champ. Le
contenu de cette zone sera affich, par exemple, dans la barre
dtat en mode Feuille de donnes.
Masque de saisie : proprit permettant de contrler la saisie des
donnes, pour, par exemple, rendre la saisie dun nombre de
chiffres obligatoire.
Lgende : proprit personnalisant les en-ttes des colonnes des

champs lorsquune table ou une requte est affiche en mode


Feuille de donnes.
4 Excutez la requte pour visualiser le rsultat.

Figure 5.59 : Le rsultat de la requte, aprs modification du format daffichage des heures

5 Enregistrez la requte sous le nom Format Requte.

Utiliser les jointures dune requte


Les jointures dune requte peuvent tre utilises pour obtenir certains rsultats. Il existe trois types de jointures.
Pour apprhender ces trois types de jointures, vous allez crer une
requte permettant dextraire les villes de la table Villes-arrivee et les
jours des horaires de la table Horaires. La requte sera trie par villes
et nomme Villes-arrivee et jours des horaires. Procdez ainsi :
1 Dfinissez en mode Cration une nouvelle requte utilisant les
tables Villes-arrivee et Horaires sur la liste des tables de la requte.
2 Affichez les champs noville et ville de la table Villes-arrivee, ainsi
que le champ jour de la table Horaires dans la ligne Champ. Affectez un tri croissant la colonne ville.
3 Enregistrez la requte sous le nom Villesarrivee et jours des
horaires.

330

5. Extraire des donnes

4 Double-cliquez sur la ligne de jointure qui relie les champs des


deux tables.
La bote de dialogue Proprits de la jointure apparat. Loption 1 est
coche par dfaut. Il sagit du type de jointure le plus courant. La
requte affichera dans ce cas uniquement les villes de la table Villesarrivee qui ont un ou plusieurs horaires dans la table Horaires. On
parle alors de "jointure interne".

Figure 5.60 : La jointure


interne est le type le plus
frquent de jointure

5 Cliquez sur le bouton OK de la bote de dialogue.


Si vous affichez le code SQL correspondant par le bouton Mode SQL
situ en bas de la fentre, vous constatez que ce type de jointure est
traduit par la clause INNER JOIN.
Figure 5.61 : La traduction
de la jointure interne en
mode SQL

6 Vrifiez le rsultat en excutant la requte en mode Feuille de


donnes.

Figure 5.62 : Le rsultat de la requte utilisant


une jointure interne

5.2. Les requtes de slection

331

Vous allez vous intresser maintenant au deuxime type de jointure.


7 Affichez la requte en mode Cration. Double-cliquez sur la ligne
de jointure pour retourner dans la bote de dialogue Proprits de
la jointure et cochez loption 2. Fermez la bote de dialogue en
utilisant le bouton OK.
Vous venez de dfinir une jointure externe gauche. La requte va
alors afficher toutes les villes de la table Villes-arrivee, quelles aient
ou non des horaires associs dans la table Horaires.

Figure 5.63 : Une jointure


externe gauche

Si vous affichez le code SQL correspondant, vous constatez que ce


type de jointure est traduit par la clause LEFT JOIN.

Figure 5.64 : La traduction


de la jointure externe
gauche en mode SQL

8 Vrifiez le rsultat en excutant la requte en mode Feuille de


donnes.
Toutes les villes sont affiches, y compris celles qui nont pas dhoraire, comme Alenon et Arcachon.

Figure 5.65 : Le rsultat dune requte utilisant


une jointure externe gauche

Il vous reste un troisime type de jointure dcouvrir.

332

5. Extraire des donnes

9 Affichez la requte en mode Cration. Double-cliquez sur la ligne


de jointure pour retourner dans la bote de dialogue Proprits de
la jointure et cochez loption 3. Fermez la bote de dialogue en
cliquant sur le bouton OK.
Vous venez de dfinir une jointure externe droite. La requte va alors
afficher tous les horaires de la table Horaires, quils aient ou non des
villes associes dans la table Villes-arrivee.

Figure 5.66 : Une jointure


externe droite

Si vous affichez le code SQL correspondant, vous constatez que ce


type de jointure est traduit par la clause RIGHT JOIN.

Figure 5.67 : La traduction de la jointure externe droite en mode SQL

Ce dernier type de jointure offre ici peu dintrt ; tous les horaires de
la table Horaires tant rattachs une ville de la table Villes-arrivee, il
ny a pas de diffrence avec le rsultat de la premire jointure.
10 Fermez et enregistrez la requte.

5.3. Utiliser lAssistant Requte


Les requtes de slection tant frquentes, lAssistant Requte vous
sera fort utile pour crer facilement la plus grande majorit dentre
elles.

Crer une requte simple avec lAssistant


Dans la requte qui va suivre, qui ne portera que sur une seule table,
toutes les villes de la table Villes-arrivee seront extraites laide de
lAssistant Requte.
5.3. Utiliser lAssistant Requte

333

Reprenez la base exprimentale BaseTrains.accdb, cliquez


sur le bouton Assistant Requte du groupe Macros et code
de longlet Crer.

La bote de dialogue Nouvelle requte est affiche.


2 Dans cette bote de dialogue, slectionnez Assistant Requte simple
puis cliquez sur le bouton OK.
Figure 5.68 : LAssistant
Requte simple est choisi
dans la bote de dialogue
Nouvelle requte

3 Dans la premire tape de lAssistant Requte simple, choisissez


le nom de la table sur la liste Tables/Requtes, par exemple la table
Villes-arrivee.
4 Cliquez sur le bouton >> pour glisser tous les champs de la liste
Champs disponibles sur la liste Champs slectionns.
Voici la liste des boutons proposs cette tape de lAssistant :
Ce bouton a pour effet dajouter le champ choisi dans la liste
Champs disponibles la liste Champs slectionns.

Ce bouton ajoute tous les champs de la table dans la liste


Champs slectionns.

Ce bouton supprime le champ slectionn de la liste Champs


slectionns.

Ce bouton supprime tous les champs de la liste Champs


slectionns.

5 Cliquez sur le bouton Suivant pour passer ltape suivante de


lAssistant.

Figure 5.69 : La slection


des champs qui
constitueront la structure de
la nouvelle requte

334

5. Extraire des donnes

La bote de dialogue suivante saffiche si un champ de type Numrique a t choisi ltape prcdente.

Figure 5.70 : Cette tape est propose si un champ numrique ou de type date figure dans la liste des
champs slectionns

6 Cochez loption Dtaille pour que la requte affiche tous les enregistrements, ou cochez loption Synthse puis cliquez sur le bouton Options de synthse pour que la requte ralise des totaux et
des regroupements.
Si vous avez choisi la seconde option, la bote de dialogue Options de
synthse saffiche.

7 Cochez une case pour effectuer le calcul qui devra tre ralis pour
un champ donn. Cochez ventuellement la case Compter les
enregistrements dans pour effectuer le dnombrement denregistrement par regroupement. Cliquez sur le bouton OK pour fermer
la bote de dialogue.

Figure 5.71 : Les options des


oprations et des
regroupements effectus
dans la requte

8 De retour dans lAssistant Requte simple, cliquez sur le bouton


Suivant.
La bote de dialogue suivante saffiche si un champ de loption de
synthse est de type Date.
9 Cochez lune des options proposes pour effectuer un regroupement sur une date. Cliquez sur le bouton Suivant.

5.3. Utiliser lAssistant Requte

335

Figure 5.72 : Les options de


regroupements proposes sur
les dates

La dernire tape de lAssistant saffiche. Dans la premire zone,


Access propose un nom pour la requte : Villes-arrivee Requte.
10 Saisissez ventuellement un autre nom si vous dsirez en changer.
Dans la seconde partie de la bote de dialogue, loption Ouvrir la
requte pour afficher les informations permet dafficher le rsultat de la
requte en mode Feuille de donnes.
11 Dans cet exemple, conservez loption coche.
Loption Modifier la structure de la requte permet dafficher la requte
en mode Cration afin dapporter une modification sa structure.
12 Cliquez sur le bouton Terminer.

Figure 5.73 : La dernire tape de lAssistant

Le rsultat de la requte est affich en mode Feuille de donnes.


Mme si lAssistant est utilis, gardez en tte quune requte est
gnre en langage SQL. Le code SQL de la requte peut donc tre

336

5. Extraire des donnes

visualis. titre dexemple, vous consulterez celui de la requte qui


vient dtre cre.
13 Cliquez sur le bouton Mode SQL, situ en bas droite de la fentre.
Le code suivant saffiche dans la fentre :
SELECT [Villes-arrivee].noville,
[Villes-arrivee].ville,
[Villes-arrivee].departement
FROM [Villes-arrivee];

Figure 5.74 : Le code SQL de la requte gnre avec lAssistant

Linstruction SELECT est suivie du nom des champs de la table correspondant aux colonnes du rsultat de la requte. Dans le code gnr,
chaque champ est prcd du nom de sa table afin dviter une
confusion dans la provenance des champs lorsque la requte fait
appel plusieurs tables quand la clause FROM fait rfrence des
champs possdant la mme orthographe.
14 Fermez la requte.

Requtes sur plusieurs tables au moyen de lAssistant


LAssistant Requte simple permet galement de raliser une requte sur
plusieurs tables. Choisissez les tables et les champs correspondants dans la
premire tape de lAssistant puis poursuivez les tapes comme pour une
requte utilisant une seule table.

Crer une requte sur les doublons


La recherche denregistrements renfermant des valeurs en double
dans une table peut tre effectue par une requte.
1 Cliquez sur le bouton Assistant Requte du groupe Macros et codes
de longlet Crer.
La bote de dialogue Nouvelle requte est affiche.
2 Dans cette bote de dialogue, slectionnez Assistant Requte trouver les doublons puis cliquez sur le bouton OK.

5.3. Utiliser lAssistant Requte

337

Figure 5.75 : LAssistant Requte trouver les doublons est choisi

3 Dans la premire tape de lAssistant Requte trouver les doublons, choisissez le nom de la table sur la liste propose, ici la table
Horaires. Cliquez sur le bouton Suivant.

Figure 5.76 : Le choix de la table dans laquelle sera effectue la recherche de doublons

4 Dans ltape suivante, slectionnez dans la zone Champs disponibles le champ pouvant contenir des doublons inclure dans la
requte. Cliquez sur le bouton > pour le glisser dans la zone Rechercher les doublons dans. Rptez ventuellement lopration
pour dautres champs, puis cliquez sur le bouton Suivant.

Figure 5.77 : La slection des champs dans lesquels la recherche de doublons sera effectue

Si aucun champ supplmentaire nest ajout la requte, celle-ci


prsentera le nombre ditrations trouves pour chaque enregistre-

338

5. Extraire des donnes

ment concern par la recherche de doublons. Ltape suivante de


lAssistant vous permet dindiquer des champs supplmentaires,
purement informatifs, et qui ninterfreront pas sur la recherche des
doublons. Tous les enregistrements redondants de la table seront
alors prsents et les champs informatifs seront galement affichs.
5 Slectionnez les champs informatifs puis cliquez sur le bouton
Suivant.

Figure 5.78 : La slection


des champs informatifs

Dans la premire zone de la dernire tape, Access propose un nom


pour la requte.
6 Saisissez ventuellement un autre nom si vous dsirez le changer.
Dans la seconde partie de la bote de dialogue, loption Afficher le
rsultat permet dafficher le rsultat de la requte en mode Feuille de
donnes.
7 Conservez ici loption coche.
Loption Modifier la structure permet dafficher la requte en mode
Cration afin dapporter une modification sa structure.
8 Cliquez sur le bouton Terminer.
Le rsultat est affich en mode Feuille de donnes. Il diffre si vous
avez choisi dafficher ou non des champs en plus de ceux contenant
des doublons.
Lillustration qui suit montre une recherche de doublons sur les
quatre premires colonnes. La dernire est ajoute titre informatif.

Figure 5.79 : Le rsultat


obtenu lorsque des champs
informatifs, autres que ceux
utiliss pour la recherche de
doublons, ont t ajouts
la requte
5.3. Utiliser lAssistant Requte

339

Lillustration qui suit montre une recherche de doublons sur les


quatre premires colonnes et ne contient pas de champ informatif.

Figure 5.80 : Le rsultat obtenu lorsquaucun champ informatif na t ajout la requte

Crer une requte sur la non-correspondance


entre des tables
Une requte peut tre utilise pour effectuer une recherche de noncorrespondance entre deux tables. Ainsi, un client appartenant une
table des clients sera localis par la requte si aucune facture ne lui
a t associe dans la table des factures.
Dans lexemple qui suit, une recherche des trains de la table Trains
qui ne sont pas utiliss dans la table Horaires est effectue par la
requte de recherche de non-correspondance.
1 Cliquez sur le bouton Assistant Requte du groupe Macros et code
de longlet Crer.
La bote de dialogue Nouvelle requte est affiche.
2 Dans cette bote de dialogue, slectionnez Assistant Requte de
non-correspondance puis cliquez sur le bouton OK.

Figure 5.81 : LAssistant Requte de non-correspondance est slectionn

3 Dans la premire tape de lAssistant Requte de noncorrespondance, choisissez le nom de la table contenant les
champs inclure dans la requte, ici la table Trains. Cliquez sur le
bouton Suivant.
4 Dans ltape suivante, choisissez le nom de la table qui sera
utilise pour la recherche. Conservez ici la table Horaires. Cliquez
sur le bouton Suivant.

340

5. Extraire des donnes

La table propose par dfaut est celle qui a une relation avec la table
choisie ltape prcdente.

Figure 5.82 : La table en relation avec la premire est slectionne

5 Dans ltape suivante, slectionnez, pour chaque table, le champ


commun. Cliquez sur le bouton Suivant.
Par dfaut, Access propose le champ commun utilis dans la relation
qui unit les deux tables.

Figure 5.83 : Le champ propos par Access

6 Dans ltape suivante, slectionnez les champs inclure dans le


rsultat de la requte. Cliquez sur le bouton Suivant.
5.3. Utiliser lAssistant Requte

341

Dans la premire zone de la dernire tape, Access propose un nom


pour la requte.
7 Saisissez ventuellement un autre nom si vous dsirez en changer.
Dans la seconde partie de la bote de dialogue, loption Afficher le
rsultat permet dafficher le rsultat de la requte en mode Feuille de
donnes.
8 Conservez loption coche.
Loption Modifier la structure permet dafficher la requte en mode
Cration afin dapporter une modification sa structure.
9 Cliquez sur le bouton Terminer.
Le rsultat obtenu est affich en mode Feuille de donnes.

Figure 5.84 : Le rsultat de la requte

5.4. Crer des requtes action


Une requte action ne se contente pas seulement dafficher des
donnes, elle est aussi capable de modifier ou de dplacer des
enregistrements en une seule opration. Il existe quatre types de
requtes action : les requtes Cration de table, Ajout, Suppression et
Mise jour.

Crer une requte action de type cration de table


Une requte de cration de table effectue la cration de la structure
dune table. Il est possible de reprendre des donnes issues dautres
tables dans la table cre.
Le mode opratoire utilis pour construire une telle requte utilise
deux tapes : la premire consiste en la cration dune classique
requte de slection qui est ensuite transforme, dans la seconde
tape, en une requte action de type cration de table.
342

5. Extraire des donnes

Prenez lexemple dune requte qui va rechercher tous les horaires


de la table Horaires du 15 janvier 2011 et demandez-lui de crer une
table contenant uniquement les horaires trouvs, que vous appellerez Horaires150111.
Commencez par crer la requte de slection qui extrait les horaires
du 15 janvier 2011.
1 Crez une requte en mode Cration utilisant la table Horaires sur
la liste des tables. Dans la ligne Champ de la premire colonne,
choisissez Horaires.* pour insrer tous les champs de la table.
Glissez le champ jour dans la seconde colonne. Dans la ligne
Critres de cette colonne, saisissez la valeur 15/01/11.
Vous ne souhaitez pas afficher la seconde colonne jour car son
affichage est dj implicitement demand par la syntaxe utilise
dans la premire colonne. La seconde colonne a pour unique fonction de permettre la dfinition du critre sur la date du 15 janvier 2011.
2 Dcochez la case Afficher dans la colonne jour. Enregistrez la
requte sous le nom Horairescreationtable.

Figure 5.85 : La requte de slection

Un critre ne peut tre dfini dans une colonne utilisant un astrisque


Un critre ne peut pas tre pos sur une colonne utilisant lastrisque dans
la ligne Champ. En effet, dans ce cas, tous les champs de la table sont
affichs, il nest pas possible den choisir un en particulier pour y appliquer le

5.4. Crer des requtes action

343

critre. Il faut alors ajouter les champs qui dfinissent les critres et
dsactiver leur case cocher Afficher afin quils napparaissent pas dans le
rsultat.

Jusqualors, la requte dfinie est une simple requte de slection


comme le confirme lactivation du bouton Slection du groupe Type
de requte de longlet Outils de requte/Crer. Elle va maintenant tre
convertie en une requte action de type cration de table.
3

Cliquez sur le bouton Cration de table du groupe Type de


requte de longlet Outils de requte/Crer ou cliquez du
bouton droit dans la partie suprieure de longlet de la
requte puis survolez le menu Type de requte puis Requte
Cration de table dans le menu contextuel qui apparat.

4 Dans la zone Nom de la table, saisissez le nom de la table crer, ici


Horaires150111, dans la bote de dialogue Cration de table et cliquez sur le bouton OK.

Figure 5.86 : La saisie du


nom de la table crer

5 Testez la requte en cliquant sur le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer.

Diffrence entre lexcution et laffichage


Si vous cliquez sur le bouton Excuter, symbolis par un point dexclamation, laction demande dans la requte (ici, la cration dune table) est
ralise. Si, par contre, vous passez en mode Feuille de donnes, vous vous
contentez de demander laffichage des donnes dfinies dans la grille de
cration, sans excuter laction (ici, la cration de la table).

6 Validez le message de confirmation qui apparat.


La structure de la table Horaires150111 est cre et les enregistrements trouvs lors de lexcution de la requte y sont ajouts.

344

5. Extraire des donnes

7 Fermez et enregistrez la requte. Vrifiez que la table Horaires150111 a t cre sur la liste des tables et ouvrez-la en mode
Feuille de donnes pour consulter les enregistrements ajouts.
8 Fermez la table ouverte.
Si vous excutez nouveau la requte, la table dj cre par la
requte est remplace par la nouvelle.

Crer une requte action de type ajout


Voici maintenant un deuxime type daction quil est possible de
faire excuter une requte : lajout denregistrements dans une
table existante.
Comme prcdemment, le mode opratoire utilis pour construire
une telle requte fait appel deux tapes : la premire est la cration
dune classique requte de slection et la seconde transforme la
requte en une requte de type ajout.
Lexemple qui suit est celui dune requte qui recherche tous les
horaires de la table Horaires lorsque la date est antrieure au 15 janvier 2011 et les ajoute dans la table Horaires150111, prcdemment
cre.
Commencez par constituer la requte de slection qui doit extraire
les horaires antrieurs au15 janvier 2011.
1 Crez une requte en mode Cration utilisant la table Horaires sur
la liste des tables. Dans la ligne Champ de la premire colonne,
choisissez Horaires.* pour insrer tous les champs de la table.
Glissez le champ jour dans la seconde colonne. Dans la ligne
Critres de cette colonne, saisissez la valeur <15/01/11.
Jusqualors la requte dfinie est une simple requte de slection,
comme le confirme lactivation du bouton Slection du groupe Type
de requte de longlet Outils de requte/Crer. Elle va maintenant tre
convertie en une requte action de type ajout.
2

Cliquez sur le bouton Ajout du groupe Type de requte de


longlet Outils de requte/Crer ou cliquez du bouton droit
dans la partie suprieure de longlet de la requte puis
survolez le menu Type de requte et cliquez sur Requte Ajout dans
le menu contextuel qui apparat.

3 Dans la zone Nom de la table, slectionnez la table laquelle les


enregistrements seront ajouts sur la liste droulante de la bote

5.4. Crer des requtes action

345

de dialogue Ajout. Ici ajoutez-les la table Horaires150111. Cliquez


sur le bouton OK.

Figure 5.87 : Le nom de la


table dans laquelle seront
ajouts les
enregistrements

La ligne Afficher est remplace par la ligne Ajouter dans la grille de


cration. La premire colonne (Horaires.*) traduit que toutes les
colonnes du rsultat de la requte seront ajoutes la table Horaires150111.
4 la ligne Ajouter , supprimez jour dans la colonne jour, sinon
Access tentera dajouter nouveau le champ jour la table et cela
provoquera une erreur.
Voici lexplication de ce dernier point : la ligne Ajouter permet
dindiquer le champ de la table de destination qui recevra lopration
dfinie dans la colonne. tant donn que la deuxime colonne ne
sert qu dfinir un critre, la ligne Ajouter doit tre vide dans cette
deuxime colonne.

Figure 5.88 : La dsactivation de


lajout dans la colonne du critre

5 Testez la requte en cliquant sur le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer. Lorsque Access vous
demande confirmation avant dajouter les enregistrements la
table Horaires150111, cliquez sur le bouton Oui.
346

5. Extraire des donnes

Une requte ajout ne doit pas tre excute plusieurs fois


Si vous excutez plusieurs fois la mme requte dajout, des enregistrements identiques seront renregistrs.

6 Fermez et enregistrez la requte sous le nom HorairesAjout. Vrifiez dans la table Horaires150111 lajout des horaires antrieurs au
15 janvier 2011.
7 Fermez la table ouverte.

Crer une requte action de type suppression


Voici le troisime type dopration possible dans une requte action :
la suppression denregistrements dans une table existante.
Une fois encore, le mode opratoire utilis pour construire une telle
requte se droule en deux tapes : la premire est la cration dune
requte de slection et la seconde transforme la requte en une
requte de type suppression.
Imaginons quune erreur de saisie soit constate : il ne devrait pas
exister dhoraires en fvrier 2011. Les horaires de ce mois doivent
donc tre supprims dans la table Horaires.
Commencez par crer la requte de slection qui extrait les horaires
de fvrier 2011.
1 Crez une requte en mode Cration utilisant la table Horaires sur
la liste des tables. Dans la ligne Champ de la premire colonne,
choisissez Horaires.* pour insrer tous les champs de la table.
Glissez le champ jour dans la seconde colonne. Dans la ligne
Critres de cette colonne, saisissez Comme */02/2011.
Vous pouvez aussi obtenir le prdicat Comme dans le gnrateur dexpression laide du bouton Gnrateur du groupe Paramtrage de
requte.
Jusqualors la requte dfinie est une simple requte de slection.
Elle va maintenant tre convertie en une requte action de type
suppression.
2

Cliquez sur le bouton Suppression du groupe Type de requte de longlet Outils de requte/Crer ou cliquez du
bouton droit dans la partie suprieure de longlet de la
requte puis survolez le menu Type de requte et cliquez sur
Requte Suppression dans le menu contextuel qui apparat.

5.4. Crer des requtes action

347

La ligne Afficher est remplace par la ligne Supprimer dans la grille de


cration.

Figure 5.89 : La requte


Suppression

3 Testez la requte en cliquant sur le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer. Lorsque Access vous
demande confirmation avant de supprimer les enregistrements de
la table Horaires, cliquez sur Oui.
4 Fermez et enregistrez la requte sous le nom Horairessuppression.
Vrifiez que les horaires de fvrier nexistent plus dans la table
Horaires en mode Feuille de donnes en y lanant la recherche.

Lintgrit rfrentielle reste inviolable


Les requtes action de type suppression ne pourront pas transgresser des
rgles dintgrit rfrentielle qui interdiraient la suppression des donnes.
Ne perdez pas de vue que lintgrit rfrentielle veillera toujours au maintien
de la cohrence des donnes des tables. Une requte de suppression qui
entrerait en conflit avec des rgles dintgrit rfrentielle ne pourrait sexcuter.

Crer une requte action de type mise jour


Dernire action possible : la mise jour des donnes dune table
depuis une requte.
Comme dans les trois cas prcdents, le mode opratoire utilis
pour construire une telle requte fait appel deux tapes : la cration
dune classique requte de slection et sa transformation en une
requte de type mise jour.

348

5. Extraire des donnes

Il faut par exemple remplacer la date 14 janvier 2011 par le 27 fvrier 2011 dans les enregistrements concerns de la table Horaires.
Commencez par crer la requte de slection qui extrait les horaires
du 14 janvier 2011.
1 Crez une requte en mode Cration utilisant la table Horaires sur
la liste des tables. Dans la ligne Champ, glissez le champ jour dans
la premire colonne.
Comme toujours, la requte dfinie est une simple requte de slection. Elle sera convertie en une requte action de type mise jour.
2

Cliquez sur le bouton Mise jour du groupe Type de requte


de longlet Outils de requte/Crer ou cliquez du bouton droit
dans la partie suprieure de longlet de la requte puis survolez le menu Type de requte et cliquez sur Requte Mise jour
dans le menu contextuel qui apparat.

La ligne Afficher est remplace par la ligne Mise jour dans la grille de
cration. Cette ligne doit contenir la valeur mettre jour.
3 Dans la ligne Mise jour, saisissez la date 27/02/2011. Dans la ligne
Critres, saisissez la date modifier : 14/01/2011.

Figure 5.90 : La requte Mise jour

4 Excutez la requte en cliquant sur le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer. Lorsque Access vous
demande confirmation avant de supprimer les enregistrements de
la table Horaires, cliquez sur Oui.
5 Fermez et enregistrez la requte sous le nom Horairesmaj. Vrifiez
que les dates des horaires ont t modifies dans la table Horaires.

5.4. Crer des requtes action

349

Dsactivation des messages lexcution des requtes action


Lors de lexcution de ces requtes, il est possible de ne plus afficher les
messages de confirmation en les dsactivant en utilisant longlet Fichier puis
le bouton Options. Dans la bote de dialogue Options Access, cliquez sur
Paramtres du client puis dcochez la case Requtes action.

Figure 5.91 : La dsactivation des messages lexcution des requtes action

5.5. Ajouter des paramtres dans


les requtes
Il vous est possible daller plus loin dans vos requtes en utilisant des
paramtres. Un paramtre est une valeur qui est demande lutilisateur au moment de lexcution de la requte. Le paramtre peut
diffrer dune requte lautre en fonction de la situation.
La requte Critres 01, qui extrait les horaires destination de la ville
de Metz, va tre modifie en ce sens :
1 Ouvrez la requte Critres 01 en mode Cration et enregistrez-la
sous le nom Critres 01 avec paramtre.
Le paramtre doit maintenant tre dfini.
2

Cliquez sur le bouton Paramtres du groupe Afficher/Masquer de longlet Outils de requte/Crer ou cliquez du bouton droit dans la partie suprieure de la fentre de la
requte et choisissez Paramtres dans le menu contextuel qui
apparat.

La bote de dialogue Paramtres de la requte est affiche.

350

5. Extraire des donnes

3 Saisissez le nom du paramtre dans la premire cellule vide de la


colonne Paramtre, ici nomville.
4 Slectionnez le type de donnes du paramtre dans la liste de la
colonne Type de donnes. Ici, conservez le type Texte propos par
dfaut. Fermez la bote de dialogue en utilisant le bouton OK.

Figure 5.92 : La dfinition


du paramtre

Le critre doit tre modifi dans longlet de cration de la requte.


5 Dans la ligne Critres, remplacez la chane de caractres Metz par
[nomville].
Noubliez pas les crochets pour indiquer Access quil sagit dune
variable et non dune chane de caractres.

Figure 5.93 : Le paramtre est ici visible dans la ligne de critres

5.5. Ajouter des paramtres dans les requtes

351

La syntaxe des paramtres


Comme le nom des champs, un paramtre doit tre encadr par des
crochets.

6 Excutez la requte. Saisissez la valeur du paramtre dans la bote


de dialogue Entrer la valeur du paramtre qui apparat, Toulouse par
exemple, puis cliquez sur OK.

Figure 5.94 : La saisie du paramtre, lors de lexcution de


la requte

Le rsultat est affich en mode Feuille de donnes.

Tlchargement de la base de donnes


Vous retrouverez la base de donnes finalise BaseTrains-finale.accdb,
utilise dans ce chapitre, sur le site de Micro Application (www.microapp.com)
dans le dossier Chapitre05.

5.6. Cas pratique


Passez maintenant la pratique. Pour obtenir des rsultats suffisamment significatifs, vous devrez disposer dun minimum de donnes
dans les tables. Saisissez de nouveaux produits dans la table Livres
en mode Feuille de donnes, et crez des factures accompagnes de
leurs lignes dans la table Factures ou tlchargez la base Facturation
livres5.accdb depuis Internet. Cette base contient suffisamment de
donnes pour vous permettre de raliser les ateliers qui vont suivre.

Tlchargement de la base de donnes


Vous trouverez la base de donnes Facturation livres5.accdb utilise dans
ce chapitre sur le site de Micro Application (www.microapp.com) dans le dossier
Chapitre05.

352

5. Extraire des donnes

Crer des requtes de slection en mode SQL


Votre premier objectif est dafficher, depuis la table Contacts et en
mode SQL, le nom du contact, son prnom et son dpartement.
Voici la liste des champs de la table Contacts cre dans les cas
pratiques prcdents.

Figure 5.95 : Les champs de la table Contacts

1 Ouvrez la base de donnes Facturation livres5.accdb. Cliquez sur


longlet Crer puis sur le bouton Cration de requte du groupe
Macros et code. Fermez la bote de dialogue Afficher la table (najoutez pas de table).
Longlet Requte1 est affich.
2 Cliquez sur le bouton SQL du groupe Rsultats de longlet Outils de
requte/Crer.
3 Pour extraire certaines colonnes de la table Contacts, saisissez
aprs la clause SELECT la liste des champs nom, prenom et departement,
spars par des virgules, puis tapez FROM Contacts. Respectez la
syntaxe SQL suivante :
SELECT nom, prenom, departement
FROM Contacts ;

Ces champs reprsentent les colonnes qui safficheront dans le rsultat de la requte.
Figure 5.96 : La requte qui affiche le nom,
le prnom et le dpartement de chaque
client de la table contacts

5.6. Cas pratique

353

4 Visualisez le rsultat en utilisant le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer.
Ce rsultat a t obtenu facilement. Faites maintenant figurer le nom
et le prnom dans une seule colonne ; cette opration sappelle une
"concatnation".
5 Revenez en mode SQL en cliquant sur la flche du bouton
Affichage de longlet Accueil puis en choisissant Mode SQL dans la
liste dactions qui vous est propose. Dans la liste des champs,
concatnez les champs nom et prenom au moyen du caractre & :
SELECT nom & " " & prenom, departement
FROM Contacts;
Figure 5.97 : La requte affichant
le nom et le prnom du contact
dans une mme colonne

6 Visualisez le rsultat en utilisant le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer.

Figure 5.98 : Le rsultat de la requte

Le nom quAccess affecte len-tte de la colonne nest pas trs


significatif : Expr1000. Vous allez renommer cette colonne.
7 Revenez en mode SQL en cliquant sur la flche du bouton
Affichage de longlet Accueil puis en choisissant Mode SQL dans la
liste dactions qui vous est propose. Pour changer le nom de
len-tte de colonne dans le rsultat de la requte, ajoutez, aprs le
nom du champ, la mention AS suivie du nouveau nom de len-tte
de colonne, Contact :
SELECT nom & " " & prenom AS Contact, departement
FROM Contacts;

Figure 5.99 : La modification du nom de len-tte de colonne

8 Visualisez le rsultat en utilisant le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer.
354

5. Extraire des donnes

Figure 5.100 : Le rsultat de la requte

Modifiez maintenant la requte afin quelle affiche uniquement les


contacts habitant Paris. Vous allez ajouter un critre dit de slection
sur la ville.
9 Revenez en mode SQL en cliquant sur la flche du bouton
Affichage de longlet Accueil puis en choisissant Mode SQL dans la
liste dactions qui vous est propose. Ajoutez dabord la ville la
liste des champs, puis la clause WHERE la fin de la requte, suivie
de la condition ville = Paris.
Vous obtenez la requte suivante :
SELECT nom & " " & prenom AS Contact, departement, ville
FROM Contacts
WHERE ville = "Paris";

Noubliez pas dencadrer la chane de caractres Paris de guillemets


pour quAccess ninterprte pas le critre comme un paramtre.

Figure 5.101 : La requte qui


affiche les contacts de Paris

10 Visualisez le rsultat en utilisant le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer.

Figure 5.102 : Le rsultat de la requte

11 Enregistrez la requte sous le nom ContactsParisSQL en utilisant


longlet Fichier puis en choisissant Enregistrer sous.
Modifiez prsent la requte de telle sorte quelle affiche uniquement les contacts nhabitant pas Paris et classs par villes.
Le critre sur la ville sera modifi et la clause ORDER BY ajoute.

5.6. Cas pratique

355

12 Revenez en mode SQL en cliquant sur la flche du bouton


Affichage de longlet Accueil puis en choisissant Mode SQL dans la
liste dactions propose. Modifiez la clause WHERE la fin de la
requte, en saisissant Not [ville]="Paris".
13 Pour classer les lignes dans le rsultat dune requte sur la vile,
utilisez la clause ORDER BY, la fin de la requte, suivie du champ
ville :
SELECT nom & " " & prenom AS Contact, departement, ville
FROM Contacts
WHERE Not ville="Paris"
ORDER BY ville;

Figure 5.103 : Le code SQL de la


requte, aprs ajout de la clause

14 Visualisez le rsultat en utilisant le bouton Excuter du groupe


Rsultats de longlet Outils de requte/Crer.

Figure 5.104 : Le rsultat de la


requte

15 Cliquez sur longlet Fichier, choisissez Enregistrer lobjet sous et


sauvegardez la requte sous le nom ContactshorsParisSQL. Fermez la requte.

356

5. Extraire des donnes

Vous allez effectuer une interrogation sur les deux tables Contacts et
Factures afin dextraire le nom, les numros et les dates de factures
de chaque contact.
Lillustration suivante vous rappelle la relation un plusieurs entre
les deux tables afin de vous permettre de retrouver les champs
utiliser dans la requte.

Figure 5.105 : La relation entre les tables


Contacts et Factures

16 Crez une nouvelle requte en mode SQL en cliquant sur longlet


Crer puis sur le bouton Cration de requte du groupe Macros et
code. Fermez la bote de dialogue Afficher la table (najoutez pas de
table). Cliquez sur le bouton SQL du groupe Rsultats de longlet
Outils de requte/Crer.
17 Saisissez le code suivant :
SELECT Contacts.nom, Factures.nofacture, Factures.datefacture
FROM Contacts, Factures
WHERE Contacts.nocontact = Factures.nocontact ;

Rappelons que la source de la requte est, dans ce cas, appele


"produit cartsien des tables dfinies dans la clause FROM". Access recherche toutes les lignes de la table Contacts associes la table
Factures qui rpondent la clause.
18 Visualisez le rsultat.

Figure 5.106 : Le rsultat de la requte

5.6. Cas pratique

357

19 Enregistrez la requte sous le nom ContactsFacturesSQL.


20 Modifiez la requte prcdente de telle sorte quelle affiche les
noms des contacts pour lesquels une ou plusieurs factures ont t
tablies, ainsi que le nombre de factures, au moyen de la clause
optionnelle GROUP BY et de la fonction count() :
21 Revenez en mode SQL en cliquant sur la flche du bouton
Affichage de longlet Accueil puis en choisissant Mode SQL dans la
liste dactions qui vous est propose et enregistrez la requte sous
le nom ContactsNbFacturesSQL. Modifiez la requte comme suit :
SELECT Contacts.nom, Count(*) AS [Nombre de factures]
FROM Contacts, Factures
WHERE Contacts.nocontact = Factures.nocontact
GROUP BY Contacts.nom ;

22 Visualisez le rsultat.

Figure 5.107 : Le rsultat de la requte de dnombrement

23 Fermez et enregistrez la requte.

Crer des requtes en mode Cration


Crer une requte sur une table et un critre
Dans la section prcdente, vous avez cr une requte sur une table
unique, Contacts-horsParis. Observez comment le Gnrateur de requtes interprte cette requte en mode Cration.
1 Dans le volet de navigation, cliquez du bouton droit sur la requte
Contacts-horsParis-SQL. Choisissez Mode Cration dans le menu
contextuel affich.
358

5. Extraire des donnes

La requte apparat en mode SQL car cest le mode daffichage qui a


t utilis au dernier enregistrement de la requte.
2 Pour afficher la requte en mode Cration, cliquez sur la flche du
bouton Affichage du groupe Rsultats de longlet Outils de requte
/Crer puis choisissez Mode Cration dans la liste dactions qui
vous est propose.

Figure 5.108 : Laffichage de la requte en mode Cration

3 Fermez la requte Contacts-horsParis-SQL.

Crer une requte sur plusieurs tables et plusieurs


critres
La requte suivante va porter sur plusieurs tables.
Un livre a un dfaut. Vous voulez envoyer un courrier aux clients qui
ont achet ce produit pour leur annoncer quils peuvent, sils le
souhaitent, vous retourner un coupon-rponse pour recevoir un ou
plusieurs livres en remplacement de ceux qui seraient ventuellement dfectueux. Vous devez rechercher le nom du client partir des

5.6. Cas pratique

359

lignes de factures de la table Factures. Le livre dfectueux est identifi par son nom : Freebox.
Noubliez pas le schma des relations de la fentre Relations qui
permet de connatre les tables intervenant dans la requte. Suivez le
cheminement entre le nom du client que vous recherchez et le nom
du produit que vous connaissez. Vous devez traverser les tables
Contacts, Factures, Facturelignes et Livres. Toutes ces tables doivent
donc tre prsentes sur la liste des tables de la requte, mme si
seuls les champs des tables Contacts et Livres sont utiliss. Les
champs des tables Factures et Facturelignes doivent tre affichs car
celles-ci matrialisent le cheminement de la relation entre la table
des clients et celle des produits sur lesquels la requte va sappuyer
pour tablir ses jointures.

Figure 5.109 : Les quatre tables, visualises dans la fentre Relations

Vous allez crer la requte en mode Cration.


1 Cliquez sur longlet Crer puis sur le bouton Cration de requte du
groupe Macros et code. Sous longlet Table de la bote de dialogue
Afficher la table, ajoutez les tables Contacts, Factures, Facturelignes
et Livres.

Figure 5.110 : Lajout des quatre tables dans la


requte

360

5. Extraire des donnes

Longlet Requte1 saffiche avec les tables choisies prcdemment.


2 Enregistrez la requte sous le nom Livredfaut.
3 Double-cliquez sur les champs nom, adresse, cp et ville depuis la
table Contacts, ainsi que sur le champ titre depuis la table Livres,
afin de les insrer dans la ligne Champ. Dans la ligne Critres de la
colonne titre, saisissez le titre du livre qui a un dfaut : Freebox.
Lorthographe est importante. Access ajoutera automatiquement des
guillemets qui encadreront les valeurs aprs validation de la zone,
lorsque vous appuierez sur la touche [].

Figure 5.111 : La requte


daffichage des clients
ayant reu un livre
dfectueux

4 Visualisez le rsultat de la requte en cliquant sur le bouton Affichage.


5 Enregistrez la requte. Retournez en mode Cration en cliquant
sur le bouton Affichage.

Figure 5.112 : Le rsultat de


la requte daffichage des
clients ayant reu un livre
dfectueux

5.6. Cas pratique

361

ces clients, extraits par la requte, vous souhaitez dsormais


ajouter ceux qui ont achet un livre pour lequel une campagne de
communication a t lance simultanment dans la presse et par
radio ainsi que les clients dont le nom commence par la lettre M et
qui ont achet un livre pour lequel une campagne de communication
a t lance, la tlvision uniquement.
Pour mieux apprhender cette phrase, traduisez-la en pseudolangage : (titre = Freebox) OU (presse = VRAI ET radio = VRAI ET
tlvision = FAUX) OU (premire lettre du nom du contact = M ET
presse = FAUX ET radio = FAUX ET tlvision = VRAI).
6 Enregistrez la requte prcdente en mode Cration sous le nom
Livrescommunication.
7 Ajoutez la table Communication la liste des tables en cliquant sur
le bouton Afficher la table du groupe Paramtrage de requte de
longlet Outils de requte/Crer. Sous longlet Table de la bote de
dialogue Afficher la table, ajoutez la table Communication.
8 Supprimez la jointure cre tort par Access si celle-ci apparat
entre les tables Communication et Facturesligne (Access trace en
effet des jointures entre des champs portant des noms identiques,
ici nolivre). Conservez celle tablie entre les tables Livres et Communication.
ce stade, vous serez certainement surpris, si vous avez la curiosit
de visualiser le rsultat de la requte en cliquant sur le bouton
Affichage du groupe Rsultats de longlet Outils de requte/Crer.
Vous constaterez que les clients ayant achet le livre Freebox ne sont
plus affichs, alors quils existent dans la base de donnes.
Ce problme est inhrent au fait quAccess applique par dfaut le
premier type de jointure, cest--dire la jointure interne, entre les
tables. Cette jointure naffiche que les enregistrements des tables
mis en relation par un champ identique. Or, aucun plan de communication nayant t dvelopp pour le livre dont le titre est Freebox,
aucune ligne de cette table nest restitue par la requte dans la
feuille de donnes.
Vous allez donc modifier le type de jointure entre les tables Livres et
Communication.
9 En mode Cration, double-cliquez sur la jointure entre les tables
Livres et Communication. Dans la bote de dialogue Proprits de la
jointure, choisissez le type de jointure 2, puis cliquez sur le bouton
OK.

362

5. Extraire des donnes

Figure 5.113 : La modification de type de jointure

En mode Cration, la jointure est traduite par une flche allant de la


table Livres vers la table Communication.
Vous allez maintenant traduire la condition suivante : les contacts qui
ont achet un livre pour lequel une campagne de communication a
t lance simultanment dans la presse et par radio.
10 En mode Cration, ajoutez dans la ligne Champ de la grille de
cration les champs radio, presse et television de la table Communication. Dans la ligne Ou des colonnes radio et presse, saisissez
Oui. Enfin, saisissez Non dans la colonne television de la mme
ligne.
Il vous reste traduire la condition suivante : les contacts dont le
nom commence par la lettre M et qui ont achet un livre pour lequel
une campagne de communication a t lance, la tlvision uniquement.
11 Dans la ligne situe en dessous de la ligne Ou, saisissez Comme "M*"
dans la colonne nom. Dans la mme ligne, saisissez Oui la
colonne television, puis Non dans les colonnes radio et presse.
12 Visualisez le rsultat de la requte en cliquant sur le bouton Affichage.
En consultant les donnes en mode Feuille de donnes, vous constatez que la requte rpte plusieurs lignes lidentique. Un regroupement des donnes sur les coordonnes du contact et le titre du
livre apportera une solution ce problme.
13 Retournez en mode Cration de la requte. Pour raliser un regroupement, cliquez sur le bouton Totaux du groupe Afficher/
Masquer de longlet Outils de requte/Crer. la ligne Opration
choisissez Premier sur la liste des colonnes radio, presse et television afin dliminer le regroupement sur ces trois champs.

5.6. Cas pratique

363

Figure 5.114 : Le regroupement est paramtr dans la requte

Les colonnes radio, presse et television qui vous ont jusqualors


permis de vrifier les rsultats obtenus nont plus de raison dapparatre dans la feuille de donnes. Vous allez les masquer.
14 Dcochez la case Afficher des colonnes radio, presse et television.

Figure 5.115 : Ces trois colonnes seront masques dans la feuille de donnes

15 Visualisez le rsultat de la requte en cliquant sur le bouton Affichage.


16 Fermez et enregistrez la requte.

Crer une requte utilisant des totaux


Lobjectif est maintenant de calculer le montant total hors taxe de
chacune des factures. Une facture pouvant contenir plusieurs lignes,
vous devrez travailler en deux tapes. Dans la premire, vous calcu-

364

5. Extraire des donnes

lerez le montant hors taxe de chacune des lignes. Vous calculerez


enfin le montant total hors taxe de chaque facture.
La table Facturelignes contient les livres et les quantits de livres de
chaque facture. Nulle part na t calcul le montant de la ligne,
cest--dire le prix unitaire du livre multipli par la quantit de livres.
Calculez prsent cette valeur pour chaque ligne de facture au
moyen de champs calculs.
Noubliez pas le schma des relations de la fentre Relations. Il
montre que le prix dun livre se trouve dans la table Livres alors que
la quantit est stocke dans la table Facturelignes.
Vous allez crer une nouvelle requte en mode Cration, nomme
Calcul-ligneprixHT, qui va chercher toutes les lignes de la facture et
calculer le prix unitaire du livre achet multipli par la quantit
achete.
1 Cliquez sur longlet Crer puis sur le bouton Cration de requte du
groupe Macros et code. Dans la bote de dialogue Afficher la table
de la nouvelle requte, ajoutez les tables Livres et Facturelignes.
2 Dans la ligne Champ, affichez le champ nofacture de la table Facturelignes, puis le champ nolivre de la table Livres.

Figure 5.116 : Les deux tables


utilises dans la requte

Afin dviter toute erreur dans la syntaxe du calcul du produit (que


vous pourriez saisir directement), utilisez le Gnrateur dexpression.

5.6. Cas pratique

365

Placez le curseur dans la troisime colonne de la


ligne Champ. Affichez le Gnrateur dexpression
par un clic sur le bouton Gnrateur du groupe Paramtrage de
requte de longlet Outils de requte/Crer.

4 Dans la bote de dialogue du Gnrateur dexpression, dveloppez


llment dexpression Facturation livres5.accdb de la liste de gauche en cliquant sur le symbole + puis double-cliquez sur llment
dexpression Tables, slectionnez la table Facturelignes puis
double-cliquez sur le champ quantite dans la liste centrale. Saisissez le caractre * puis slectionnez la table Livres de la liste des
lments dexpression et double-cliquez sur le champ prixHT de la
table Livres pour lajouter la formule dans la zone ddition.

Figure 5.117 : Le calcul du produit dans le Gnrateur dexpression

5 Cliquez sur le bouton OK pour fermer le Gnrateur dexpression.


6 Dans longlet de cration de la requte, validez la troisime colonne en cliquant dans une autre colonne.

Figure 5.118 : La troisime colonne contient maintenant le champ calcul du total hors taxe de la
ligne de facture

La ligne champ de la troisime colonne contient donc la valeur


suivante :
Expr1: [Facturelignes]![quantite]*[Livres]![prixHT]

366

5. Extraire des donnes

Voyez les points de syntaxe importants de cette formule :


Expr1 dfinit le nom de len-tte de la troisime colonne du rsultat
de la requte ;

le deux-points correspond la mention AS que vous avez vue dans


la partie traitant de SQL. Il permet daffecter un nom la colonne ;
remarquez la syntaxe utilise dans le calcul : un champ doit tre
prcd du nom de sa table et dun point dexclamation. Les
crochets encadrent les noms des tables et des champs ;
la ligne Table de cette colonne ne contient pas de table puisque le
calcul emploie des champs de plusieurs tables.
Le nom de len-tte de colonne ntant gure significatif, vous allez le
renommer :
7 Remplacez Expr1 par lexpression Ligne Prix HT.

Figure 5.119 : La modification du libell de len-tte de la troisime colonne

8 Visualisez le rsultat.

Figure 5.120 : Le rsultat de


la requte calculant le prix
HT pour chaque ligne de
facture

9 Enregistrez la requte sous le nom CalculligneprixHT.


Il reste dfinir le montant total par facture. Vous avez vu, lors de la
cration de la base de donnes, quune facture pouvait avoir plusieurs lignes de facture stockes dans la table Facturelignes. Dans le
rsultat de la requte prcdente, il apparat ainsi que plusieurs
numros de factures sont rpts plusieurs fois, chaque ligne correspondant aux diffrents produits achets. Pour calculer le montant
factur pour chaque facture, vous allez effectuer un regroupement
puis une somme.
10 Affichez la requte cre prcdemment en mode Cration, puis
enregistrez-la sous le nom CalculfacturetotalHT.

5.6. Cas pratique

367

Vous allez supprimer la colonne nolivre de la requte ; elle ne vous


sera plus utile.
11 Cliquez sur len-tte de la colonne nolivre.
Une fois slectionne, la colonne apparat en vido inverse.
12 Appuyez sur la touche [Suppr].
13 Renommez la deuxime colonne Ligne Prix HT en Total HT.
14 Pour raliser un regroupement, cliquez sur le bouton Totaux du
groupe Afficher/Masquer de longlet Outils de requte/Crer.
La ligne Opration est affiche dans la grille de cration.
15 Dans la liste, choisissez la fonction Somme comme opration de la
colonne Total HT.

Figure 5.121 : La requte effectuant la somme des lignes de facture

16 Visualisez le rsultat.

368

5. Extraire des donnes

Figure 5.122 : Le rsultat de la


requte effectuant le total hors
taxe pour chaque facture

17 Fermez et enregistrez la requte.

Crer une requte action


Compliquons quelque peu les choses en imaginant que le prix unitaire de tous les livres augmente de 1 %. Cette opration de mise
jour des donnes va se rvler fastidieuse et les risques derreurs
seront importants, moins dutiliser une requte Mise jour.
1 Crez une nouvelle requte de slection en cliquant sur longlet
Crer puis sur le bouton Cration de requte du groupe Macros et
code. Dans la bote de dialogue Afficher la table de la nouvelle
requte, ajoutez la table Livres sur la liste des tables. Dans la ligne
Champ, glissez le champ prixHT dans la premire colonne. Enregistrez la requte sous le nom MajPrixLivres.
2

Cliquez sur le bouton Mise jour du groupe Paramtrage de


requte de longlet Outils de requte/Crer.

3 Dans la ligne Mise jour, saisissez la formule daugmentation


suivante :
[Livres]![prixHT]+([Livres]![prixHT]*0,01)

5.6. Cas pratique

369

Cette ligne peut galement tre gnre depuis le Gnrateur dexpression activ par le bouton Gnrateur du groupe Paramtrage de
requte de longlet Outils de requte/Crer.

Figure 5.123 : Ici, la formule est crite depuis le Gnrateur dexpression

4 Excutez la requte en cliquant sur le bouton Excuter du groupe


Rsultats.
5 Lorsque Access vous demande confirmation avant de mettre
jour le ou les enregistrements de la table Livres, cliquez sur OK.
6 Fermez et enregistrez la requte. Vrifiez que les prix des produits
ont t augments dans la table Livres.

Utiliser un paramtre dans la requte


La dernire requte utilise une constante. Imaginez que les prix des
livres augmentent priodiquement avec des taux diffrents. Il serait
alors plus pratique de paramtrer la dernire requte MajPrix-Livres,
afin quelle demande, lorsquelle est excute, le pourcentage daugmentation.
1

Ouvrez la requte MajPrix-Livres en mode Cration. Cliquez


sur le bouton Paramtres du groupe Afficher/Masquer de
longlet Outils de requte/Crer.

2 Dans la bote de dialogue Paramtres de la requte, saisissez


Augmentation dans la premire cellule de la colonne Paramtre,
slectionnez le type de donnes Rel simple dans la liste pour
indiquer le type de donne du paramtre. Fermez la bote de
dialogue en utilisant le bouton OK.

370

5. Extraire des donnes

Figure 5.124 : La dfinition du paramtre de la requte

Le calcul du prix doit tre modifi dans la fentre de cration de la


requte.
3 Sur la ligne Mise jour, remplacez dans lexpression la valeur 0,01
par [Augmentation]. Noubliez pas les crochets pour indiquer
Access quil sagit dune variable et non dune chane de caractres.

Figure 5.125 :
Laugmentation est dfinie
en tant que paramtre dans
la requte

4 Excutez la requte en cliquant sur le bouton Excuter du groupe


Rsultats.
5 Saisissez laugmentation dans la bote de dialogue Entrer la valeur
de paramtre, par exemple 0,03 pour 3 %. Cliquez sur OK.

Figure 5.126 : La saisie du


paramtre lors de
lexcution de la requte

Access demande confirmation de la mise jour des enregistrements


de la table.

5.6. Cas pratique

371

6 Cliquez sur OK pour continuer. Fermez et enregistrez la requte


sous le nom MajPrixLivresParamtre.
7 Vrifiez que les prix des livres sont augments de 3 % dans la table
Livres.

Crer une liste de choix avec requte


Vous allez rapidement vous rendre compte que la saisie de factures
dans la table Factures sera trs longue si vous devez, chaque fois,
rechercher le numro de client dans la table Contacts. Pour rendre la
saisie plus agrable, vous pouvez crer une liste de choix sur le
champ nocontact de la table Factures. Cette liste affichera les champs
nocontact, nom et societe de la table Contacts. Le contenu (ou la
source de donnes) de cette liste de choix sera obtenu par lexcution dune requte.
1 Ouvrez la table Factures en mode Cration et placez-vous sur le
champ nocontact. Sous longlet Liste de choix, placez-vous dans la
ligne Afficher le contrle et slectionnez Zone de liste droulante.
Dans la ligne Origine source, conservez Table/Requte. Dans la ligne
Contenu, cliquez sur les trois petits points pour lancer le Gnrateur de requte qui vous permettra de crer une requte, source
de la liste.

Figure 5.127 : La requte qui va tre saisie permettra dafficher la liste des contacts

372

5. Extraire des donnes

2 Dans la bote de dialogue Afficher la table, slectionnez la table


Contacts, cliquez sur le bouton Ajouter puis fermez la bote de
dialogue.
Longlet Factures : Gnrateur de requte saffiche. Il renferme la table
Contacts.
3 Dans la ligne Champ, ajoutez nocontact, nom et societe. Affectez le
tri croissant la colonne nom en choisissant Croissant sur la liste
de la ligne Tri.

Figure 5.128 : La cration de la requte qui sera la source de la liste de choix

4 Fermez le Gnrateur de requte et enregistrez les modifications


apportes.
De retour en mode Cration de la table, sous longlet Liste de choix du
champ nocontact, le Gnrateur de requte a complt la ligne
Contenu par le code SQL de la requte.
5 Modifiez la ligne Nbre colonnes en y saisissant la valeur 3.
Il sagit du nombre de colonnes afficher sur la liste. Vous voulez voir
apparatre le numro du contact (colonne nocontact de la requte), le
nom du contact (colonne nom de la requte) et le nom de sa socit
(colonne societe de la requte).

5.6. Cas pratique

373

Figure 5.129 : Une requte est utilise comme source de donnes dune liste

La proprit Colonne lie


Lorsquun champ utilise une liste comme origine des donnes et que cette
liste contient plusieurs colonnes, la proprit Colonne lie permet de dfinir
quelle colonne sera crite dans le champ. Il sera ainsi possible, par exemple,
de faire apparatre sur une liste plusieurs colonnes pour faciliter la lecture des
donnes, mais de ne stocker dans le champ que la cl primaire de la table
affiche dans la requte.

6 Affichez la table en mode Feuille de donnes et cliquez dans la


colonne nocontact pour visualiser le rsultat. Nhsitez pas
agrandir la largeur de la colonne nocontact pour visualiser les trois
colonnes sur la liste.

Figure 5.130 : Le choix dun client sur la liste de choix de la colonne nocontact dans la table Factures
en mode Feuille de donnes

374

5. Extraire des donnes

Vous pouvez amliorer la prsentation de votre liste : le numro de


client napporte rien la saisie, bien au contraire, il lalourdit. Seul le
nom du client est significatif.
7 Retournez en mode Cration de table de la table Factures. Sous
longlet Liste de choix du champ nocontact, dans la ligne Largeurs
colonnes, saisissez la valeur 0;3.
La premire colonne sera ainsi masque mais non supprime. Elle
est en effet indispensable car le champ nocontact quelle contient est
la base de la relation. La deuxime colonne aura une largeur de
3 cm.

Figure 5.131 : La dfinition de la largeur de la premire et de la deuxime colonne de la liste

Largeurs de colonnes sur une liste


Si la largeur dune colonne est 0, la colonne est masque. Lorsque plusieurs largeurs sont dfinies, le point-virgule est utilis comme sparateur. Si
des largeurs ne sont pas dfinies, Access optimise ces largeurs en fonction de
lespace qui leur est allou au moment de laffichage. Par exemple, la valeur
5;;0;2 traduira une premire colonne de 5 cm, une deuxime utilisant une
largeur par dfaut, une troisime colonne masque et une quatrime colonne
de 2 cm.
Dans le champ nocontact de la table Factures, la premire colonne, contenant
le numro du contact, est masque (valeur 0), la deuxime colonne affichant
le nom du contact aura une largeur de 3 cm. La largeur de la troisime
colonne, affichant le nom de la socit, nest pas prcise : elle est donc
considre comme omise et prendra une largeur par dfaut.

Voici le rsultat de la liste dans la table Factures en mode Feuille de


donnes :

5.6. Cas pratique

375

Figure 5.132 : La slection


du nom de client dans la
liste

8 Fermez et enregistrez la table.


Il est conseill dutiliser les requtes comme sources de donnes sur
les listes de choix pour une saisie plus confortable, lorsquil faut
renseigner un champ utilisant les valeurs dune autre table.
Ces listes de choix vous faciliteront la tche dans les formulaires,
qui seront abords au chapitre 6 Amliorer la saisie.

Pour simplifier votre travail, des listes du mme type ont t ajoutes
dans diffrentes tables de la base que vous pouvez tlcharger
depuis Internet. Voici la liste de ces tables :
j

la table Livres utilise une liste de choix pour la slection du champ


notva ;

Figure 5.133 : Dans la table


Livres, le choix du numro
de TVA se fera sur une liste
affichant les taux de TVA de
la table Taxes

376

5. Extraire des donnes

Figure 5.134 : Dans la table Facturelignes, le choix du numro de livre se fera sur une liste affichant
les noms des livres de la table Livres
j

la table Communication utilise une liste de choix pour la slection


du champ nolivre ;

Figure 5.135 : Dans la table Communication, le choix du numro de livre se fera sur une liste affichant
les livres de la table Livres
j

la table Jonction-Auteurs-Livres utilise des listes de choix pour la


slection des champs noauteur et nolivre.

Figure 5.136 : Dans la table Jonction-Auteurs-Livres, le choix du numro de lauteur se fera sur une
liste affichant les noms de la table Auteurs

5.6. Cas pratique

377

Figure 5.137 : Dans la table Jonction-Auteurs-Livres, le choix du numro du livre se fera sur une liste
affichant les noms de la table Livres

Tlchargement de la base de donnes


Vous retrouverez la base de donnes finalise Facturation livres5finale.accdb, utilise dans ce chapitre, sur le site de Micro Application (www
.microapp.com) dans le dossier Chapitre05.

378

5. Extraire des donnes

CHAPITRE 6

AMLIORER
LA SAISIE
Comprendre le rle des formulaires ................................................................ 381
Le modle conceptuel des objets des formulaires .................................... 382
Crer des formulaires simples ............................................................................ 383
Crer des formulaires imbriqus ....................................................................... 424
Cas pratique ................................................................................................................. 430

379

Les formulaires sont des objets trs utiles pour diter les donnes
des tables ou des requtes. Puisquil est possible dy insrer dautres
objets tels que des boutons, ils peuvent galement lancer dautres
formulaires ou des tats, mais la fonction principale des formulaires
reste de faciliter la saisie des donnes et de se substituer au mode
Feuille de donnes qui nest plus utilis que par le dveloppeur de
lapplication pour tester la cohrence des donnes de la base. Un
autre emploi des formulaires consiste en faire des "tableaux de
bord", forms principalement de boutons permettant de lancer
dautres formulaires, des tats, dautres logiciels ou encore de quitter lapplication.
Certaines catgories de formulaires dAccess utilisent dsormais un
affichage de type Tableau crois dynamique ou encore Graphique
crois dynamique, permettant lutilisateur de modifier la prsentation des donnes pendant lexcution du formulaire afin dobtenir
une disposition optimale des informations.

6.1. Comprendre le rle des formulaires


Trs faciles personnaliser, ils constituent la partie visible de votre
application, celle qui donne (ou non) envie aux utilisateurs demployer lapplicatif, remplaant avantageusement le quelque peu
triste mode Feuille de donnes. Un formulaire adapt est un lment
important du succs de votre application. Ainsi, un formulaire de
saisie de donnes comptables naura pas le mme aspect que celui
dun logiciel ducatif ou que celui dun jeu. Pourtant, tous trois
entrent dans la mme famille dobjets.
Veillez toutefois ne dvelopper vos formulaires que lorsque les
tables, les relations et les requtes ont t correctement construites,
sinon les formulaires ne masqueront quun court instant seulement
les imperfections de la base de donnes.
La mthode la plus conviviale pour crer des formulaires consiste
utiliser les Assistants dAccess, mais ces derniers ne permettent pas,
le plus souvent, davoir accs toutes les proprits de lobjet. Il est
donc ncessaire demployer le mode Cration pour aller plus loin
dans la comprhension des formulaires.
Avant de dmarrer, vous allez dcouvrir les principaux concepts qui
rgissent les formulaires.

6.1. Comprendre le rle des formulaires

381

6.2. Le modle conceptuel des objets


des formulaires
Un formulaire est un objet conteneur. Vous connaissez dj de gros
objets conteneurs : les tables et les requtes.
Les formulaires contiennent des objets spcifiquement adapts la
saisie et la consultation des donnes : zones de texte, boutons
dactions, listes droulantes, cases cocher, boutons radio, etc. Chaque objet peut tre personnalis par ses proprits. Des vnements peuvent dclencher des actions (ou mthodes) dans le formulaire. Par exemple, lorsquun bouton est activ, lvnement Clic peut
dclencher la mthode Quitter lapplication.
Revenons encore une fois sur la notion de conteneurs, de sousconteneurs, de proprits, de mthodes et dvnements. Comparez
un formulaire une voiture. Mme si lanalogie peut paratre un peu
droutante, force est de constater quune voiture est bien un conteneur. En effet, elle renferme de nombreux objets : des siges, un
moteur, des roues, un volant, etc. Chaque objet a des caractristiques qui lui sont propres. Certaines de ces caractristiques sont
communes tous les objets (comme la couleur), dautres sont spcifiques des catgories dobjets (comme la pression des pneumatiques). Si une voiture tait un formulaire, ses caractristiques prendraient lappellation de "proprits". Intressez-vous maintenant aux
actions que va pouvoir excuter votre vhicule : une voiture est
capable de raliser diffrentes actions ; elle peut acclrer, freiner,
tourner, reculer, etc. Dans Access, ces actions se nomment des "mthodes".
Il est rare de voir une voiture dmarrer toute seule. De mme, la
voiture tourne si et seulement si le conducteur oriente le volant dans
le sens du virage. Sur un vhicule, ces actions sont respectivement
dclenches par les vnements Tour de cl de contact et Orientation
du volant. Sur Access, le terme "vnement" est galement utilis. Il
est synonyme de "dclencheur". Les actions dclenches sont nommes "mthodes". Lorsque le conducteur appuie sur la pdale dacclration, il provoque un vnement qui va dclencher une action
(la voiture va acclrer). De mme, lorsquil appuie sur la pdale de
frein, il dclenche la mthode Freinage. Dans Access, des vnements sont galement provoqus en permanence : lorsquon clique
sur un bouton OK ou un bouton Annuler, quand une zone est survole avec le pointeur de la souris, lorsque la touche [] ou la touche

382

6. Amliorer la saisie

[chap] sont presses, ces vnements dclenchent des mthodes (le


terme "mthodes" est synonyme de "programmes").
Encore un mot sur une notion complmentaire, mais qui ne sera pas
dveloppe ici : le concept de familles dobjets (nous parlerons de
"classes"). Revenons notre voiture : elle appartient une catgorie
(ou modle). Dans un modle donn, vous trouverez des vhicules
rouges, de grand tourisme, des diesels, des versions turbo injection, etc. En programmation, cette notion de catgorie correspond
une classe. Si vous allez plus loin avec Access (il vous faudra passer
la programmation avance), vous dcouvrirez quil est possible de
dvelopper des modules de programmation en langage Visual Basic.
Ce langage vous permettra de raliser tous les types de traitements
sans restriction. Il vous sera alors possible dutiliser cette trs puissante notion de classe. Prenez un exemple : imaginez que vous
dveloppez plusieurs formulaires dans la mme application. Ces
formulaires utilisent tous un fond rouge. Lorsque vous prsentez
votre application, les utilisateurs vous informent quils dtestent le
rouge. Vous allez devoir reprendre tous vos formulaires et modifier
les couleurs de chacun dentre eux. Si vous avez utilis une classe, il
vous suffira de modifier la proprit Couleur du formulaire dans la
classe. Tous les formulaires issus de cette classe seront automatiquement mis jour, cest--dire que leur couleur de fond sera modifie. Nous parlerons dans ce cas dun "hritage" ou encore de "polymorphisme".

6.3. Crer des formulaires simples


Principalement, un formulaire va donc vous servir afficher le
contenu des tables. Il existe trois faons de crer un formulaire :
j

utiliser un Assistant ;

avoir recours la fonction de cration de formulaire rapide ;


raliser le formulaire manuellement.

Utiliser lAssistant
La fonction principale dun formulaire est dafficher les champs des
tables ou des requtes. Pratique et efficace, lAssistant Formulaire
permet de concevoir des formulaires simples de saisie de donnes
afin de mettre jour une table. Procdez ainsi :
1 Cliquez sur une table ou une requte dans le volet de navigation.

6.3. Crer des formulaires simples

383

2 Cliquez sur longlet Crer puis sur le bouton Assistant Formulaire


du groupe Formulaires.

Figure 6.1 : LAssistant Formulaire est choisi dans le groupe Formulaires

La bote de dialogue Assistant Formulaire apparat. La table ou la


requte choisie prcdemment dans le volet de navigation est slectionne dans la zone Tables/Requtes. Vous pouvez modifier ce choix
dans cette zone.
3 la premire tape de lAssistant, cliquez sur le bouton >> pour
dplacer tous les champs de la colonne Champs disponibles dans
la colonne Champs slectionns. Cliquez sur le bouton Suivant.

Figure 6.2 : La slection des champs

384

6. Amliorer la saisie

Figure 6.3 : Ce bouton permet


dajouter le champ slectionn
Figure 6.4 : Ce bouton supprime
le champ slectionn sur la liste Champs slectionns
Figure 6.5 : Ce bouton supprime
tous les champs de la liste Champs slectionns

Utiliser plusieurs tables dans un formulaire


Pour utiliser des champs issus de tables ou de requtes diffrentes, rptez lopration de slection des tables et des requtes dans la zone Tables/
Requtes et ajoutez les champs de votre choix dans la liste champs slectionns de lAssistant. Cliquez alors sur le bouton Suivant.

La deuxime tape permet de spcifier la prsentation des champs


dans le formulaire parmi plusieurs propositions :
Loption Colonne simple permet de disposer les zones de texte les
unes en dessous des autres avec une tiquette sur leur gauche.
Loption Tabulaire permet de disposer les zones de texte sous la
forme dun tableau.
Loption Feuille de donne permet dafficher les enregistrements en
mode Feuille de donnes.
Loption Justifi permet de disposer les zones de texte les unes
ct des autres.

Zone de texte et tiquette


Une zone de texte est un objet qui permet dditer le contenu dun champ
dune table ou dune requte.
Une tiquette est un objet permettant dafficher un texte informatif dans un
formulaire ou un tat.

4 Choisissez, par exemple, loption Colonne simple, puis cliquez sur


le bouton Suivant (voir Figure 6.6).
La dernire tape de lAssistant vous permet de dfinir laction
effectuer la fin de son excution :
Loption Ouvrir le formulaire pour afficher ou entrer des infos permet
dafficher le formulaire en mode Formulaire afin dy saisir des
donnes.
6.3. Crer des formulaires simples

385

Figure 6.6 : Le choix de la disposition des zones de texte dans le formulaire

Loption Modifier la structure du formulaire permet dafficher la


structure du formulaire en mode Cration.
5 Choisissez loption Ouvrir le formulaire pour afficher ou entrer des
infos. Dans la zone Quel titre souhaitez-vous pour votre formulaire ?,
modifiez ventuellement le nom de la table utilise par le formulaire quAccess propose par dfaut. Conservez la premire option
coche, puis cliquez sur le bouton Terminer.

Figure 6.7 : Les deux options proposes la dernire tape de lAssistant

la fermeture de lAssistant, le formulaire est automatiquement


ouvert en mode Formulaire. Lutilisateur peut ds lors ajouter, modifier ou encore supprimer un enregistrement.

386

6. Amliorer la saisie

Dans le volet de navigation, le formulaire cr avec lAssistant apparat maintenant dans la liste des formulaires.
6 Fermez le formulaire.

Figure 6.8 : Laffichage du formulaire en mode Formulaire

Crer un formulaire sans lAssistant


Voyez maintenant comment crer un formulaire rapidement ou en
mode Cration.

Crer un formulaire rapidement


Cette mthode est la plus rapide pour crer un formulaire :
1 Cliquez sur une table ou une requte dans le volet de navigation.
2 Cliquez sur longlet Crer puis choisissez lune des options de
cration suivantes, proposes par les boutons du groupe Formulaires :
Le bouton Formulaire affiche des zones de texte correspondant aux champs de la table ou de la requte choisie
prcdemment, les unes en dessous des autres avec
une tiquette sur leur gauche (le formulaire est alors affich en
mode Page). Les enregistrements de la table sont affichs un
par un. Les dplacements dans les enregistrements sont possibles au moyen de boutons de navigation, en bas de la fentre.

Sous-formulaire
Un sous formulaire est un formulaire imbriqu dans un formulaire (cette
notion sera dveloppe plus loin). Si la table choisie est en relation avec une
autre table reprsentant le cot plusieurs de la relation, un sous-formulaire
est automatiquement cr dans le formulaire afin dafficher en mode Feuille
de donnes les donnes de la table associe.

6.3. Crer des formulaires simples

387

Figure 6.9 : Un formulaire


gnr avec le bouton
Formulaire

Mode Cration, mode Formulaire et mode Page


Comme cela est le cas pour la cration des tables ou des requtes, Access 2007 offre lutilisateur un mode Cration et un mode Formulaire,
permettant respectivement de crer le formulaire et de lexcuter.
Le mode Page, quant lui, est un mode intermdiaire, intuitif, dans lequel il
vous est permis de modifier la disposition des objets du formulaire tout en
consultant les donnes qui y sont affiches. Il y est ainsi possible, par exemple, de dplacer les objets du formulaire ou den modifier les proprits.
Il ne vous est toutefois pas possible deffectuer toutes les oprations de
cration en mode Page et Access affiche le cas chant des messages signifiant que le passage en mode Cration est ncessaire.

Le bouton Plus de formulaires puis Plusieurs lments affiche un


tableau compos de zones de texte dans lequel les enregistrements sont prsents en lignes. Sil offre des similitudes avec le
mode Feuille de donnes (qui permet galement de visualiser en
ligne les enregistrements dune table), le formulaire gnr ici est
bien plus paramtrable. Il est en effet possible daccder aux
proprits des objets qui le composent (afin, par exemple, dy
changer les couleurs ou les polices de caractres utilises). Le
formulaire est affich en mode Page.

Figure 6.10 : Un formulaire


gnr avec le menu
Plusieurs lments du
bouton Plus de formulaires

388

6. Amliorer la saisie

Le bouton Plus de formulaires puis Formulaire double affichage.


Cette nouvelle fonctionnalit dAccess permet de visualiser simultanment les donnes dans un formulaire identique celui gnr
lorsque le bouton Formulaire est utilis ainsi que dans une feuille
de donnes. Les donnes sont modifiables dans les deux parties
de lcran. Le formulaire est affich en mode Page.

Figure 6.11 : Un formulaire gnr avec le menu Formulaire double affichage du bouton Plus de
formulaires

Le bouton Plus de formulaires puis Feuille de donnes affiche les


donnes en mode Feuille de donnes.

Figure 6.12 : Un formulaire


gnr avec le menu Feuille
de donnes du bouton Plus
de formulaires

6.3. Crer des formulaires simples

389

Le bouton Plus de formulaires puis Tableau crois dynamique affiche


le formulaire en mode Tableau crois dynamique (cette fonctionnalit ne peut tre exploite quavec certains types de donnes).

Figure 6.13 : Le menu


Tableau crois dynamique
du bouton Plus de
formulaires

Le bouton Plus de formulaires puis Graphique crois dynamique


affiche le formulaire en mode Graphique crois dynamique (cette
fonctionnalit ne peut tre exploite quavec certains types de
donnes).

Crer un formulaire en mode Cration


Ne vous laissez pas abuser par lapparente simplicit avec laquelle le
premier formulaire a t cr. Un formulaire doit, dans la plupart des
cas, tre ralis manuellement, cest--dire partir dun formulaire
vierge, et des objets appels "contrles" doivent y tre ajouts.
1 Cliquez sur longlet Crer puis sur le bouton Cration de formulaire
du groupe Formulaires.
Le mode Cration du formulaire se caractrise par laffichage dun
onglet vierge intitul Formulaire1 et affichant une zone appele Dtail.
(voir Figure 6.14)
La premire tape consiste affecter la source de donnes au formulaire vierge depuis le volet des proprits du formulaire.

390

6. Amliorer la saisie

Figure 6.14 : Le formulaire en mode Cration

Source de donnes
Comme son nom lindique, la source de donnes reprsente lorigine des
donnes (une table ou une requte) qui seront affiches dans le formulaire.

2 Pour afficher le volet des proprits du formulaire, cliquez sur le


bouton Feuille des proprits du groupe Outils de longlet Outils de
cration de formulaire/Cration ou utilisez la combinaison des touches [Alt]+[].
Le volet des proprits du formulaire saffiche.

6.3. Crer des formulaires simples

391

Figure 6.15 : Le volet des proprits du formulaire saffiche, en mode Cration, droite du formulaire

Laffichage des proprits du formulaire dans le volet Feuille de proprits


Vrifiez que Formulaire est choisi dans la liste Type de slection propose
en haut du volet Feuille de proprits afin de pouvoir diter les proprits du
formulaire et non celles dun autre objet.

Figure 6.16 : Le choix de


lobjet dont les proprits
sont dites

3 Dans le volet des proprits du formulaire, choisissez longlet


Donnes puis slectionnez une table ou une requte dans la liste
propose de la ligne Source.
La proprit Source contient la source du formulaire. Dans lillustration suivante, la table Disques est la source du formulaire.

Figure 6.17 : Laffectation


dune source de donnes au
formulaire

392

6. Amliorer la saisie

Le formulaire est, pour linstant, vierge. Le mode opratoire qui suit


montre comment crer rapidement des zones de texte et les tiquettes informatives qui les accompagnent.
4 Cliquez sur le bouton Ajouter des champs existants du groupe
Outils de longlet Outils de cration de formulaire/Cration.
Le volet Liste de champs saffiche. Il prsente la liste des champs qui
dpend de la "source du formulaire" choisie prcdemment.
5 Slectionnez tous les champs de la zone Champs disponibles pour
cette vue du volet Liste des champs. Pour cela, placez-vous sur le
premier champ, maintenez la touche [Maj] enfonce et cliquez sur le
dernier champ. Maintenez le bouton de la souris enfonc et glissez
votre slection dans la zone Dtail du formulaire.

Figure 6.18 : Tous les champs de la table sont glisss dans le formulaire depuis le volet Liste de
champs

Lillustration qui suit montre le rsultat obtenu.

Figure 6.19 : Une zone de


texte et une tiquette ont
t cres dans le
formulaire pour chaque
champ de la table source

6.3. Crer des formulaires simples

393

Les champs sont affichs dans des objets, appels "contrles", chacun accompagn dune tiquette.
Lobjet Etiquette est plac gauche dune zone de texte qui affiche la
valeur dun champ. Ltiquette informe lutilisateur de ce quil doit
saisir dans la zone. Les tiquettes utilisent par dfaut les valeurs des
proprits Lgende des champs, dfinies dans la structure de la table
utilise. Si une lgende na pas t dfinie, le nom du champ est
utilis.
Les zones de texte, quant elles, ont pour mission dafficher les
valeurs renfermes dans les champs de la table qui ont t glisss
prcdemment dans le formulaire. Vous pouvez vous en assurer en
double-cliquant sur lune des zones de texte. Son volet des proprits saffiche. La proprit Source contrle, visible sous longlet
Donnes de la fentre, spcifie le nom du champ utilis.

Figure 6.20 : La proprit Source contrle de la zone de texte

ce stade, le formulaire peut tre consult en mode Formulaire.


6

Cliquez sur le bouton Affichage de longlet Outils de


cration de formulaire/Cration.

Figure 6.21 : Le formulaire


est affich en mode
Formulaire

394

6. Amliorer la saisie

Les listes de choix


Si vous avez dfini une liste de choix pour un champ lors de la cration de
la table, une zone de liste est cre automatiquement lorsque vous glissez le
champ dans le formulaire.

Crer un formulaire vierge


Une dernire mthode de cration dun formulaire, nomme "formulaire vierge", est propose par Access lorsque le nombre de champs
utiliss est peu important. Procdez ainsi :
1

Sous longlet Crer, dans le groupe Formulaires, cliquez


sur le bouton Formulaire vierge.

Access ouvre un formulaire vide en mode Page et affiche le volet


Liste de champs.
2 Dans le volet Liste de champs, cliquez sur le lien Afficher tous les
tableaux si aucune table ny est affiche.
3 Dans le volet Liste de champs, cliquez sur le signe +, gauche du
nom de la table de votre choix, afin dafficher les champs quelle
renferme.
4 Double-cliquez sur le champ insrer dans le formulaire ou
glissez-le dans ce dernier.

Figure 6.22 : Linsertion de zones de texte dans le formulaire vierge depuis le volet Liste de champs

Manipuler des donnes dans un formulaire


Le mode Formulaire met votre disposition tous les outils ncessaires des manipulations efficaces des donnes de la table, telles que
les dplacements, les suppressions, les ajouts ou encore les modifications denregistrements.

Ouvrir un formulaire en mode Formulaire


Pour afficher un formulaire en mode Formulaire, utilisez lune des
mthodes suivantes :
6.3. Crer des formulaires simples

395

Dans la liste des objets du volet de navigation de la base de


donnes, double-cliquez sur le formulaire ou cliquez du bouton
droit sur celui-ci et choisissez Ouvrir dans le menu contextuel qui
apparat.

Si le formulaire est ouvert en mode Cration, cliquez sur


le bouton Affichage de longlet Outils de cration de
formulaire/Cration.

Si le formulaire est ouvert en mode Cration, cliquez du bouton


droit sur le nom de longlet du formulaire puis choisissez Mode
Formulaire dans le menu contextuel qui apparat.

Si le formulaire est ouvert en mode Cration, vous pouvez galement cliquer sur le bouton Mode Formulaire prsent en bas et
droite de la fentre dAccess, dans la Barre dtat.

Figure 6.23 : Le bouton Mode Formulaire

Voici les objets les plus significatifs utiliss par les formulaires :
j

Les tiquettes : ces zones donnent des indications lutilisateur.


Dans lillustration suivante, certaines (comme Thme musical) sont
les lgendes des champs dfinies dans la structure de la table
utilise qui sont reprises, dautres reprennent le nom des champs
(comme nodisque).

Les zones de texte : elles servent afficher, entrer ou modifier


des donnes.
Les listes droulantes : elles sont utilises pour faciliter la saisie
des donnes grce un choix parmi une liste dlments.
Les boutons de navigation : ils autorisent des dplacements entre
les enregistrements de la table.
Le bouton Nouvel enregistrement : il permet dajouter des enregistrements.
La zone Rechercher : cette zone permet de saisir des donnes afin
de les rechercher dans les champs des enregistrements (voir Figure 6.24).

Quitter le mode Formulaire


Pour quitter ce mode, cliquez sur le bouton Fermer symbolis par une
croix en haut et droite de longlet affichant le nom du formulaire ou cliquez

396

6. Amliorer la saisie

du bouton droit sur le nom de cet onglet puis choisissez Fermer dans le
menu contextuel qui apparat. Vous pouvez galement utiliser les combinaisons de touches [Ctrl]+[W] ou [Ctrl]+[F4].

Figure 6.24 : Les principaux composants dun formulaire en mode Formulaire

Ajouter un enregistrement
Vous allez apprendre ici ajouter un enregistrement dans un formulaire ouvert en mode Formulaire. Procdez ainsi :
1 Cliquez sur le bouton Nouvel enregistrement (vide), droite des
boutons de dplacement (encore appels "boutons de navigation"),
en bas de longlet du mode Formulaire.

Figure 6.25 : Le bouton Nouvel enregistrement


(vide)

Vous pouvez aussi cliquer sur le bouton Nouveau du groupe Enregistrements de longlet Accueil ou utiliser la combinaison de touches
[Ctrl]+[+].

Figure 6.26 : Le bouton Nouveau du groupe


Enregistrements

Les zones de saisie prsentes dans le formulaire sont vierges. Vous


pouvez y saisir des donnes qui seront stockes dans la table utilise
par le formulaire.

6.3. Crer des formulaires simples

397

Figure 6.27 : Lajout dun enregistrement depuis le mode Formulaire

Les zones de saisie dj remplies


Des zones de saisie prsentes dans le formulaire peuvent ne pas tre
vides, notamment lorsque le type de donnes est NumroAuto et lorsquune
valeur par dfaut, un masque ou un format sont dfinis.

2 Pour passer la zone de saisie suivante, utilisez la souris, la touche


[] ou la touche [].
3 Pour passer lenregistrement suivant depuis la dernire zone de
saisie, utilisez la touche [] ou la touche [].
Lenregistrement saisi est alors enregistr automatiquement lors du
passage lenregistrement suivant.

Ajouter un enregistrement dans un formulaire du type Plusieurs lments ou


Feuille de donnes
Si un affichage du type Plusieurs lments ou Feuille de donnes est utilis
dans le formulaire, lajout dun enregistrement peut galement tre effectu
par la saisie dans les cellules de la dernire ligne, laisse vide.

Modifier des donnes


Pour modifier les donnes dune zone de saisie en mode Formulaire,
cliquez dans la zone de saisie que vous souhaitez modifier, puis
effectuez la modification des donnes.

398

6. Amliorer la saisie

Un symbole, reprsentant un crayon, est affich au dbut de la ligne


de lenregistrement en cours de modification.

Figure 6.28 : La modification dun


enregistrement

Annuler des modifications dans la zone de saisie


Pour annuler des modifications effectues dans la zone de saisie, alors que
ces modifications nont pas encore t valides par un dplacement ou par
lemploi de la touche [], utilisez la touche [chap].

Gagner du temps la saisie en utilisant les donnes de lenregistrement


prcdent
Lors de lajout ou de la modification dune zone de saisie, il est possible de
reprendre les donnes qui sont contenues dans le mme champ de lenregistrement prcdent en utilisant la combinaison des touches [Ctrl]+['] (apostrophe).

Forcer lenregistrement dune zone de saisie


Lajout ou la modification de donnes dans la zone de
saisie sont effectives uniquement lorsque le point dinsertion est dplac sur une autre zone de saisie ou lorsque le formulaire est
ferm. Pour enregistrer les donnes des zones en cours de saisie ou de
modification sans avoir recours aux actions qui prcdent, cliquez sur le
bouton Enregistrer du groupe Enregistrements de longlet Accueil ou
utilisez la combinaison des touches [Maj]+[]. Il nest plus possible alors
dannuler la saisie ou la modification par la touche [chap].

6.3. Crer des formulaires simples

399

Se dplacer dans les enregistrements au moyen


des boutons de dplacement
Vous pouvez vous dplacer entre les enregistrements affichs dans
un formulaire en mode Formulaire.
Les boutons de dplacement sont regroups dans la barre de navigation, au bas de longlet du formulaire. Leur fonction est de permettre des dplacements faciles entre les enregistrements de la table.

Figure 6.29 : Les boutons


de navigation

Ces boutons et la zone daffichage qui les accompagne permettent


respectivement les oprations suivantes :
j

le dplacement sur le premier enregistrement de la table ;

le dplacement sur lenregistrement prcdant lenregistrement


en cours ;
laffichage du numro denregistrement en cours ;
laffichage du nombre denregistrements ;
le dplacement sur lenregistrement suivant lenregistrement en
cours ;
le dplacement sur le dernier enregistrement de la table ;
la cration dun nouvel enregistrement.

j
j
j

j
j

Atteindre un enregistrement
Pour atteindre un enregistrement, cliquez dans la zone daffichage du
numro denregistrement en cours.

Se dplacer au moyen des menus


Le bouton Atteindre du groupe Rechercher de longlet Accueil propose
des fonctionnalits analogues celles des boutons de la Barre de navigation
(Premier, Dernier, Suivant, Prcdent, Nouveau).

400

6. Amliorer la saisie

Figure 6.30 : Le bouton Atteindre du groupe Rechercher

Supprimer un enregistrement
Le formulaire peut galement tre employ pour supprimer un enregistrement dans la table quil utilise.
Pour supprimer un enregistrement de la table, en mode Formulaire,
utilisez la mthode suivante.
1 Affichez lenregistrement supprimer et cliquez sur son slecteur
plac gauche.
2 Cliquez sur le bouton Supprimer du groupe Enregistrements de
longlet Accueil.

Figure 6.31 : Le bouton Supprimer du groupe Enregistrements

Access affiche une bote de dialogue dans laquelle il vous est demand de confirmer la suppression de lenregistrement.
3 Confirmez cette opration en cliquant sur le bouton Oui de la bote
de dialogue.

6.3. Crer des formulaires simples

401

Access affiche les donnes de lenregistrement suivant. Si vous supprimez le dernier enregistrement, les zones de saisie vides dun
nouvel enregistrement sont affiches.

Supprimer rapidement un enregistrement


Slectionnez lenregistrement en cliquant sur son slecteur plac gauche, puis appuyez sur la touche [Suppr] du clavier.

Supprimer plusieurs enregistrements conscutifs


Vous pouvez supprimer plusieurs enregistrements conscutifs dans un
formulaire utilisant un affichage de type Plusieurs lments ou Feuille de
donnes. Vous ralisez cette suppression en une seule opration lorsque ce
type de formulaire est employ. Slectionnez pour cela le groupe de lignes
supprimer au moyen des slecteurs de lignes placs gauche, puis appuyez
sur la touche [Suppr] du clavier.

Supprimer des donnes dans des tables en relation


La suppression de donnes dans lune des tables ne doit pas tre effectue
intempestivement, sous peine de briser la cohrence des informations renfermes dans la base de donnes. Lintgrit rfrentielle, si elle a t applique, protge la base de donnes contre des suppressions non autorises.

Rechercher, remplacer, trier et filtrer des donnes


Les techniques employes sont identiques celles utilises dans le
mode Feuille de donnes employ pour afficher les donnes des
tables. Pensez utiliser les boutons des groupes Trier et filtrer et
Rechercher de longlet Accueil du mode Formulaire.
Reportez-vous pour cela au chapitre 2 Manipuler les donnes.

Figure 6.32 : Les groupes Trier et filtrer et Rechercher proposent des boutons permettant deffectuer
des actions de recherche, de remplacement, de tri et de filtrage

402

6. Amliorer la saisie

Modifier les objets du formulaire en mode


Cration
Un formulaire peut tre personnalis en mode Cration.

Afficher la structure dun formulaire


Cette section dtaille les lments de linterface du mode Cration de
formulaire. Plusieurs techniques soffrent vous pour ouvrir un
formulaire dans ce mode :
j

Dans la liste des objets du volet de navigation de la base de


donnes, cliquez du bouton droit sur le nom dun formulaire et
choisissez Mode Cration dans le menu contextuel qui apparat.

Si le formulaire est ouvert en mode Formulaire ou en mode Page,


cliquez sur la flche du bouton Affichage de longlet Outils de
cration de formulaire/Cration puis choisissez Mode Cration dans
le menu qui saffiche.

Figure 6.33 : Le bouton Affichage permet douvrir un formulaire en


mode Cration
j

Si le formulaire est ouvert en mode Formulaire ou en mode Page,


cliquez du bouton droit sur le nom de longlet du formulaire.
Choisissez Mode Cration dans le menu contextuel qui apparat.
Si le formulaire est ouvert en mode Formulaire ou en mode Page,
vous pouvez galement cliquer sur le bouton Mode Cration prsent en bas et droite de la fentre dAccess, dans la Barre dtat.

Figure 6.34 : Le bouton Mode Cration

Linterface du mode Cration se compose principalement :


j

de sections (dtail, en-tte et pied de formulaire, en-tte et pied de


page) ;

6.3. Crer des formulaires simples

403

j
j
j

de contrles (tiquettes, zones de texte, listes droulantes, cases


cocher, etc.) ;
de rgles (horizontale et verticale) ;
du volet des proprits ;
des onglets Outils de cration de formulaire/Cration et Outils de
cration de formulaire/Organiser.

Figure 6.35 : Les principaux composants de la structure dun formulaire

Figure 6.36 : Linterface du mode Cration

Utiliser les sections du formulaire


Un formulaire se compose de cinq sections dont la principale est
Dtail. Elle est affiche la cration dun formulaire, en mode Cration.
j

404

La section Dtail permet dafficher des contrles tels que des


tiquettes, des zones de texte ou encore des listes droulantes.
Elle ne peut pas tre supprime. Cette section est gnralement
rserve laffichage des donnes des tables et des requtes.

6. Amliorer la saisie

La section En-tte de formulaire apparat dans la partie suprieure


du formulaire. Elle est gnralement rserve laffichage dinformations communes aux donnes prsentes, comme le titre du
formulaire.
La section Pied de formulaire apparat dans la partie infrieure du
formulaire. Comme la prcdente, elle est gnralement rserve
laffichage dinformations ou de boutons dont lusage est fait
pour lensemble des donnes prsentes, comme des boutons ou
des commentaires utiles pour lutilisation du formulaire.

Pour afficher ou masquer les sections En-tte de formulaire et Pied de


formulaire, suivez la procdure dcrite ci-aprs.
1 Affichez le formulaire en mode Cration.
2 Cliquez du bouton droit dans la zone Dtail et choisissez
En-tte/pied de formulaire dans le menu contextuel qui apparat.

Figure 6.37 : Laffichage de


lentte et du pied de
formulaire

Masquer seulement une section en mode Formulaire


Pour masquer une section en mode Formulaire, cliquez sur la section
masquer et affichez le volet des proprits en utilisant le bouton Feuille des
proprits du groupe Crer de longlet Outils de cration de formulaire
/Cration. Choisissez Non la proprit Visible. Ainsi, la section choisie reste
affiche en mode Cration mais elle est masque en mode Formulaire.

6.3. Crer des formulaires simples

405

Figure 6.38 : Len-tte du


formulaire sera masqu
en mode Formulaire

La section En-tte de page renferme les objets placs dans la partie


suprieure du formulaire et qui sont visibles uniquement lorsque
le formulaire est imprim.

La section Pied de page renferme les objets placs dans la partie


infrieure du formulaire (la date par exemple) et qui, comme dans
la section prcdente, sont visibles uniquement lorsque le formulaire est imprim.

Les sections En-tte de page et Pied de page sont rptes sur chaque
page imprime.
Pour afficher ou masquer les sections En-tte de page et Pied de page,
procdez comme suit.
1 Affichez le formulaire en mode Cration.
2 Cliquez du bouton droit dans la zone Dtail et choisissez En-tte et
pied de page dans le menu contextuel qui apparat.

Dfinir les proprits du formulaire


Lors de la cration du formulaire, Access a renseign certaines
proprits de lobjet Formulaire. Celles-ci peuvent videmment tre
modifies.
Pour afficher le volet des proprits de lobjet Formulaire, utilisez
lune des mthodes suivantes :
j

Cliquez, dans longlet du formulaire, en dehors dune section du


formulaire puis sur le bouton Feuille des proprits du groupe
Outils de longlet Outils de cration de formulaire/Cration ou utilisez la combinaison des touches [Alt]+[].

Cliquez du bouton droit, dans longlet du formulaire, en dehors


dune section du formulaire puis choisissez Proprits du
formulaire dans le menu contextuel qui apparat.
Double-cliquez sur le Slecteur de formulaire.

406

6. Amliorer la saisie

La slection de lobjet Formulaire


Pour slectionner le formulaire, cliquez sur le slecteur de formulaire,
symbolis par un petit carr dans langle suprieur gauche dun formulaire
lorsque celui-ci est affich en mode Cration.

Figure 6.39 : Le slecteur de formulaire

Le volet Feuille de proprits du formulaire saffiche.


Lobjet Formulaire est slectionn dans la liste Type de slection du
volet des proprits. Cette liste rpertorie tous les objets du formulaire, classs par catgories.
Voici quelques proprits significatives du formulaire.

La source du formulaire
Une des proprits les plus importantes est certainement la source
de donnes du formulaire.
1 Cliquez sur longlet Donnes du volet des proprits.
La proprit Source spcifie la source des donnes du formulaire,
cest--dire une table ou une requte. Cette proprit peut tre renseigne par un nom de table, un nom de requte ou une instruction
SQL.

Figure 6.40 : La proprit Source du formulaire

6.3. Crer des formulaires simples

407

La manipulation qui suit va vous permettre de consulter les champs


renferms dans la source de donnes.
2 Cliquez sur le bouton Ajouter des champs existants du groupe
Outils de longlet Outils de cration de formulaire/Cration ou utilisez la combinaison des touches [Alt]+[F8].
Ce volet rpertorie tous les champs de la table ou de la requte
mentionne la proprit Source.

Ajouter des champs


La fonctionnalit Ajouter des champs existants permet dajouter des
champs en provenance de la source de donnes (proposs dans la zone
Champs disponibles pour cette vue) et des champs issus dautres sources,
proposs dans les zones Champs disponibles dans les tables associes et
Champs disponibles dans les autres tables (si ces deux zones ne sont pas
affiches, cliquez sur le lien Afficher tous les tableaux, en bas du volet Liste de
champs). Tous les champs proposs peuvent tre glisss dans le formulaire,
que les relations entre les tables soient cres ou non (dans ce dernier cas, les
relations temporaires peuvent tre dfinies). Access modifie alors la proprit Source du formulaire en y crant une requte adapte.
Notez galement que des raccourcis vers les tables sont proposs depuis le
volet Liste de champs vers le mode Feuille de donnes par les liens Modifier
la table affichs droite des noms des tables.

La mise en forme de lobjet formulaire


Vous pouvez affecter lapparence du formulaire trs aisment en
utilisant diffrents boutons.
1 Affichez le formulaire en mode Cration.
2 Utilisez les boutons Thmes, Couleurs et Polices proposs dans le
groupe Thmes de longlet Outils de cration de formulaire
/Organiser.

Figure 6.41 : Les boutons du groupe Thmes

Insrer une image larrire-plan du formulaire


La proprit Image permet de dfinir une image comme arrire-plan
dans un formulaire. Procdez ainsi :
1 Affichez les proprits du formulaire en mode Cration.

408

6. Amliorer la saisie

2 Sous longlet Format, dans le volet des proprits du formulaire,


cliquez dans la zone de saisie de la proprit Image, puis sur les
trois points en bout de ligne.
La bote de dialogue Insrer une image saffiche.
3 Choisissez ventuellement le format du fichier image dans la liste
Type de fichier. Slectionnez le fichier. Cliquez sur le bouton OK.

Figure 6.42 : La proprit Image permet dinsrer une image darrire-plan dans le formulaire

Dans le volet des proprits, il est possible de spcifier si limage est


intgre dans le formulaire ou attache.

Image intgre ou attache


Si limage est attache (ou encore lie), elle nest pas enregistre dans le
formulaire Access mais stocke sur lordinateur en tant que fichier indpendant.
Dans le cas contraire, on parle dimage intgre (ou encore incorpore).

4 Sous longlet Format dans le volet des proprits du formulaire,


choisissez lune des deux valeurs de la proprit Type image :
Loption par dfaut Intgr signifie que limage est insre dans
le formulaire.
Loption Attach signifie que limage est lie au formulaire. Dans
ce cas, une modification de limage au moyen dun logiciel
spcifique changera galement lapparence de cette dernire
dans le formulaire.

Changer la couleur darrire-plan du formulaire


Larrire-plan du formulaire peut galement utiliser une couleur simple. Vous allez par exemple appliquer une couleur de fond unie au
formulaire.
6.3. Crer des formulaires simples

409

1 Affichez les proprits du formulaire en mode Cration.


La couleur de fond nest pas spcifique au formulaire mais elle est
dfinie pour chacune de ses sections.
2 Pour modifier la couleur de larrire-plan, double-cliquez dans la
section Dtail.
Les proprits de la section saffichent dans le volet des proprits.
3 Cliquez sur longlet Format puis dans la zone de saisie de la
proprit Couleur de fond. Pour dfinir la couleur, cliquez sur la
flche droite de la proprit Couleur de fond afin de choisir une
couleur prdfinie issue dun thme ou dun format automatique.
4 Si vous souhaitez choisir lune des couleurs proposes dans le
nuancier de couleurs, cliquez sur le Gnrateur de couleurs symbolis par les points droite de la proprit Couleur de fond.
Cliquez sur une couleur propose dans le nuancier.

Figure 6.43 : Le choix de la couleur seffectue dans le nuancier

Si aucune des couleurs proposes dans le nuancier ne vous


convient, le bouton Autres couleurs, prsent en bas de la liste d-

410

6. Amliorer la saisie

roulante ouverte par le Gnrateur de couleurs permet daccder la


bote de dialogue Couleurs.
Dans le volet des proprits de la section Dtail, la proprit Couleur
fond contient alors la nouvelle couleur (traduite par une valeur numrique).

Codage des couleurs


Le codage des couleurs est exprim par une valeur du type #FFFFFF. Il
sagit dun codage en hexadcimal (en base 16) de chacune des valeurs des
couleurs primaires utilises en mode RVB : le rouge, le vert et le bleu.
Chacune de ces trois couleurs est code sur deux chiffres par une valeur
pouvant varier entre 0 et 255 (FF en hexadcimal).
Ainsi, par exemple, la couleur #0007FF, qui correspond un bleu, est compose
dune valeur de 0 (00 en hexadcimal) de rouge, dune valeur de 127 (7F en
hexadcimal) de vert et dune valeur de 255 (FF en hexadcimal) de bleu.

5 Validez en utilisant la touche [].

Enlever une image darrire-plan


Si larrire-plan du formulaire contient une image, celle-ci masque la
couleur de fond de la section dtail. Pour afficher cette couleur, vous devez
retirer limage dont le nom est stock dans la proprit Image sous longlet
Format dans le volet des proprits du formulaire.

Utiliser les contrles


Les contrles sont couramment utiliss dans les formulaires, principalement pour afficher des informations stockes dans les tables ou
dans les requtes.
On distingue trois familles de contrles : les contrles dpendants,
les contrles indpendants et les contrles calculs.
j

Les contrles indpendants sont utiliss pour afficher des textes


informatifs, tels que des tiquettes, non enregistrs dans les tables
de la base de donnes. On compte galement dans cette catgorie
les traits, les images ou les rectangles.

Les contrles dpendants, linverse, utilisent les informations


renfermes dans les champs des tables ou des requtes. Ce sont
notamment les zones de texte, les listes droulantes et les cases
cocher.

6.3. Crer des formulaires simples

411

Les contrles calculs ont recours aux expressions comme sources de donnes, utilisant par exemple des champs de tables ou de
requtes, des contrles de formulaires ou encore dtats.

Les boutons du groupe Contrles de longlet Outils de cration de


formulaire/Cration autorisent une insertion facile des contrles du
formulaire. Un survol de ces boutons au moyen du pointeur de la
souris fait apparatre leurs noms.

Figure 6.44 : Les boutons du groupe Contrles de longlet Outils de cration de formulaire/Cration

1 Cliquez sur lun des boutons du groupe Contrles.


2 Cliquez dans le formulaire, lendroit o vous souhaitez insrer le
contrle, et tracez une zone qui dterminera sa taille au contrle.
Les sections suivantes prsentent diffrentes insertions de contrles
dans les formulaires.

Insrer un contrle indpendant


Les contrles indpendants sont utiliss pour afficher des titres ou
des instructions fixes. En voici un exemple dutilisation.
1 Cliquez sur le bouton Etiquette du groupe Contrles de longlet
Outils de cration de formulaire/Cration puis cliquez dans le formulaire.
2 Saisissez le texte qui sera affich dans ltiquette, puis validez avec
la touche [].
La taille du contrle est ajuste celle de son contenu.

Figure 6.45 : Lajout dune tiquette

412

6. Amliorer la saisie

Dfinir manuellement la taille du contrle


Pour dfinir manuellement la taille dun contrle sa cration, cliquez sur
le bouton correspondant, cliquez dans le formulaire, puis, tout en maintenant
le bouton de la souris enfonc, augmentez ou diminuez la taille de lobjet en
agissant sur sa bordure jusqu obtenir la dimension souhaite.

Insrer un contrle dpendant


Les contrles dpendants sont utiliss pour afficher des donnes
puises dans les tables et les requtes. Dans cet exemple dutilisation dune zone de texte, plusieurs mthodes sont possibles.
j

Affichez la liste de champs en cliquant sur le bouton Ajouter des


champs existants du groupe Outils de longlet Outils de cration de
formulaire/Cration. Slectionnez un ou plusieurs champs puis
glissez-les dans le formulaire. Des zones de texte associes une
tiquette sont alors affiches dans le formulaire.

Cliquez sur le bouton Zone de texte du groupe Contrles de longlet


Outils de cration de formulaire/Cration puis dans une section du
formulaire. ce stade, la zone de texte est un contrle indpendant puisquelle na pas de valeur afficher. Affichez les proprits
du contrle ajout en double-cliquant sur ce dernier puis cliquez
dans la proprit Source contrle dans le volet Feuille de proprits
et choisissez le champ utiliser comme source de lobjet. Modifiez
ventuellement le texte de son tiquette en cliquant dans son
texte.

Figure 6.46 : Laffectation de la source du contrle

Insrer un contrle calcul


Les contrles calculs affichent le rsultat dune expression. Voici un
exemple dutilisation de lun dentre eux.

6.3. Crer des formulaires simples

413

1 Cliquez sur le bouton Zone de texte du groupe Contrles de longlet


Outils de cration de formulaire/Cration puis dans une section du
formulaire.
ce stade, la zone de texte associe son tiquette est un contrle
indpendant puisquelle na pas de valeur afficher.
2 Cliquez dans la zone de texte, puis saisissez lexpression en la
faisant prcder du caractre = ou affichez les proprits de la zone
de texte (en double-cliquant sur cette dernire). Cliquez dans la
proprit Source contrle dans le volet Feuille de proprits et
saisissez lexpression en la faisant prcder du caractre =.
Autre mthode : affichez les proprits de la zone de texte, puis
cliquez sur les trois points de la zone de saisie de la proprit Source
contrle pour afficher le Gnrateur dexpression et y composer la
formule.

Figure 6.47 : Le Gnrateur dexpression

Supprimer un contrle et son tiquette


Si vous supprimez un contrle auquel une tiquette est attache, les deux
objets sont supprims. Pour supprimer uniquement ltiquette, cliquez sur
celle-ci afin de la slectionner avant dappuyer sur la touche [Suppr].

414

6. Amliorer la saisie

Les proprits dun contrle


Bien dautres proprits, caractrisant un contrle, peuvent tre modifies. Cliquez sur le contrle pour le slectionner puis utilisez lune
des mthodes suivantes afin dafficher le volet Feuille de proprits
de lobjet.
j

Cliquez sur le bouton Feuille des proprits du groupe Outils de


longlet Outils de cration de formulaire/Cration.

Cliquez du bouton droit sur le contrle. Choisissez Proprits dans


le menu contextuel qui apparat.

Afficher rapidement les proprits dun objet du formulaire


Pour afficher le volet Feuille de proprits dun objet du formulaire,
double-cliquez sur lobjet.

Slectionner un contrle
1

Cliquez sur le bouton Slectionner du groupe Contrles de


longlet Outils de cration de formulaire/Cration.

2 Cliquez sur un contrle dans le formulaire.


Access affiche la poigne de dplacement du contrle, symbolise
par un carr dans langle suprieur gauche, et les poignes de
redimensionnement, reprsentes galement par des carrs sur les
bordures du contrle.

Figure 6.48 : La slection dun contrle

3 Pour slectionner plusieurs contrles, maintenez la touche [Maj]


enfonce, puis cliquez sur chaque contrle.
4 Pour slectionner plusieurs contrles contigus, cliquez lextrieur dun contrle, puis dimensionnez le rectangle de slection
qui apparat en maintenant le bouton de la souris enfonc afin
denglober les contrles slectionner.

6.3. Crer des formulaires simples

415

La slection dune tiquette et de son contrle associ


Si une tiquette attache au contrle est slectionne, les poignes de
dplacement des deux contrles sont affiches ainsi que les poignes de
redimensionnement du contrle sur lequel on a cliqu. En cas de dplacement, ils sont dplacs simultanment.

Dplacer un contrle
1 Cliquez sur le contrle dplacer.
2 Placez le pointeur sur la poigne de dplacement du contrle.
Lorsquil prend lapparence dune croix flche, maintenez le bouton de la souris enfonc et glissez-le lendroit voulu.
Figure 6.49 : Le dplacement dun contrle avec
la poigne de dplacement

3 Pour dplacer plusieurs contrles, slectionnez-les puis placez le


pointeur de la souris sur la slection. Lorsque le pointeur prend
lapparence dune croix, cliquez, maintenez le bouton de la souris
enfonc et glissez la slection lendroit dsir.

Redimensionner un contrle
1 Cliquez sur le contrle redimensionner.
2 Cliquez sur une des poignes de redimensionnement du contrle
slectionn, puis tirez ou rduisez sa taille jusqu obtenir la
dimension souhaite.
Le pointeur prend lapparence dune double flche pendant le redimensionnement.

tre plus prcis


Afin dobtenir plus de prcision, utilisez les proprits Largeur et Hauteur
sous longlet Format du volet Feuille de proprits du contrle.

Figure 6.50 : Les proprits


Largeur et Hauteur

416

6. Amliorer la saisie

Si plusieurs contrles ont t slectionns, le redimensionnement


sapplique tous les contrles de la slection.

Petites modifications de la taille dun contrle


Pour procder des diminutions ou des augmentations trs limites de la
taille dun contrle, utilisez la combinaison [Maj]+une des touches de direction.
Le redimensionnement sera beaucoup plus prcis.

Ajuster la taille dun contrle


1 Slectionnez les contrles redimensionner.
2 Cliquez sur longlet Outils de cration de formulaire/Organiser puis
cliquez sur le bouton Taille/Espace du groupe Redimensionnement
et classement et choisissez, la rubrique Taille de la liste qui
apparat, lune des actions dcrites ci-aprs :
Ajuster au contenu permet doptimiser la taille dun contrle en
fonction de son contenu.
Ajuster au plus grand permet daugmenter la hauteur des contr-

les de telle sorte que celle du plus grand soit applique tous
les objets.

Figure 6.51 : Les actions dajustement proposes

Ajuster au plus petit permet de diminuer la hauteur des contrles de telle sorte que celle du plus petit soit applique tous les
objets.
Ajuster au plus large permet daugmenter la largeur des contrles de telle sorte que celle du plus large soit applique tous les
objets.
Ajuster au plus troit permet de diminuer la largeur des contrles de telle sorte que celle du plus troit soit applique tous les
objets.

6.3. Crer des formulaires simples

417

Vous pouvez galement cliquer du bouton droit sur la slection,


choisir Taille puis lune des commandes dans le menu contextuel qui
apparat.

Aligner un contrle par rapport un autre


1 Slectionnez les contrles concerns.
2 Cliquez sur longlet Outils de cration de formulaire/Organiser puis
cliquez sur le bouton Aligner du groupe Redimensionnement et
classement et choisissez lune des actions dcrites ci-aprs :
Aligner gauche permet daligner les bords gauches des contrles slectionns sur le bord gauche du contrle le plus gauche.

Figure 6.52 : Les actions dalignement proposs

Aligner Droite permet daligner les bords droits des contrles


slectionns sur le bord droit du contrle le plus droite.
Aligner en haut permet daligner les bords suprieurs des
contrles slectionns sur le bord suprieur du contrle le plus
haut.
Aligner en bas permet daligner les bords infrieurs des contrles slectionns sur le bord infrieur du contrle le plus bas.

Vous pouvez galement cliquer du bouton droit sur la slection,


choisir Aligner puis lune des commandes dans le menu contextuel
qui apparat.

Modifier lespacement entre les contrles


1 Slectionnez les contrles ajuster.
2 Cliquez sur longlet Outils de cration de formulaire/Organiser puis
cliquez sur le bouton Taille/Espace du groupe Redimensionnement
et classement et choisissez, la rubrique Espacement de la liste qui
apparat, lune des actions dcrites ci-aprs :
Egaliser lespacement horizontal et Egaliser lespacement vertical

permettent despacer les contrles de faon uniforme.

418

6. Amliorer la saisie

Figure 6.53 : Les actions


despacement proposes

Augmenter lespacement horizontal et Augmenter lespacement


vertical permettent daugmenter lespace entre les contrles.
Diminuer lespacement horizontal et Diminuer lespacement
vertical permettent de rduire lespace entre les contrles.

Modifier lordre de superposition des contrles


1 Slectionnez le contrle dont vous souhaitez modifier lordre de
superposition.
2 Cliquez sur longlet Outils de cration de formulaire/Organiser puis
sur le bouton Mettre au premier plan ou sur le bouton Mettre en
arrire-plan du groupe Redimensionnement et classement.

Figure 6.54 : Les boutons Mettre au premier plan et Mettre larrire plan

Grouper des contrles


1 Slectionnez les contrles grouper afin, par exemple, de faciliter
leurs dplacements.
2 Cliquez sur longlet Outils de cration de formulaire/Organiser puis
cliquez sur le bouton Taille/Espace du groupe Redimensionnement
et classement et choisissez Grouper la rubrique Regroupement de
la liste qui apparat.

6.3. Crer des formulaires simples

419

Figure 6.55 : Les actions de regroupement et de dissociation

Dissocier des contrles


1 Cliquez sur le groupe de contrles dissocier afin, par exemple, de
les dplacer individuellement.
2 Cliquez sur longlet Outils de cration de formulaire/Organiser puis
cliquez sur le bouton Taille/Espace du groupe Redimensionnement
et classement et choisissez Dissocier la rubrique Regroupement de
la liste qui apparat.

Mettre en forme des contrles


Police, taille de police, style, soulignement, alignement, bordure,
couleur : ces mises en forme des contrles du formulaire peuvent
aisment tre modifies. Pour cela :
1 Slectionnez le contrle mettre en forme.
2 Cliquez sur longlet Outils de cration de formulaire/Format puis
choisissez lune des commandes proposes dans le groupe Police.

420

6. Amliorer la saisie

Figure 6.56 : Les commandes proposes dans le


groupe Police

Recopier la mise en forme applique un contrle sur un autre


Pour reproduire la mise en forme applique sur un contrle vers un autre,
cliquez sur le contrle qui vous servira de modle, puis sur le bouton
Reproduire la mise en forme du groupe Police. Cliquez ensuite sur le contrle
sur lequel la mise en forme doit tre applique.
Si la mise en forme doit tre reproduite plusieurs fois, double-cliquez sur le
bouton Reproduire la mise en forme. Cliquez ensuite sur tous les contrles
pour lesquels la mise en forme doit tre applique. La fonctionnalit reste
active jusquau prochain clic sur le bouton Reproduire la mise en forme.

Mise en forme conditionnelle


Comme son nom lindique, la mise en forme conditionnelle permet
de modifier la mise en forme dun contrle en fonction dune condition. Par exemple, le texte affich dans une zone de texte apparatra
en rouge sil est infrieur zro et en vert dans le cas contraire.
1 Slectionnez une zone de texte dans le formulaire.
2 Cliquez sur longlet Outils de cration de formulaire/Format puis sur
le bouton Mise en forme conditionnelle du groupe Contrler la mise
en forme ou cliquez du bouton droit sur lobjet, puis choisissez
Mise en forme conditionnelle dans le menu contextuel qui apparat.
La bote de dialogue Gestionnaire de rgles de mise en forme
conditionnelle est affiche.
3 Cliquez sur le bouton Nouvelle rgle.

Figure 6.57 : Une rgle de


mise en forme va tre cre

6.3. Crer des formulaires simples

421

La bote de dialogue Nouvelle rgle de mise en forme est affiche.


4 Choisissez le type de rgle Vrifier les valeurs de lenregistrement
actif ou utiliser une expression.
5 Dfinissez la premire condition et la mise en forme appliquer
lorsque la condition est vraie puis cliquez sur le bouton OK.

Figure 6.58 : La dfinition de la premire rgle

6 De retour dans la bote de dialogue Gestionnaire de rgles de mise


en forme conditionnelle, ajoutez ventuellement dautres conditions au moyen du bouton Nouvelle rgle. Cliquez sur le bouton
OK.

Dupliquer la mise en forme conditionnelle dun contrle


Pour reproduire la mise en forme conditionnelle applique sur un contrle,
slectionnez le contrle dont vous souhaitez copier la mise en forme conditionnelle, cliquez sur le bouton Reproduire la mise en forme du groupe Police.
Cliquez ensuite sur le contrle vers lequel vous souhaitez copier la mise en
forme.

Ordre de tabulation
Lordre de tabulation est lordre de passage dun contrle un autre
lorsque la touche [] est utilise en mode Formulaire.
1

Cliquez sur longlet Outils de cration de formulaire


/Cration puis sur le bouton Ordre de tabulation du groupe
Outils.

La bote de dialogue Ordre de tabulation apparat. Lordre de tabulation y est dfini pour chaque section.

422

6. Amliorer la saisie

2 Dans la liste Section, slectionnez la section du formulaire dont


vous souhaitez dfinir lordre de tabulation des contrles.
La liste des contrles de la section saffiche dans la zone Ordre
personnalis.

3 Cliquez sur le slecteur du contrle (qui a la forme dun petit carr,


gauche du nom du contrle) puis dplacez-le parmi les lments
de la liste en le faisant glisser, si vous souhaitez modifier lordre de
tabulation des contrles.

Figure 6.59 : La personnalisation de lordre de tabulation des contrles de la section Dtail

4 Pour affecter aux contrles lordre de tabulation le plus logique, de


gauche droite et de haut en bas, cliquez sur le bouton Ordre
automatique de la bote de dialogue. Cliquez sur le bouton OK.

Supprimer un contrle de la liste de lordre de tabulation


Si vous souhaitez quun contrle soit supprim de la liste de lordre de
tabulation, slectionnez lobjet concern en mode Cration de formulaire,
puis affichez ses proprits dans le volet Feuille de proprits. Sur la liste de
proprits de longlet Autres de la bote de dialogue des proprits de lobjet,
dfinissez la valeur Non la proprit Arrt tabulation. Lorsque la touche []
est active en mode Formulaire, le contrle nest plus parcouru.

6.3. Crer des formulaires simples

423

Fermer et enregistrer un formulaire


Une fois la structure dun formulaire dfinie en mode Cration, le
travail doit tre mmoris par Access : le formulaire sera ferm et
enregistr.
1 Pour fermer longlet du formulaire, cliquez sur le bouton Fermer
symbolis par une croix dans langle suprieur droit de longlet ou
utilisez la combinaison de touches [Ctrl]+[F4].
Si le formulaire a t modifi depuis son prcdent enregistrement,
la bote de dialogue Microsoft Office Access apparat et vous demande
si vous souhaitez enregistrer le formulaire.
2 Cliquez sur le bouton Oui.
La bote de dialogue Enregistrer sous apparat, si le formulaire na pas
encore t enregistr. Dans le cas contraire, le formulaire est enregistr avec le nom qui lui a dj t affect et la bote de dialogue
Enregistrer sous napparat pas.
3 Si la bote de dialogue Enregistrer sous apparat, remplacez Formulaire1 par votre propre nom dans la zone Nom du formulaire puis
cliquez sur le bouton OK.

Enregistrer nouveau le formulaire


Pour enregistrer le formulaire avec le mme nom, sans le fermer, utilisez la
combinaison de touches [Ctrl]+[S] ou cliquez sur longlet Fichier puis choisissez
le menu Enregistrer.

6.4. Crer des formulaires imbriqus


Un formulaire principal est un formulaire qui contient au moins un
sous-formulaire. Un sous-formulaire est un formulaire contenu dans
un formulaire.

Crer un formulaire et un sous-formulaire


simultanment laide de lAssistant
Un sous-formulaire est un formulaire insr dans un autre formulaire. Il sera trs utile pour afficher le contenu dune table connexe
la table principale, dont les donnes sont, elles, affiches dans le
formulaire principal. Les liaisons entre le formulaire et les sousformulaires utilisent les relations tablies.
424

6. Amliorer la saisie

Un formulaire nest pas insr directement dans un autre formulaire.


Il utilise pour cela un objet conteneur, nomm "sous-formulaire".
Lorsque nous parlons de "sous-formulaire", cest cet objet que nous
dsignons. Procdez ainsi :
1 Cliquez sur une table ou une requte dans le volet de navigation.
2 Cliquez sur longlet Crer puis sur le bouton Assistant Formulaire
du groupe Formulaires.
La table ou la requte utilise comme source du formulaire principal
et les champs quelle renferme, et qui doivent tre prsents dans ce
formulaire, doivent dabord tre slectionns.
3 la premire tape de lAssistant, dplacez les champs de la table
dans la colonne Champs disponibles vers la colonne Champs slectionns.

Figure 6.60 : La slection des champs qui seront utiliss dans le formulaire principal

Dans cette mme tape de lAssistant, les champs de la table


connexe, qui seront prsents dans le sous-formulaire, doivent
leur tour tre slectionns.
4 Sur la liste Tables/Requtes, choisissez la table ou la requte qui
sera utilise comme source du sous-formulaire. Dplacez les
champs de la colonne Champs disponibles dans la colonne Champs
slectionns.

6.4. Crer des formulaires imbriqus

425

Les champs choisis cette dernire tape apparatront dans le sousformulaire. La liste Champs slectionns doit donc renfermer des
champs de la premire et de la seconde table.
5 Cliquez sur le bouton Suivant.

Figure 6.61 : La slection


des champs du
sous-formulaire

La partie haute du formulaire affichera les donnes de la table principale. Ce formulaire sera le formulaire principal. La partie infrieure
constituera le sous-formulaire et affichera les donnes de la table
connexe.
ltape suivante, lAssistant dtecte les relations entre les tables et
vous propose des dispositions pour limbrication des formulaires.
6 En fonction des relations unissant les tables, choisissez lune des
propositions de lAssistant. Cliquez sur le bouton Suivant.

Figure 6.62 : LAssistant


propose plusieurs
prsentations des
formulaires, en fonction des
tables choisies et des
relations qui les unissent

7 Choisissez une disposition des donnes dans le sous-formulaire,


laffichage Feuille de donnes par exemple. Cliquez sur le bouton
Suivant.

426

6. Amliorer la saisie

8 Choisissez un style de prsentation pour votre formulaire puis


cliquez sur le bouton Suivant.
Access vous propose ensuite des noms quil affectera aux deux
formulaires.
9 Conservez-les ou modifiez-les sils ne vous conviennent pas, puis
cliquez sur le bouton Terminer.
Access affiche alors le formulaire et son sous-formulaire en mode
Formulaire.

Figure 6.63 : Le formulaire


et son sous-formulaire sont
affichs en mode Formulaire

Les diffrentes dispositions des champs dans un formulaire


Vous lavez vu, lorsque vous crez un formulaire simple au moyen dun
Assistant, Access vous propose de choisir une disposition pour les champs
du formulaire. Dans le cas dun sous-formulaire, la disposition Feuille de
donnes est utilise par dfaut. Cette disposition permet de faire apparatre
plusieurs enregistrements, la diffrence des autres affichages qui ne font
apparatre quun enregistrement la fois. Cest donc vous de choisir la
disposition la mieux adapte.

Crer un sous-formulaire dans un formulaire


existant
Un sous-formulaire peut tre ajout ultrieurement dans un formulaire existant.

6.4. Crer des formulaires imbriqus

427

1 Ouvrez en mode Cration le formulaire auquel vous souhaitez


ajouter le sous-formulaire.
2 Dans le groupe Contrles de longlet Outils de cration de
formulaire/Cration, vrifiez que le bouton Utiliser les Assistants
Contrle est activ (fond orange), cliquez sur le bouton
Sous-formulaire/Sous-tat puis cliquez dans le formulaire.
Figure 6.64 : Lajout du
sous-formulaire est facilit
lorsque le bouton
Assistants contrle est
activ

La fentre de lAssistant Sous-formulaire saffiche.


3 Choisissez loption Utiliser les tables et les requtes existantes pour
dterminer la source du formulaire crer et utiliser comme
sous-formulaire ou loption Utiliser un formulaire existant. Slectionnez dans la liste le formulaire utiliser comme sousformulaire. Cliquez sur le bouton Suivant.
Ltape suivante est excute si loption Utiliser les tables et les requtes existantes a t choisie ltape prcdente :
4 Choisissez sur la liste de la zone Tables/Requtes, la table ou la
requte utiliser comme source du formulaire crer. Glissez les
champs de la liste Champs disponibles sur la liste Champs slectionns. Cliquez sur le bouton Suivant.
5 Choisissez lune des options proposes pour indiquer le lien entre
le formulaire principal et le sous-formulaire :
Choisir partir dune liste permet de sappuyer sur une ventuelle relation existante.

Figure 6.65 : Une relation


existante liant les deux
tables est utilise

428

6. Amliorer la saisie

Les dfinir moi-mme permet de crer le lien partir des zones


Champs du formulaire/tat et Champs du sous-formulaire/tat.

Figure 6.66 : Une relation


temporaire est ici dfinie

6 Cliquez sur le bouton Suivant.


7 la dernire tape, modifiez ventuellement le nom du sousformulaire, puis cliquez sur le bouton Terminer.
Le sous-formulaire est cr dans le formulaire principal. Il est modifiable depuis le mode Cration du formulaire principal, mais galement depuis la fentre de la base de donnes.

Figure 6.67 : Laffichage du


sous-formulaire dans le
formulaire principal, en
mode Cration

6.4. Crer des formulaires imbriqus

429

8 Pour vrifier le lien dfini par lAssistant entre les deux formulaires, en mode Cration, cliquez sur le sous-formulaire, affichez son
volet des proprits puis cliquez sur longlet Donnes.
La proprit Objet source dfinit le nom du sous-formulaire. Les
proprits Champs fils et Champs pres concernent le lien dfini dans
lAssistant. Le lien est constitu par la valeur du champ commune
aux deux listes de champs des formulaires.

Figure 6.68 : La dfinition du lien entre le formulaire principal et le sous-formulaire dans le volet des
proprits

6.5. Cas pratique


Passez maintenant la pratique. Dans cette section, vous raliserez
un carnet dadresses avec lAssistant et apporterez des modifications
aux objets du formulaire.
Vous raliserez ensuite un formulaire et un sous-formulaire pour amliorer la saisie dans lapplication de gestion des factures dont vous
avez commenc le dveloppement dans les chapitres prcdents.

Tlchargement de la base de donnes


Vous trouverez la base de donnes Facturation livres6.accdb utilise dans
ce chapitre sur le site de Micro Application (www.microapp.com) dans le dossier
Chapitre06.

Raliser un carnet dadresses avec lAssistant


Formulaire
Vous allez raliser un formulaire de saisie des adresses avec lAssistant Formulaire afin de mettre jour la table des contacts. Procdez
ainsi :
1 Ouvrez la base de donnes Facturation livres6.accdb. Cliquez sur la
table Contacts dans le volet de navigation.

430

6. Amliorer la saisie

2 Cliquez sur longlet Crer puis sur le bouton Assistant Formulaire


du groupe Formulaires.
3 la premire tape de lAssistant, dplacez tous les champs de la
table Contacts de la colonne Champs disponibles dans la colonne
Champs slectionns.
4 la deuxime tape, choisissez la disposition Colonne simple.
5 la dernire tape, donnez le titre Carnet dadresses au formulaire,
laissez loption Ouvrir le formulaire pour afficher ou entrer des infos.
la fermeture de lAssistant, le formulaire est ouvert en mode
Formulaire, ce qui va vous permettre dajouter, de modifier ou encore de supprimer des contacts dans votre carnet dadresses.

Figure 6.69 : La saisie dun contact en mode Formulaire

Vous allez ajouter un nouveau contact depuis le formulaire. Pour


cela :
6 Cliquez sur le bouton Nouvel enregistrement, symbolis par un
triangle et une toile droite des boutons de dplacement, en bas
de la fentre.

Figure 6.70 : Le bouton


Nouvel enregistrement

6.5. Cas pratique

431

Les zones de texte du formulaire sont vierges. Vous allez y saisir des
donnes qui seront stockes dans la table Contacts, en commenant
par la zone Nom du contact. La premire zone, nocontact, correspond
la cl primaire de la table ; elle nest pas modifiable. Pour passer
la zone suivante, utilisez la touche [] ou la souris.
7 Renseignez les zones avec les valeurs suivantes :
Tableau 6.1 : Le nouveau contact
Zone de saisie

Donne

Nom du contact

LUCY

Prnom du contact

Grald

Titre

Monsieur

Nom de la socit
Adresse

12, rue des pices

Code postal

54000

Ville

NANCY

Dpartement
Pays
Numro de tlphone

03 00 00 00 00

Numro de tlcopie

03 00 00 00 00

Courriel

gl@abc.fr

Site web
Commentaire

Dmnagement prochainement

Le formulaire peut galement tre employ pour supprimer un


contact.
8 Placez-vous, par exemple, sur le premier contact, cest--dire le
premier enregistrement saisi en cliquant sur le bouton de dplacement Premier enregistrement, en bas de la fentre. Cliquez sur
son slecteur symbolis par un triangle gauche de longlet du
formulaire. Cliquez sur le bouton Supprimer du groupe Enregistrements de longlet Accueil.
Access vous demande de confirmer la suppression de lenregistrement.
9 Cliquez sur le bouton Oui.

432

6. Amliorer la saisie

Figure 6.71 : La suppression dun contact en mode Formulaire

Access vous place alors sur lenregistrement suivant.

Modifier des objets du formulaire


Afin damliorer la saisie dun contact, vous pouvez personnaliser le
formulaire Carnet dadresses cr prcdemment laide de lAssistant en mode Cration.
1 Affichez le formulaire Carnet dadresses en mode Cration en cliquant du bouton droit sur le nom du formulaire dans le Volet de
navigation puis choisissez Mode cration dans le menu contextuel.
Vous souhaitez modifier le fond du formulaire et utiliser un fond uni.
2 Pour modifier la couleur du fond, double-cliquez dans la section
Dtail.
Les proprits de cette section saffichent dans le volet des proprits.
3 Cliquez sur longlet Format puis sur le Gnrateur de couleurs
symbolis par les points situs droite de la proprit Couleur de
fond. Choisissez une couleur dans la liste propose.

Figure 6.72 : Laffectation


dune couleur de fond la
section Dtail

6.5. Cas pratique

433

La suppression de limage en fond du formulaire


Si vous avez utilis un format automatique utilisant une image en fond de
formulaire, il vous faut dabord enlever limage qui masque le fond du
formulaire et dont le nom est stock dans la proprit Image du formulaire.
Pour cela, affichez le volet Feuille de proprits du formulaire en doublecliquant sur son angle suprieur gauche. Cliquez sur longlet Format puis
supprimez le nom de limage dans la zone de saisie de la proprit Image. Le
paramtre (aucune) doit alors apparatre. Validez en appuyant sur la touche
[]. Access vous demande confirmation de la suppression. Cliquez sur le
bouton Oui de la bote de dialogue.

Vous allez maintenant modifier le titre du formulaire, qui est ltiquette cre automatiquement par lAssistant, situe dans len-tte
du formulaire et dont la lgende est "Carnet dadresses".
4 Double-cliquez sur ltiquette pour afficher sa feuille des proprits. Modifiez les proprits suivantes sous longlet Format :
Tableau 6.2 : Modification des proprits de ltiquette
Proprit

Valeur

Commentaire

Police

Aharoni (ou une autre police) Choisissez la valeur sur la liste de la proprit.

Taille de police 24

Choisissez la valeur sur la liste de la proprit.

Style de fond

Transparent

Choisissez la valeur sur la liste de la proprit.

Apparence

En relief

Choisissez la valeur sur la liste de la proprit.

Figure 6.73 : La mise en forme de ltiquette

Le contour nest pas ajust au texte qui compose ltiquette.


5 Pour ajuster la taille de ltiquette en fonction du contenu, cliquez
sur longlet Outils de cration de formulaire/Organiser puis sur le
434

6. Amliorer la saisie

bouton Taille/Espace du groupe Redimensionnement et classement


et enfin sur Ajuster au contenu la rubrique Taille de la liste qui
apparat.

Modifier le nom dun objet


Vous pouvez galement modifier le nom des objets du formulaire. Tous les
objets ont un nom dfini dans la proprit Nom de longlet Autres dans le
volet des proprits. Access donne des noms par dfaut que vous pouvez
changer dans cette proprit.

Vous allez maintenant affecter une infobulle une zone de texte.


6 Double-cliquez sur la zone de texte du numro de tlphone dans
la section Dtail.
Les proprits de lobjet saffichent dans le volet des proprits.
7 Vrifiez que la liste de la feuille des proprits affiche son nom.
Cliquez sur longlet Autres et tapez Saisie du numro de tlphone
dans le format propos dans la proprit Texte dInfobulle. Validez.

Figure 6.74 : La dfinition


du texte de linfobulle
dune zone de texte

Le formulaire prsente galement une lgende qui sera affiche dans


la barre de titre en mode Formulaire. Vous allez la modifier :
8 Affichez les proprits du formulaire en cliquant sur le carr plac
dans langle suprieur gauche du formulaire. Cliquez sur longlet
Format et saisissez Gestion du carnet dadresses dans la proprit
Lgende puis validez.

Figure 6.75 : La modification de la lgende du formulaire

6.5. Cas pratique

435

Un contrle peut tre dsactiv (il est alors impossible de le slectionner) et verrouill (il devient impossible de le modifier).
La premire zone de texte nocontact permet dafficher la cl primaire
de la table. Access en assure la numrotation automatique. Il est utile
de la laisser visible mais aussi den empcher laccs et dinterdire la
saisie dans la zone.
9 Cliquez sur la zone de texte nocontact dans la section Dtail et
affichez ses proprits. Cliquez sur longlet Donnes et modifiez les
proprits de la manire suivante :
Tableau 6.3 : Modification des proprits de la zone de texte nocontact
Proprit Valeur Commentaire
Activ

Non

Verrouill Oui

Description de la proprit

Choisissez la valeur sur la liste. Empche laccs la zone de texte.


Choisissez la valeur sur la liste. Empche la saisie dans la zone de texte.

Figure 6.76 : La dsactivation et le verrouillage de la zone de texte

10 Affichez le formulaire en mode Formulaire et essayez de placer le


curseur dans la zone. Lopration est maintenant impossible.
11 Fermez et enregistrez le formulaire.

Raliser le formulaire de saisie dune facture


Une facture devant faire apparatre le dtail des produits achets
(des livres dans cet exemple), des formulaires imbriqus sont ncessaires pour en effectuer la saisie.
La partie suprieure du formulaire affichera les donnes de la table
Factures (len-tte de la facture). Ce formulaire sera le formulaire
principal.
La partie infrieure, qui constituera le sous-formulaire, affichera les
donnes de la table Facturelignes lies celles de la table des factures, affiches dans le formulaire principal.

436

6. Amliorer la saisie

Crer le formulaire principal


Vous allez raliser le formulaire principal permettant la saisie de
len-tte de la facture laide dun formulaire instantan :
1 Slectionnez la table Factures dans le volet de navigation.
2 Cliquez sur longlet Crer puis sur le bouton Formulaire du groupe
Formulaires.
Le formulaire est affich en mode Page mais il est seulement possible dy lire len-tte de chaque facture.
Avant daller plus loin, vous aller rduire la taille des zones de saisie
inutilement longues.
3 Cliquez sur lextrmit droite de la premire zone de texte, maintenez le bouton de la souris enfonc et ramenez le pointeur vers la
gauche.

Figure 6.77 : La consultation des en-ttes des factures dans le formulaire cr

Les lgendes des tiquettes des zones de texte ne sont pas trs
significatives. Vous allez les modifier.
4 Passez en mode Cration en cliquant sur la flche du bouton
Affichage de longlet Outils de cration de formulaire/Cration puis
choisissez Mode Cration.
5 Cliquez sur ltiquette nofacture dans le formulaire, cliquez sur le
bouton Feuille des proprits du groupe Crer de longlet Outils de
cration de formulaire/Cration pour afficher ses proprits, puis
saisissez N de facture dans la proprit Lgende de longlet
Format. Faites de mme pour les lgendes des tiquettes datefacture et nocontact en les remplaant respectivement par Date de
facture et Nom du client.
6 Les tiquettes ne sont pas entirement visibles. Cliquez sur la
seconde tiquette pour la slectionner puis cliquez sur longlet
Outils de cration de formulaire/Organiser puis sur le bouton Taille
/Espace du groupe Redimensionnement et classement et enfin sur
Ajuster au contenu la rubrique Taille de la liste qui apparat.

6.5. Cas pratique

437

7 Afin dempcher la saisie dun numro de facture, cliquez sur la


zone de texte nofacture et affichez ses proprits. Sous longlet
Donnes, choisissez Non sur la liste de la proprit Activ.
8 Enregistrez le formulaire avec le nom Facturesform via le menu
Enregistrer accessible depuis longlet Fichier.

Crer le sous-formulaire en mode Cration


Pour afficher les lignes de facture de chaque facture, vous allez crer
un sous-formulaire qui affichera les donnes de la table Facturelignes.
Le formulaire Factures-form est affich en mode Cration. Procdez
ainsi :
1 Vrifiez que le bouton Utiliser les Assistants de contrle du groupe
Contrles de longlet Outils de cration de formulaire/Cration est
actif.
2 Cliquez sur le bouton Sous-formulaire/Sous-tat du groupe Contrles de longlet Outils de cration de formulaire/Cration, puis dans
la section Dtail du formulaire Facturesform.

Figure 6.78 : Le bouton Utiliser les Assistants de contrle est activ

3 Dans la premire tape de lAssistant Sous-formulaire, choisissez


loption Utiliser les tables et les requtes existantes, puis cliquez sur
le bouton Suivant.
4 Dans la deuxime tape, choisissez Facturelignes sur la liste Tables/
Requtes, dplacez tous les champs de la liste Champs disponibles
sur la liste Champs slectionns, puis cliquez sur le bouton Suivant.

438

6. Amliorer la saisie

Figure 6.79 : Les champs de la table Facturelignes inclure dans le sous-formulaire

la troisime tape, vous pourriez laisser Access choisir le lien entre


les deux formulaires, mais vous allez les dfinir :
5 Cliquez sur loption Les dfinir moi-mme. Sur la premire liste,
Champs du formulaire/de ltat, contenant la liste de champs du
formulaire principal Facturesform, choisissez nofacture.
6 Sur la seconde liste Champs du sous-formulaire/de ltat qui donne
la liste des champs de la table Facturelignes, choisie au dbut de
lAssistant (et qui sera la liste de champs du sous-formulaire que
vous tes en train de crer), choisissez le champ nofacture. Cliquez
sur le bouton Suivant.

Figure 6.80 : La dfinition du lien entre le formulaire principal et le sous-formulaire

6.5. Cas pratique

439

7 la dernire tape, conservez le nom du formulaire qui sera utilis


comme sous-formulaire, puis cliquez sur le bouton Terminer pour
fermer lAssistant.
De retour dans le formulaire Factures-form, en mode Cration, vous
pouvez dplacer le sous-formulaire Facturelignes sous-formulaire.
8 Cliquez sur un bord du sous-formulaire pour le slectionner. Lorsque le pointeur de la souris prend la forme dune croix flche,
glissez le sous-formulaire lendroit voulu tout en gardant le
bouton de la souris enfonc.

Figure 6.81 : Le formulaire Factures-form et le sous-formulaire Facturelignes sous-formulaire en


mode Cration

9 Affichez le formulaire Factures-form en mode Formulaire et visualisez lapparence du sous-formulaire. Utilisez les boutons de navigation du formulaire principal pour vous dplacer dans la table
des factures.
Pour chaque facture du formulaire principal, le sous-formulaire affiche les lignes de la facture stockes dans la table Facturelignes (voir
Figure 6.82).
Les boutons de navigation affichs dans le sous-formulaire sont
inutiles. Vous allez les supprimer.

440

6. Amliorer la saisie

Figure 6.82 : Le formulaire et le sous-formulaire en mode Formulaire

10 Affichez le formulaire Factures-form en mode Cration. Doublecliquez sur langle suprieur gauche du sous-formulaire comme le
montre lillustration suivante pour afficher le volet de ses proprits. Cliquez sur longlet Format, puis choisissez Non dans la liste de
la proprit Boutons de dplacement.

Figure 6.83 : La suppression de laffichage des boutons de dplacement du sous-formulaire

En mode Formulaire, la colonne nofacture du sous-formulaire nest


pas utile, puisquelle est renseigne automatiquement par le numro
de facture du formulaire principal. Vous allez supprimer cette colonne pour ne pas risquer de commettre une erreur de saisie.

6.5. Cas pratique

441

11 Dans le sous-formulaire, slectionnez la zone de texte nofacture et


supprimez-la au moyen de la touche [Suppr].
Vous allez modifier maintenant la lgende de chaque tiquette des
zones de texte afin que les en-ttes des colonnes soient plus significatifs dans le sous-formulaire.
12 Cliquez sur ltiquette nolivre dans le sous-formulaire. Cliquez de
nouveau pour passer en mode ddition. Remplacez nolivre par Nom
du livre. Faites de mme pour la lgende de ltiquette quantite
que vous changez en Quantit. Vrifiez de mme les libells de la
proprit Lgende de chaque tiquette.

Figure 6.84 : La
modification des libells
des en-ttes de colonnes du
sous-formulaire

13 Affichez le formulaire Factures en mode Formulaire. Vous constatez la disparition des boutons de navigation et de la colonne
nofacture ainsi que la modification des noms des en-ttes de
colonnes du sous-formulaire.

Figure 6.85 : Le formulaire


en mode Formulaire

442

6. Amliorer la saisie

14 Fermez et enregistrez le formulaire ainsi que le sous-formulaire.

Insrer un calcul dans un formulaire


Les calculs utilisant les valeurs des champs vont donner au formulaire toute sa dimension : ils permettront laffichage de tout type de
calcul dcoulant des donnes des tables.
Vous allez ajouter un total des prix hors taxes pour chaque ligne de la
table Facturelignes.
1 Ouvrez le formulaire Facturelignes sous-formulaire en mode Cration. Affichez son volet des proprits et cliquez sur longlet Donnes.
La proprit Source du formulaire est une instruction SQL.
2 Cliquez dans cette proprit, puis cliquez sur le bouton symbolis
par trois points pour appeler le Gnrateur de requtes.

Figure 6.86 : La proprit


Source du formulaire

Longlet Facturelignes sous-formulaire : Gnrateur de requtes saffiche avec la table Facturelignes sur la liste des tables et ses champs
dans la ligne Champ.
3 Ajoutez la table Livres laide du bouton Afficher la table du groupe
Paramtrage de requte de longlet Crer.
La jointure se dessine entre les deux tables.
4 Slectionnez Livres.prixHT dans la liste de la quatrime colonne de
la ligne Champ.
La cinquime colonne permettra deffectuer le produit du prix unitaire hors taxes du livre (qui se trouve dans la table Livres) par la
quantit de livres facture (qui se trouve dans la table Facturelignes).
Pour ne pas faire derreur dans la syntaxe du calcul, vous utiliserez le
Gnrateur dexpression.
5

Placez le curseur dans la cinquime colonne de la


ligne Champ. Cliquez sur le bouton Gnrateur du

6.5. Cas pratique

443

groupe Paramtrage de requte de longlet Crer pour lancer le


Gnrateur dexpression.
6 Dans la fentre du Gnrateur dexpression, dveloppez lobjet
Facturation livres6.accdb puis Tables en double-cliquant sur le signe +, puis slectionnez la table Livres et double-cliquez sur le
champ prixHT sur la liste centrale. Cliquez sur le bouton de loprateur *.
7 Cliquez sur la table Facturelignes puis double-cliquez sur le champ
quantite pour lajouter la formule dans la zone ddition.

Figure 6.87 : Le calcul est


dfini dans le Gnrateur
dexpression

8 Cliquez sur OK pour fermer le Gnrateur dexpression.


9 De retour dans longlet Facturelignes sous-formulaire : Gnrateur
de requtes, saisissez TotalHT ligne : au dbut de la formule de la
cinquime colonne pour dfinir son nom dans le rsultat de la
requte.
Lillustration qui suit montre les colonnes affiches dans longlet :

Figure 6.88 : Les colonnes de la requte

444

6. Amliorer la saisie

10 Fermez le Gnrateur de requte en cliquant sur le bouton Fermer


et enregistrez les modifications apportes.
Dans le volet des proprits du formulaire Facturelignes sousformulaire, linstruction SQL a t modifie dans la proprit Source.
Certains champs manquent encore pour que le sous-formulaire soit
complet : les champs prixHT et TotalHT ligne. Vous allez les ajouter
dans la section Dtail :
11 Cliquez sur le bouton Ajouter des champs existants du groupe
Outils de longlet Outils de cration de formulaire/Cration.
Le volet Liste de champs apparat droite de longlet du formulaire.
12 Slectionnez les champs prixHT et TotalHT ligne sur la liste des
champs et, en maintenant le bouton de la souris enfonc, glissezles dans la section Dtail.

Figure 6.89 : Les deux champs manquants sont ajouts dans le formulaire

Pour afficher la somme des totaux, une nouvelle zone de texte doit
tre affiche dans le pied du formulaire.
13 Agrandissez la section Pied de formulaire. Cliquez sur le bouton
Zone de texte du groupe Contrles de longlet Outils de cration de
formulaire/Cration, puis cliquez dans la section Pied de formulaire.
Cliquez sur ltiquette associe la zone de texte puis appuyez sur
la touche [Suppr] pour la supprimer car elle est inutile.
Vous allez renommer la zone de texte ajoute.
14 Affichez les proprits de la zone de texte du pied de formulaire.
Cliquez sur longlet Autres et saisissez SommeDesTotaux dans la proprit Nom.

6.5. Cas pratique

445

15 Cliquez dans la proprit Source contrle de longlet Donnes qui


est, pour linstant, encore vide, puis cliquez sur le bouton symbolis par trois points pour ouvrir le Gnrateur dexpression. Dans
la fentre du Gnrateur dexpression, dveloppez llment dexpression Fonctions en double-cliquant sur le signe +. Cliquez sur
Fonctions intgres. Dans la liste centrale, cliquez sur Regroupement SQL puis double-cliquez sur Somme dans la liste de droite.
Slectionnez expression dans la zone ddition, cliquez sur lobjet Facturelignes sous-formulaire puis double-cliquez sur TotalHT
ligne dans la liste centrale.

Figure 6.90 : La dfinition de lexpression, dans le Gnrateur dexpression

16 Fermez le Gnrateur dexpression.

Figure 6.91 : Lexpression gnre dans la proprit Source contrle de la zone de texte

446

6. Amliorer la saisie

Si vous affichez le formulaire en mode Formulaire, le montant total


napparat pas car il est plac dans la section Pied de formulaire. En
effet, la proprit Affichage par dfaut du formulaire Facturelignes
sous-formulaire contient la valeur Feuille de donnes. Or, ce mode
daffichage nautorise pas laffichage du pied de formulaire. Aussi, la
somme des totaux sera affiche dans le formulaire principal Facturesform.
17 Fermez et enregistrez le formulaire.
Vous allez afficher le montant total hors taxes dans une zone de texte
depuis le formulaire Factures-form.
18 Ouvrez le formulaire Factures-form en mode Cration.
19 Cliquez sur le bouton Zone de texte du groupe Contrles de longlet
Outils de cration de formulaire/Cration et cliquez dans la section
Dtail, en dessous du sous-formulaire. Remplacez le texte de ltiquette qui a t insre par Total HT. Affichez les proprits de la
zone de texte insre. Cliquez sur longlet Donnes, puis dans la
proprit Source contrle. Cliquez sur le bouton symbolis par
trois points pour ouvrir le Gnrateur dexpression. Dans la fentre du Gnrateur dexpression, dveloppez lobjet Factures-form
puis cliquez sur lobjet Facturelignes sous-formulaire et doublecliquez sur lobjet SommeDesTotaux sur la liste centrale.

Figure 6.92 : La reprise de la valeur calcule dans le sous-formulaire

20 Dans le Gnrateur dexpression, cliquez sur OK.


6.5. Cas pratique

447

Figure 6.93 : La source de la


zone de texte affichant le
total hors taxes

Il vous reste affecter le format montaire la zone de texte.


21 Cliquez sur longlet Format du volet des proprits de la zone de
texte puis choisissez Montaire dans la liste de la proprit Format.

Figure 6.94 : Laffectation


du format montaire la
zone de texte

Vous pouvez prsent tester le bon fonctionnement du formulaire.


22 Affichez le formulaire Factures-form en mode Formulaire et changez les quantits pour tester la variation du Total HT.

Figure 6.95 : Le rsultat


final

23 Fermez et enregistrez le formulaire Factures-form.

Tlchargement de la base de donnes


Vous trouverez la base de donnes finalise Facturation livres6finale.accdb utilise dans ce chapitre sur le site de Micro Application (www
.microapp.com) dans le dossier Chapitre06.

448

6. Amliorer la saisie

CHAPITRE 7

RESTITUER
LES DONNES
Crer des tats simples .......................................................................................... 451
Crer des tats avancs .......................................................................................... 482
Cas pratique ................................................................................................................. 485

449

Les tats mettent votre disposition une grande quantit dobjets


pour vous permettre de raliser des impressions rapides et efficaces.
Vous naurez gure de difficults concevoir des tats si vous avez lu
le prcdent chapitre qui traite des formulaires. En effet, les objets
quutilisent les tats et les formulaires prsentent de nombreux
points communs. Toutefois, vous ne pourrez pas, dans un tat,
modifier les donnes comme vous lavez fait dans les formulaires.
Leur fonction est en effet dassurer la restitution statique des informations limprimante ou lcran. Cela fait de ces derniers les
meilleurs allis lorsquil est question, par exemple, dimprimer une
liste dadresses ou une facture, pour raliser des tests en mode
Aperu avant impression, prvisualiser une sortie destine limprimante afin de la vrifier ou encore afficher des informations complmentaires celles dun formulaire.

7.1. Crer des tats simples


Comme pour les formulaires, il existe trois mthodes pour crer des
tats : laide dun Assistant, au moyen de la fonction de cration
dtat rapide et, enfin, manuellement.

Utiliser les Assistants


LAssistant Etat permet de concevoir des tats simples afin dafficher
les donnes dune table. Procdez ainsi :
1 Cliquez sur une table ou une requte dans le volet de navigation.
2

Cliquez sur longlet Crer puis sur le bouton Assistant


Etat du groupe Etats.

La bote de dialogue Assistant Etat apparat. La table ou la requte


choisie prcdemment dans le Volet de navigation est slectionne
dans la zone Tables/Requtes. Vous pouvez modifier ce choix dans
cette zone.
3 la premire tape de lAssistant, dplacez les champs de la
colonne Champs disponibles dans la colonne Champs slectionns,
en cliquant sur le bouton >>. Cliquez sur le bouton Suivant (voir
Figure 7.1).

Utiliser plusieurs tables dans un tat


Pour utiliser des champs issus de tables ou de requtes diffrentes, rptez lopration de slection des tables et des requtes dans la zone Tables/

7.1. Crer des tats simples

451

Requtes et ajoutez les champs de votre choix dans la liste champs


slectionns de lAssistant. Cliquez sur le bouton Suivant.

Figure 7.1 : La slection des


champs

La deuxime tape de lAssistant permet de spcifier un regroupement des enregistrements sur un champ dans ltat. La proposition
de regroupement dAccess est modifiable.
4 Slectionnez un champ de la liste gauche, puis cliquez sur le
bouton affichant le symbole > pour dfinir un regroupement sur le
champ.
Le champ saffiche en bleu dans la partie droite.
Un regroupement peut tre cr sur plusieurs champs en respectant
un ordre que vous pouvez dfinir laide des boutons de la rubrique
Priorit.

Figure 7.2 : La dfinition


dun regroupement

452

7. Restituer les donnes

Options de regroupement
Des options de regroupements peuvent tre dfinies pour les champs des
types de donnes Numrique, Texte et Date. Cliquez pour cela sur le bouton
Options de regroupement dans la bote de dialogue de la deuxime tape de
lAssistant Etat. Pour chaque champ du regroupement, choisissez un intervalle de regroupement sur la liste propose. Les intervalles de regroupement
varient en fonction du type de champ utilis (si le champ est de type date, les
intervalles proposs seront les suivants : Normal, Anne, Trimestre, Mois,
Semaine, Jour, Heure ou Minute).

5 Cliquez sur le bouton Suivant.


La troisime tape de lAssistant permet de dfinir un classement
des donnes de ltat.
6 Choisissez, dans la premire zone, le premier champ trier. Pour
passer dun tri croissant un tri dcroissant, utilisez le bouton
situ droite de la zone.
Ce bouton, si vous cliquez dessus, affiche conscutivement les libells Croissant et Dcroissant.
Les zones suivantes pourraient tre utilises pour dfinir des critres
de tri secondaires.

Figure 7.3 : Le choix de lordre de prsentation des valeurs de ltat

7.1. Crer des tats simples

453

Dfinir des totaux par regroupement


Il est possible de crer des totaux la fin de chaque regroupement, sil
existe un champ de type numrique sur la liste des champs afficher dans
ltat. Cliquez sur le bouton Options de synthse pour que ltat ralise des
totaux et des regroupements. La bote de dialogue Options de synthse
saffiche. Cochez une case pour effectuer le calcul qui devra tre ralis pour
un champ donn. Activez loption Dtail et total de la rubrique Afficher pour
afficher le dtail des donnes avec le calcul de synthse ou cochez la case
Total uniquement pour faire apparatre uniquement le calcul de synthse
dans ltat. Cochez ventuellement la case Calculer le pourcentage du total
pour les sommes pour effectuer le pourcentage. Cliquez sur le bouton OK
pour fermer la bote de dialogue.

Figure 7.4 : Les options des


oprations et des
regroupements effectus
dans ltat

7 Cliquez sur le bouton Suivant.


La quatrime tape permet de dfinir lorganisation des donnes
dans ltat.
8 Choisissez lune des dispositions proposes sous la rubrique Disposition ainsi quune orientation sous la rubrique Orientation. Cliquez sur le bouton Suivant.
Les dispositions proposes fluctuent si un regroupement a t paramtr.

Figure 7.5 : Le choix de la


disposition des donnes
dans ltat avec
regroupement

454

7. Restituer les donnes

La dernire tape de lAssistant permet de dfinir laction effectuer


la fin de son excution :
loption Aperu de ltat permet dafficher ltat en mode Aperu
avant impression afin dy visualiser des donnes ;
loption Modifier la structure de ltat permet dafficher la structure
de ltat en mode Cration.
10 Choisissez loption Aperu de ltat. Dans la zone Quel titre
souhaitez-vous pour votre tat ?, modifiez ventuellement le nom
par dfaut de la table utilise dans ltat. Cliquez sur le bouton
Terminer.
la fermeture de lAssistant, ltat est automatiquement ouvert en
mode Aperu avant impression. Lutilisateur peut ds lors visualiser
un enregistrement.

Figure 7.6 : Laffichage de ltat en mode Aperu avant impression

Le mode Aperu avant impression est identique celui des autres


logiciels Microsoft. Vous pouvez y effectuer des zooms. Longlet
Aperu avant impression vous permet de visualiser ltat dans diffrents modes dagrandissement.
Dans le volet de navigation, ltat cr avec lAssistant apparat
maintenant sur la liste des tats.
11 Fermez ltat.

LAssistant Etiquette
Access permet de crer un type dtat particulier, ddi ldition
dtiquettes gnres depuis les donnes de la base de donnes.
1 Cliquez sur une table ou une requte dans le volet de navigation.
2

Cliquez sur longlet Crer puis sur le bouton Etiquette


du groupe Etats.

La bote de dialogue Assistant Etiquette apparat.

7.1. Crer des tats simples

455

3 la premire tape de lAssistant, une liste de fabricants dtiquettes est propose. Choisissez un fabriquant dans la liste de la zone
Filtrer par fabricant. Choisissez un modle dtiquette dans la zone
Numro de rfrence.

Figure 7.7 : La premire tape de lAssistant Etiquette

4 Si le fabricant ou le modle dtiquette que vous utilisez napparaissent pas, il vous est possible de personnaliser votre format
dtiquettes au moyen du bouton Personnaliser.
La bote de dialogue Nouvelle taille dtiquette saffiche.
5 Cliquez sur le bouton Nouveau afin de dfinir un nouveau format
dtiquette.
La bote de dialogue Nouvelle tiquette apparat.
6 Saisissez le nom qui dsignera le format dtiquette dans la zone
Nom dtiquette.
7 Dans les zones Unit de mesure, Type dtiquette et Orientation,
dfinissez respectivement lunit dans laquelle vous indiquez les
dimensions (pouces ou centimtres), le type dalimentation des
feuilles dans limprimante (en feuille feuille ou en continu) ainsi
que lorientation de la feuille dtiquettes (en portrait ou en paysage).

456

7. Restituer les donnes

8 Dans les zones de saisie de la zone Entrez les dimensions de ltiquette, dfinissez les dimensions des diffrents composants de la
feuille dtiquettes (tailles des tiquettes, retraits et marges).

Figure 7.8 : La bote de


dialogue Nouvelle tiquette

9 Cliquez sur le bouton OK de la bote de dialogue.


10 De retour dans la bote de dialogue Nouvelle taille dtiquette,
cliquez sur le bouton Fermer.

Options complmentaires
La bote de dialogue Nouvelle taille dtiquette offre trois boutons permettant de modifier, de supprimer ou de dupliquer ltiquette prcdemment
dfinie.

De retour dans lAssistant Etiquette, le nom du format dtiquettes


qui vient dtre dfini apparat.

Figure 7.9 : Le nouveau


format dtiquette est
affich dans lAssistant

11 Cliquez sur le bouton Suivant.


7.1. Crer des tats simples

457

12 ltape suivante de lAssistant, dfinissez le nom de la police, sa


taille, son paisseur ainsi que sa couleur puis cliquez sur le bouton
Suivant.
13 ltape suivante de lAssistant, cliquez dans la zone Champs
disponibles sur le champ que vous souhaitez voir apparatre sur les
tiquettes puis sur le bouton > afin de le dplacer vers la liste
Etiquette prototype. Rptez lopration pour chacun des champs
slectionner.

Ajout de texte fixe dans les tiquettes


Il vous est possible dajouter du texte fixe (renfermant dventuels retours
la ligne) dans la zone Etiquette prototype.

Figure 7.10 : La dfinition de la zone Etiquette prototype

14 Cliquez sur le bouton Suivant.


15 ltape suivante de lAssistant, optez pour un ventuel tri sur un
ou plusieurs champs puis cliquez sur le bouton Suivant.
16 la dernire tape de lAssistant, affectez un nom ltat dans la
zone Comment souhaitez-vous nommer votre tat ? puis cliquez sur
le bouton Terminer.

Choix du mode daffichage


la dernire tape de lAssistant Etiquette, il est par dfaut propos
dafficher les tiquettes en mode Aperu avant impression. Si vous souhaitez

458

7. Restituer les donnes

afficher ltat en mode Cration, optez pour loption Modifier la structure


des tiquettes, dans la zone Que voulez-vous faire ?.

Crer un tat sans lAssistant


Voyons maintenant comment crer un tat rapidement ou en mode
Cration.

Crer un tat rapidement


Cette mthode est la plus rapide pour gnrer un tat :
1 Cliquez sur une table ou une requte dans le volet de navigation.
2

Cliquez sur longlet Crer puis sur le bouton Etat du groupe


Etats.

Le bouton Etat affiche des zones de texte correspondant aux champs


de la table ou de la requte choisie prcdemment, les unes ct
des autres avec une tiquette en en-tte de colonne (ltat est alors
affich en mode Page). Les enregistrements de la table sont affichs
les uns en dessous des autres.

Figure 7.11 : La cration rapide dun tat

Crer un tat avec le mode Cration


Ne vous laissez pas abuser par lapparente simplicit avec laquelle
les premiers tats ont t crs. Un tat doit, dans la plupart des cas,
tre constitu manuellement, cest--dire partir dun tat vierge, et
des objets contrles doivent y tre ajouts.
1

Cliquez sur longlet Crer puis sur le bouton Cration dtat


du groupe Etats.

7.1. Crer des tats simples

459

Le mode Cration dtat se caractrise par son onglet contextuel


Outils de cration dtat, laffichage dun onglet vierge intitul Etat1 et
affichant des zones appeles Dtail, En-tte de page et Pied de page.

Figure 7.12 : Ltat en mode Cration

La premire tape consiste affecter la source de donnes ltat


vierge depuis le volet des proprits de ltat.

Source de donnes
Comme dans les formulaires, la source de donnes reprsente lorigine
des donnes (une table ou une requte) qui seront affiches dans ltat.

460

7. Restituer les donnes

2 Pour afficher le volet des proprits de ltat, cliquez sur le bouton


Feuille des proprits du groupe Outils de longlet Outils de cration
dtat/Cration ou utilisez la combinaison des touches [Alt]+[].
Le volet Feuille de proprits de ltat saffiche.

Laffichage des proprits de ltat dans le volet Feuille de proprits


Vrifiez quEtat est choisi dans la liste Type de slection propose en haut
du volet Feuille de proprits afin de pouvoir diter les proprits de ltat et
non dun autre objet.

3 Choisissez longlet Donnes puis une table ou une requte dans la


liste propose de la ligne Source.
La proprit Source contient la source de ltat. Dans lillustration
suivante, la table Disques est la source du formulaire.

Figure 7.13 : La proprit Source

Ltat est, pour linstant, vierge. Le mode opratoire qui suit montre
comment crer rapidement des zones de texte et les tiquettes
informatives qui les accompagnent.
4 Cliquez sur le bouton Ajouter des champs existants du groupe
Outils de longlet Outils de cration dtat/Cration .
Le volet Liste de champs saffiche. Il prsente la liste des champs qui
dpend de la "source du formulaire" choisie prcdemment.
5 Slectionnez tous les champs de la zone Champs disponibles pour
cette vue du volet Liste des champs. Pour cela, placez-vous sur le

7.1. Crer des tats simples

461

premier champ, maintenez la touche [Maj] enfonce et cliquez sur le


dernier champ. Maintenez le bouton de la souris enfonc et glissez
votre slection dans la zone Dtail de ltat.

Figure 7.14 : Tous les champs de la table sont glisss dans ltat

Les champs sont affichs dans des contrles, chacun accompagn


dune tiquette. Une zone de texte et une tiquette ont t cres
dans ltat pour chaque champ de la table source.
Comme dans les formulaires, lobjet Etiquette est plac gauche
dune zone de texte qui affiche la valeur dun champ. Ltiquette
informe lutilisateur sur ce quil doit saisir dans la zone. Les tiquettes utilisent par dfaut les valeurs des proprits Lgende des
champs, dfinies dans la structure de la table utilise. Si une lgende
na pas t dfinie, le nom du champ est utilis.
De mme, les zones de texte, quant elles, ont pour mission dafficher les valeurs renfermes dans les champs de la table qui ont t
glisss prcdemment dans ltat. Vous pouvez vous en assurer en
double-cliquant sur lune des zones de texte. Sa fentre des proprits saffiche. La proprit Source contrle, visible sous longlet
Donnes du volet, spcifie le nom du champ utilis.
ce stade ltat est consultable en mode Rapport.

462

7. Restituer les donnes

Cliquez sur le bouton Affichage de longlet Outils de cration


dtat/Cration.

Crer un tat vide


Une dernire manire de crer un tat est nomme "tat vide". Cette
mthode, rapide, est privilgier lorsque le nombre de champs
utiliss est peu important :
1

Sous longlet Crer, dans le groupe Etats, cliquez sur le bouton Etat vide.

Access ouvre un tat vide en mode Page.


2 Si le volet Liste de champs nest pas apparent, affichez-le en cliquant sur le bouton Ajouter des champs existants du groupe Outils
de longlet Outils de prsentation dtat/Cration.
3 Dans le volet Liste de champs, cliquez sur le lien Afficher tous les
tableaux si aucune table ny est affiche.
4 Dans le volet Liste de champs, cliquez sur le signe +, gauche du
nom de la table de votre choix, afin dafficher les champs quelle
renferme.
5 Double-cliquez sur le champ insrer dans ltat ou glissez-le dans
ce dernier.

Figure 7.15 : Linsertion de zones de texte dans le formulaire depuis le volet Liste de champs

Visualiser les donnes de ltat


Aprs avoir cr un tat, il est frquent de sassurer du rsultat final
en mode Aperu avant impression et, le cas chant, de modifier sa
mise en page. Ensuite, dans la trs grande majorit des cas, ltat
sera imprim.

7.1. Crer des tats simples

463

Utiliser les modes daffichage


Access vous propose plusieurs modes de restitution de ltat vous
permettant den assurer le contrle de cohrence(le mode Etat) et dy
apporter dventuelles corrections (le mode Page) ainsi que deffectuer la vrification de la sortie imprime (le mode Aperu avant
impression).

Utiliser le mode Etat


Ce mode vous sera utile pour vrifier les donnes affiches dans
ltat. Statique, il ne vous permettra pas deffectuer dinvolontaires
modifications de mise en forme, lors dun pointage des donnes, par
exemple. Certaines fonctionnalits de marquage temporaire des informations vous seront toutefois proposes, utiles, entre autres,
pour vous permettre davancer facilement dans votre travail de
contrle.
Pour afficher un tat en mode Etat, utilisez lune des mthodes
suivantes.
j

Dans la liste des objets du Volet de navigation de la base de


donnes, double-cliquez sur ltat ou cliquez du bouton droit sur
celui-ci et choisissez Ouvrir dans le menu contextuel qui apparat.

Si ltat est ouvert en mode Page ou en mode Cration, cliquez sur


le bouton Affichage de longlet Outils de prsentation dtat
/Cration.
Si ltat est ouvert dans un autre mode que le mode Etat, cliquez
du bouton droit sur ltat affich puis choisissez Mode Etat dans le
menu contextuel qui saffiche.
Vous pouvez galement cliquer sur le bouton Mode Etat prsent
en bas et droite de la fentre dAccess, dans la Barre dtat.

Figure 7.16 : Le mode Etat

464

7. Restituer les donnes

Particularits et limites du mode Etat


Si vous utilisez ce mode pour effectuer un pointage de donnes, il vous est
possible de marquer temporairement une ou plusieurs lignes, pour en faciliter la lecture, en cliquant sur celles-ci.
Comme le mode Page, dcrit ci-aprs, le mode Etat nautorise pas le zoom. De
plus, ltat est affich dans son intgralit, sans faire apparatre les sauts de
page. Le mode Aperu avant impression, dcrit plus loin dans cette section,
ne subit pas quant lui ces limitations.

Utiliser le mode Page


Ce mode est mixte : il permet laffichage des donnes de ltat tout
en autorisant certaines modifications de mise en forme, telles que
lajout de nouveaux champs ou encore la modification des regroupements.
Pour afficher un tat en mode Page, utilisez lune des mthodes
suivantes :
j

Dans la liste des objets du Volet de navigation de la base de


donnes, cliquez du bouton droit sur le nom de ltat et choisissez
Mode Page dans le menu contextuel qui apparat.

Si ltat est ouvert en mode Etat ou en mode Cration, cliquez sur


la flche du bouton Affichage de longlet Accueil. Choisissez Mode
page dans le menu qui saffiche.
Si ltat est ouvert dans un autre mode que le mode Page, cliquez
du bouton droit sur ltat affich puis choisissez Mode Page dans le
menu contextuel qui saffiche.
Vous pouvez galement cliquer sur le bouton Mode Page prsent
en bas et droite de la fentre dAccess, dans la Barre dtat.

Figure 7.17 : Le mode Page

7.1. Crer des tats simples

465

Afficher un tat en mode Aperu avant impression


Comme son nom lindique, ce mode permet de visualiser ltat
lcran tel quil sera imprim. Les pages et les sauts de page y sont
reprsents lchelle et une fonctionnalit de zoom permet de
grossir ou de rduire volont le document.
Pour afficher un tat en mode Aperu avant impression, utilisez lune
des mthodes suivantes :
j

Dans la liste des objets du Volet de navigation de la base de


donnes, cliquez du bouton droit sur ltat et choisissez Aperu
avant impression dans le menu contextuel qui apparat.

Aprs avoir slectionn un tat dans le Volet de navigation ou


lavoir affich dans un autre mode, cliquez sur longlet Fichier puis
sur Imprimer puis cliquez sur Aperu avant impression.
Si ltat est ouvert dans un autre mode que le mode Aperu avant
impression, cliquez sur la flche du bouton Affichage de longlet
Accueil puis choisissez Aperu avant impression dans le menu qui
saffiche.
Si ltat est ouvert dans un autre mode que le mode Aperu avant
impression, cliquez du bouton droit sur ltat affich puis choisissez Aperu avant impression dans le menu contextuel qui saffiche.
Vous pouvez galement cliquer sur le bouton Aperu avant
impression prsent en bas et droite de la fentre dAccess, dans
la Barre dtat.

Figure 7.18 : Le mode Aperu avant impression

Longlet Aperu avant impression propose de nombreux boutons


autorisant des modifications de laffichage et de la mise en page.

466

7. Restituer les donnes

Limiter laffichage des donnes du mode Aperu avant impression


Si votre tat est destin afficher beaucoup de donnes, lAperu avant
impression mettra un certain temps souvrir. Si vous dsirez seulement
avoir un aperu du rsultat pendant la conception de ltat, effectuez un clic
droit sous la zone de pied dtat puis, dans le menu contextuel qui apparat,
choisissez Aperu des 10 premiers enregistrements. Le mode Aperu avant
impression naffiche alors quun chantillon de donnes (ce type daffichage
est beaucoup plus rapide).

Vous pouvez vous dplacer entre les pages affiches dans un tat en
mode Aperu avant impression.
Les boutons de dplacement sont regroups en bas de longlet de
ltat. Leur fonction est de permettre des dplacements faciles entre
les pages de ltat.

Figure 7.19 : Les boutons de dplacement

Ces boutons et la zone daffichage qui les accompagne permettent


respectivement les oprations suivantes :
j

le dplacement sur la premire page de ltat ;

le dplacement sur la page prcdant la page en cours ;


laffichage du numro de page en cours ;
le dplacement sur la page suivant la page en cours ;
le dplacement sur la dernire page de ltat.

j
j
j

Atteindre une page


Pour atteindre une page, cliquez dans la zone daffichage Page actuelle
puis validez par la touche [].

7.1. Crer des tats simples

467

Quitter le mode Aperu avant impression


Pour quitter ce mode, utilisez le bouton Fermer laperu avant impression
de longlet Aperu avant impression. Le prcdent mode est alors ractiv.

Mettre en page un tat


La mise en page de ltat permet le paramtrage de la sortie imprime du document.
1 Affichez ltat en mode Aperu avant impression.
2 Utilisez les diffrents boutons des groupes Taille de la page et Mise
en page de longlet Aperu avant impression.
3 Pour accder lintgralit des paramtres de la mise en page
depuis la bote de dialogue Mise en page, cliquez sur le bouton
Mise en page de longlet Aperu avant impression ou cliquez du
bouton droit dans ltat, puis choisissez Mise en page dans le menu
qui apparat.

Figure 7.20 : Le groupe Mise en page depuis le mode Aperu avant impression

Autre mthode daccs la mise en page de ltat


La modification de la mise en page est galement accessible depuis longlet
Outils de cration dtat/Mise en page des modes Page et Cration.

La bote de dialogue Mise en page saffiche. Elle autorise le paramtrage des lments suivants :
j

les marges sous longlet Options dimpression ;

lorientation et la taille du papier sous longlet Page ;


la dfinition de la grille et des colonnes sous longlet Colonnes
(voir Figure 7.21).

4 Cliquez sur le bouton OK de la bote de dialogue.

468

7. Restituer les donnes

Figure 7.21 : La mise en


page de ltat

Imprimer un tat
1 Affichez ltat en mode Aperu avant impression.
2 Cliquez sur le bouton Imprimer de longlet Aperu avant impression
ou utilisez la combinaison de touches [Ctrl]+[P]. Vous pouvez galement cliquer sur longlet Fichier puis choisir Imprimer/Imprimer.
La bote de dialogue Imprimer saffiche.
3 Pour spcifier que toutes les pages de ltat doivent tre imprimes, choisissez loption Tout de la rubrique Imprimer. Pour dfinir
une plage de pages, cochez loption Pages de la rubrique Imprimer,
puis saisissez le numro de la premire page ainsi que celui de la
dernire page imprimer.
4 Prcisez le nombre dexemplaires imprimer en le saisissant dans
la zone Nombre de copies de la rubrique Copies.
5 Cliquez sur le bouton OK de la bote de dialogue.

Modifier un tat en mode Cration


Un tat peut tre personnalis en mode Cration.

Afficher la structure dun tat


Cette section dtaille les lments de linterface du mode Cration de
ltat. Plusieurs techniques soffrent vous pour ouvrir un tat dans
ce mode.

7.1. Crer des tats simples

469

Dans la liste des objets du Volet de navigation de la base de


donnes, cliquez du bouton droit sur le nom dun tat et choisissez
Mode Cration dans le menu contextuel qui apparat.

Si ltat est ouvert en mode Etat ou en mode Page, cliquez sur la


flche du bouton Affichage de longlet Accueil puis choisissez Mode
Cration dans le menu qui saffiche.

Si ltat est ouvert dans un autre mode que le mode Cration,


cliquez du bouton droit sur le nom de longlet de ltat puis choisissez Mode Cration dans le menu contextuel qui apparat.

Si ltat est ouvert dans un autre mode que le mode Cration, vous
pouvez galement cliquer sur le bouton Mode Cration prsent en
bas et droite de la fentre dAccess, dans la Barre dtat.

Figure 7.22 : Le mode Cration

Linterface du mode Cration se compose principalement :

470

de sections (dtail, en-tte et pied dtat, en-tte et pied de page et


en-tte et pied de groupe) ;

de contrles (tiquettes, zones de texte, listes droulantes, cases


cocher, etc.) ;

de rgles (horizontale et verticale) ;

dun volet des proprits ;

7. Restituer les donnes

des onglets Cration, Organiser, Format et Mise en page de longlet


contextuel Outils de cration dtat.

Figure 7.23 : Les principaux composants de la structure dun tat

Utiliser les sections de ltat


Un tat se compose dau moins sept sections dont la principale est la
section Dtail. Les autres sections, dont lusage est facultatif, saffichent par paires dans ltat : len-tte dtat et le pied dtat, len-tte
de page et le pied de page, les en-ttes et les pieds de groupe.
j

La section Dtail permet dafficher des contrles tels que des


tiquettes, des zones de texte et ne peut pas tre supprime. Cette
section est la principale zone daffichage des donnes des tables et
des requtes.

La section En-tte dtat apparat dans la partie suprieure de ltat.


Elle est gnralement rserve laffichage dinformations communes aux donnes prsentes, comme le titre de ltat dans la
premire page de ltat.

La section Pied dtat apparat dans la partie infrieure de ltat.


linverse de la prcdente, elle est gnralement rserve laffichage dinformations ou des commentaires dans la dernire page
de ltat.

Pour afficher ou masquer les sections En-tte dtat et Pied dtat,


suivez la procdure dcrite ci-aprs.
1 Affichez ltat en mode Cration.
2 Effectuez un clic droit sur lentte dune zone, puis choisissez
En-tte/pied de rapport dans le menu contextuel qui saffiche.

7.1. Crer des tats simples

471

Figure 7.24 : Laffichage de lentte et du pied dtat

Masquer seulement une section en mode Cration


Pour masquer une section laffichage des donnes dans les modes Etat,
Page et Aperu avant impression, cliquez en mode Cration sur la section
masquer et affichez le volet des proprits en utilisant le bouton Feuille des
proprits du groupe Outils de longlet Outils de cration dtat/Cration.
Choisissez Non pour la proprit Visible. Ainsi, la section choisie reste affiche en mode Cration mais elle est masque dans les autres modes.

Figure 7.25 : Ici, la section Pied dtat


sera masque

La section En-tte de page renferme les objets placs dans la partie


suprieure de ltat et affiche des informations telles que des
en-ttes de colonnes qui se rptent sur chaque page.

La section Pied de page renferme les objets placs dans la partie


infrieure (la date par exemple) de ltat et qui sont affichs sur
chaque page.

Pour afficher ou masquer les sections En-tte de page et Pied de page,


procdez comme dcrit ci-aprs.
1 Affichez ltat en mode Cration.
2 Cliquez du bouton droit sur lentte dune section et choisissez
En-tte et pied de page dans le menu contextuel qui apparat.
j

472

La section En-tte de groupe renferme les zones de texte du


regroupement qui saffichent chaque changement de groupe.

7. Restituer les donnes

La section Pied de groupe renferme les zones de texte du regroupement telles des totaux qui saffichent chaque fin de groupe.

Pour afficher les sections En-tte de groupe et Pied de groupe, il est


ncessaire davoir prcdemment cr un ou plusieurs regroupements (cette opration est explicite plus loin dans cette section).
Oprez alors comme suit pour afficher les sections En-tte de groupe
et Pied de groupe.
1 Affichez ltat en mode Cration.
2 Cliquez sur longlet Outils de cration dtat/Cration puis sur le
bouton Regrouper et trier du groupe Regroupement et totaux ou
cliquez du bouton droit dans une section et choisissez Trier et
grouper dans le menu contextuel qui apparat.
3 Cliquez sur le bouton Plus de la ligne Regrouper sur du regroupement qui est affich dans le volet Regrouper, trier et total de la
partie infrieure de longlet de ltat.
4 Choisissez dans la premire liste avec une section den-tte ou sans
section den-tte pour afficher ou masquer len-tte du groupe.
5 Choisissez dans la deuxime liste avec une section de pied de page
ou sans section de pied de page pour afficher ou masquer le pied de
groupe.
En mme temps que vous ralisez ces deux modifications, la section
En-tte de groupe et la section Pied de groupe du champ saffichent
dans ltat avant et aprs la section Dtail.

Figure 7.26 : Laffichage de len-tte et du pied de groupe

7.1. Crer des tats simples

473

Regroupement
Dans un tat, ce terme dsigne le fait de rassembler les enregistrements
dont les contenus dun ou de plusieurs champs sont identiques.

Utiliser les proprits et les objets contrles


Les utilisations des proprits, des mises en forme de ltat et des
contrles de ltat sont analogues celles pratiques dans les formulaires et accessibles notamment via les onglets Outils de cration
dtat/Cration, Organiser et Format de longlet contextuel Outils de
cration dtat.
Reportez-vous au chapitre 6 Amliorer la saisie pour plus dinformations sur ce sujet.

Trier les donnes


Les donnes affiches dans les tats sont tries dans la plus grande
majorit des cas.
1 Affichez ltat en mode Cration.
Le tri le plus frquent est effectu sur un champ unique.
2 Dans une section den-tte de groupe ou dans la section dtail,
cliquez du bouton droit sur la zone de texte du champ trier,
cliquez sur Tri croissant ou Tri dcroissant dans le menu contextuel
qui saffiche.

Effectuer un tri depuis le mode Page


Le tri est galement possible depuis le mode Page, en utilisant la mme
mthode que dcrit prcdemment. Le rsultat du tri est alors immdiatement visible puisque les donnes sont prsentes dans lordre choisi.

Limitation de ce mode opratoire


En mode Page comme en mode Cration, la ralisation dun tri opr en
cliquant du bouton droit sur une zone de texte nautorise quun tri sur un
champ unique. En effet, si un tri a t effectu sur une zone puis quun second
est effectu, le premier tri est annul au profit du second.

474

7. Restituer les donnes

Un tri sur plusieurs champs est galement possible. Il vous faudra


alors dfinir les tris conscutifs en utilisant longlet Regrouper, trier et
total.
3 Depuis le mode Cration, cliquez sur longlet Outils de cration
dtat/Cration puis sur le bouton Regrouper et trier du groupe
Regroupement et totaux ou cliquez du bouton droit dans une section et choisissez Trier et grouper dans le menu contextuel qui
apparat.
Le volet Regrouper, trier et total apparat dans la partie infrieur de
longlet.
4 Pour ajouter un tri, cliquez sur Ajouter un tri dans le volet
Regrouper, trier et total.

Figure 7.27 : La cration dun


tri depuis le volet Regrouper,
trier et total

Une ligne Trier par saffiche dans le volet Regrouper, trier et total ainsi
que la liste des champs disponibles. Si la liste napparat pas, cliquez
sur la flche slectionner le champ.

7.1. Crer des tats simples

475

Figure 7.28 : Le choix du champ dterminant le tri

5 Cliquez sur un champ de la liste propose ou cliquez sur expression en bas de la liste de champs pour entrer une expression.
La ligne Trier par est complte par le champ ou lexpression saisie
dans le volet Regrouper, trier et total.
6 Pour spcifier lordre du tri, choisissez avec A en haut ou avec Z en
haut (ou le menu correspondant, en fonction du type de donnes
du champ trier, du plus ancien au plus rcent ou du plus rcent au
plus ancien, par exemple) depuis la deuxime flche de la ligne
Trier par (en effet, le libell indiquant lordre du tri change en
fonction du type de donnes du champ).

Figure 7.29 : La dfinition de


lordre dun tri

Il est possible de crer des tris sur plusieurs champs en crant autant
de lignes dans le volet que de tris. Rptez dans ce cas les tapes 4
6. Il vous est possible de dfinir jusqu dix niveaux de tri dans un
tat.
7 Pour modifier le niveau des tris, utilisez les boutons Monter ou
Descendre aprs avoir cliqu sur la ligne du tri Trier par dans le
volet Regrouper, trier et total.

476

7. Restituer les donnes

Figure 7.30 : Larborescence des niveaux de tris

Suppression dun tri


Affichez le volet Regrouper, trier et total en utilisant le bouton Regrouper
et trier du groupe Regroupement et totaux de longlet Outils de cration
dtat/Cration. Pour supprimer un tri, cliquez sur le bouton Supprimer
symbolis par une croix situe droite de la ligne Trier par ou cliquez sur la
ligne de tri supprimer puis utilisez la touche [Suppr].

Regrouper les donnes


Il est possible de regrouper des enregistrements sur un ou plusieurs
champs et dafficher les sous-totaux et les totaux gnraux dans un
tat. Le mode opratoire est presque identique celui utilis pour
effectuer un tri.
Le regroupement de donnes ncessite lajout de la section En-tte
de groupe et/ou de la section Pied de groupe dun champ dans ltat
affich. Procdez ainsi :
1 Affichez ltat en mode Cration.
2

Cliquez sur longlet Outils de cration dtat/Cration puis


sur le bouton Regrouper et trier du groupe Regroupement et
totaux ou cliquez du bouton droit dans une section et choisissez Trier et grouper dans le menu contextuel qui apparat.

Le volet Regrouper, trier et total apparat dans la partie infrieur de


longlet.

Effectuer un regroupement en mode Page


Si vous utilisez le mode Page, le regroupement apparatra immdiatement
lcran

3 Pour ajouter un nouveau regroupement, cliquez sur Ajouter un


groupe dans le volet Regrouper, trier et total.

7.1. Crer des tats simples

477

Figure 7.31 : La cration dun regroupement depuis le volet Regrouper, trier et total

Une ligne Regrouper sur saffiche dans le volet Regrouper, trier et total
ainsi que la liste des champs disponibles. Si la liste napparat pas,
cliquez sur la flche slectionner le champ.
4 Cliquez sur un champ de la liste propose ou cliquez sur expression en bas de la liste de champs pour entrer une expression.

Figure 7.32 : La slection du champ

La ligne Regrouper sur est complte par le champ ou lexpression


saisie dans le volet Regrouper, trier et total.
En mme temps que vous ralisez cette opration, la section En-tte
de groupe du champ saffiche dans ltat avant la section Dtail.

Le rle des en-ttes de groupes


Bien que lutilisation des en-ttes de groupes ne soit pas obligatoire,
ceux-ci facilitent considrablement la lecture de ltat et en amliorent la
prsentation. En effet, dans la majorit des tats, les en-ttes de groupes sont
utiliss afin dafficher une unique fois la donne sur laquelle est affect le
regroupement (vitant ainsi la rptition fastidieuse de la mme information
dans plusieurs lignes de ltat).

478

7. Restituer les donnes

5 La section den-tte affiche est pour linstant vide. Insrez-y la


zone de texte du champ correspondant au regroupement.
Lillustration suivante montre, par exemple, que la ville sera affiche
chaque changement de ville.

Figure 7.33 : Laffichage de la


ville dans len-tte de groupe

Il est possible de crer des regroupements sur plusieurs champs en


dfinissant autant de lignes dans le volet que de regroupements.
Rptez pour ce faire les tapes 3 5. Vous pouvez dfinir jusqu dix
niveaux de regroupement dans un tat.
6 Pour modifier le niveau des regroupements, utilisez les boutons
Monter ou Descendre aprs avoir cliqu sur la ligne du regroupement Regrouper sur dans le volet Regrouper, trier et total.

Suppression dun regroupement


Affichez le volet Regrouper, trier et total en utilisant le bouton Regrouper
et trier du groupe Regroupement et totaux de longlet Outils de cration
dtat/Cration. Pour supprimer un regroupement, cliquez sur le bouton
Supprimer symbolis par une croix situe droite de la ligne Regrouper sur
ou cliquez sur la ligne du regroupement supprimer puis utilisez la touche
[Suppr]. Les objets qui figurent dans les sections de groupe sont supprims. De
mme, lorsquun regroupement est supprim, les sections den-tte et pied
de groupe sont systmatiquement supprimes.

7.1. Crer des tats simples

479

Insrer des totaux


Lun des intrts majeurs des regroupements est de pouvoir effectuer des calculs intermdiaires, spcifiques aux donnes regroupes. Les calculs les plus frquents sont ceux de la somme de
donnes numriques regroupes ou du comptage des informations
regroupes pour chaque regroupement. Procdez ainsi :
1 Aprs avoir cr un regroupement, cliquez sur le bouton Plus de la
ligne Regrouper sur du regroupement dans le volet Regrouper, trier
et total.
2 Cliquez sur la flche propose droite du bouton sans totaux et
choisissez le nom du champ sur lequel devra seffectuer lopration dans la liste qui est alors affiche dans la zone Total sur.
3 Dans la zone Type, choisissez lopration effectuer.
4 Cochez lune des cases proposes plus bas pour indiquer lemplacement du calcul dans ltat.

Figure 7.34 : Linsertion de totaux, ici dans un pied de groupe

Afficher uniquement les totaux


Vous pouvez souhaiter ne voir apparatre que les totaux dans ltat. Pour
ce faire, en mode Cration, affichez les proprits de la section Dtail et
choisissez la valeur Non la proprit Visible de longlet Format du volet
Feuille de proprits.
Une autre mthode consiste cliquer sur le bouton
Masquer les dtails du groupe Regroupement et totaux
de longlet Outils de cration dtat/Cration.
Si lopration est effectue depuis le mode Page, le bouton Masquer les
dtails est accessible partir de longlet Format.

480

7. Restituer les donnes

Insrer un saut de page


Les sauts de page peuvent tre insrs manuellement dans les tats.
1 Affichez ltat en mode Cration.
2

Cliquez sur longlet Outils de cration dtat/Cration puis sur


le bouton Insrer un saut de page du groupe Contrles.

3 Cliquez dans ltat lendroit o vous souhaitez placer le saut de page.


Le saut de page est symbolis par un trait en pointill sur le bord
gauche de ltat.

Figure 7.35 : La cration dun saut de page

Il est galement possible de gnrer automatiquement des sauts de


page dtermins par la position des sections.
1 Affichez ltat en mode Cration.
2 Double-cliquez dans une section (un pied de groupe, par exemple)
pour afficher ses proprits. Dans la proprit Saut de page de
longlet Format du volet Feuille de proprits choisissez lune des
valeurs suivantes sur la liste droulante :
Avant section pour imprimer les donnes de la section sur une
nouvelle page ;
Aprs section pour imprimer les donnes de la section suivante
sur une nouvelle page ;
Avant & aprs section pour imprimer les donnes de la section
sur une nouvelle page et celles de la section suivante sur une
nouvelle page.

Figure 7.36 : Le paramtrage


des sauts de pages lis aux
sections
7.1. Crer des tats simples

481

Fermer et enregistrer un tat


Une fois la structure dun tat dfinie, en mode Cration, le travail
doit tre mmoris par Access. Pour cela, ltat doit tre ferm et
enregistr.
1 Pour fermer longlet Etat1, cliquez sur le bouton Fermer symbolis
par une croix dans langle suprieur droit de longlet ou utilisez la
combinaison de touches [Ctrl]+[F4].
Si ltat a t modifi depuis son prcdent enregistrement, la bote
de dialogue Microsoft Office Access apparat et vous demande si vous
souhaitez enregistrer ltat.
2 Cliquez sur le bouton Oui.
La bote de dialogue Enregistrer sous apparat, si ltat na pas encore
t enregistr. Dans le cas contraire, ltat est enregistr avec le nom
qui lui a dj t affect et la bote de dialogue Enregistrer sous
napparat pas.
3 Si la bote de dialogue Enregistrer sous apparat, remplacez Etat1
dans la zone Nom de ltat par votre propre nom, puis cliquez sur le
bouton OK.

Enregistrer nouveau ltat


Les oprations dcrites dans ce qui prcde supposent que ltat est
enregistr pour la premire fois. Dans le cas contraire, pour enregistrer la
nouvelle version de ltat avec le mme nom, utilisez la combinaison de
touches [Ctrl]+[S] ou cliquez sur longlet Fichier puis choisissez le menu Enregistrer.

7.2. Crer des tats avancs


Un tat principal est un tat qui contient au moins un sous-tat. Un
sous-tat est un tat contenu dans un tat.
Il est donc possible de crer ultrieurement un sous-tat dans un tat
existant.
1 Ouvrez en mode Cration ltat auquel vous souhaitez ajouter le
sous-tat.
2 Dans le groupe Contrles de longlet Outils de cration dtat
/Cration, vrifiez que le bouton Utiliser les Assistants Contrle est

482

7. Restituer les donnes

activ (fond orange), cliquez sur le bouton Sous-formulaire


/Sous-tat puis dans ltat.

Figure 7.37 : Lajout du sous-tat est facilit lorsque le bouton Assistants contrle est activ

La fentre de lAssistant Sous-tat saffiche.


3 Choisissez loption Utiliser les tables et les requtes existantes pour
dterminer la source de ltat crer et utiliser comme sous-tat
ou loption Utiliser un tat ou un formulaire existant et slectionnez
dans ce cas, sur la liste, ltat utiliser comme sous-tat. Cliquez
sur le bouton Suivant.

Figure 7.38 : Ltat ajout peut tre cr ou choisi parmi les tats existants

Ltape suivante est excute si loption Utiliser les tables et les requtes existantes a t choisie ltape prcdente.
7.2. Crer des tats avancs

483

4 Choisissez sur la liste de la zone Tables/Requtes, la table ou la


requte utiliser comme source de ltat crer. Dplacez les
champs de la liste Champs disponibles sur la liste Champs slectionns. Cliquez sur le bouton Suivant.

Figure 7.39 : La slection des champs affichs dans le sous-tat

5 Choisissez lune des options proposes pour indiquer le lien entre


ltat principal et le sous-tat :
Loption Choisir partir dune liste permet de sappuyer sur une
ventuelle relation existante.
Loption Les dfinir moi-mme permet de crer le lien partir des
zones Champs du formulaire/de ltat et Champs du sous-formulaire/de ltat.

Figure 7.40 : Ici, une relation temporaire va tre dfinie

484

7. Restituer les donnes

6 Cliquez sur le bouton Suivant de la fentre de lAssistant.


7 la dernire tape de lAssistant, modifiez ventuellement le nom
du sous-tat, puis cliquez sur le bouton Terminer.
Le sous-tat est cr dans ltat principal. Il est modifiable depuis le
mode Cration de ltat principal, mais galement depuis le Volet de
navigation.
8 Pour vrifier le lien dfini par lAssistant entre les deux tats, en
mode Cration, cliquez sur le sous-tat, affichez son volet des
proprits puis cliquez sur longlet Donnes.
La proprit Objet source dfinit le nom du sous-tat. Les proprits
Champs fils et Champs pres dfinissent le lien dfini dans lAssistant.
Le lien est constitu par la valeur du champ commune aux deux listes
de champs des tats.

Figure 7.41 : La dfinition du lien entre ltat principal et le sous-tat dans le volet des proprits

7.3. Cas pratique


Vous allez raliser maintenant limpression dun carnet dadresses
laide de lAssistant ; et des modifications seront apportes ltat
cr.
Un tat et un sous-tat seront ensuite constitus afin de visualiser les
factures dans lapplication de gestion des factures que vous avez
dveloppe dans les chapitres prcdents.

Tlchargement de la base de donnes


Vous trouverez la base de donnes Facturation livres7.accdb utilise dans
ce chapitre sur le site de Micro Application (www.microapp.com) dans le dossier
Chapitre07.

7.3. Cas pratique

485

Raliser un tat du carnet dadresses


avec lAssistant
Vous allez raliser un tat rcapitulatif des adresses avec lAssistant
Etat afin dimprimer les donnes de la table des contacts. Procdez
ainsi :
1 Ouvrez la base de donnes Facturation livres7. accdb.
2 Cliquez sur la table Contacts dans le volet de navigation puis sur le
bouton Assistant Etat du groupe Etats de longlet Crer.
3 la premire tape de lAssistant, dplacez les champs de la
colonne Champs disponibles dans la colonne Champs slectionns,
en cliquant sur le bouton >>, puis cliquez sur le bouton Suivant.

Figure 7.42 : Le choix de lAssistant et de la table

4 la deuxime tape de lAssistant, ne choisissez pas de regroupement et cliquez sur Suivant.


5 la troisime tape de lAssistant, choisissez de trier les enregistrements sur le champ nom dans lordre Croissant sur la premire
liste droulante, puis cliquez sur le bouton Suivant.
6 la quatrime tape, choisissez la disposition Verticale et lorientation Portrait, puis cliquez sur le bouton Suivant.
7 Donnez le titre Carnet dadresses ltat. Laissez loption Aperu de
ltat coche puis cliquez sur Terminer la dernire tape.
la fermeture de lAssistant, ltat est automatiquement ouvert en
mode Aperu avant impression.

486

7. Restituer les donnes

Figure 7.43 : Laperu avant impression, sur deux pages

8 Fermez ltat.

Raliser ltat des factures


Vous allez maintenant raliser un tat en mode Cration et utilisant des
calculs. Votre objectif sera dimprimer les factures. Vous allez donc crer
un tat employant plusieurs tables en mode Cration. Procdez ainsi :
1 Cliquez sur longlet Crer puis sur le bouton Cration dtat du
groupe Etats.
Longlet vierge Etat1 saffiche avec les trois sections En-tte de page,
Dtail et Pied de page en mode Cration.
Vous allez ajouter une tiquette que vous personnaliserez :
2 Cliquez sur le bouton Etiquette de longlet Cration de longlet
contextuel Outils de cration dtat. Cliquez dans len-tte de page de
ltat pour y poser ltiquette et saisissez FACTURE dans ltiquette.
Cliquez en dehors de la zone pour sortir du mode ddition.
Double-cliquez dessus pour visualiser ses proprits dans le volet
des proprits.
3 Pour changer lapparence de ltiquette selon vos gots, modifiez des
proprits de longlet Format (Couleur texte, Taille de police, etc.)
dans le volet des proprits de ltiquette ou utiliser les boutons
du groupe Police de longlet Outils de cration dtat/Format.

7.3. Cas pratique

487

4 Cliquez sur longlet Outils de cration dtat/Organiser puis sur le


bouton Taille/Espace et enfin sur Au contenu pour ajuster la taille
de ltiquette son contenu.

Figure 7.44 : Lajout dune tiquette dans len-tte de ltat

La source de votre tat est vide pour linstant. Vous souhaitez afficher
toutes les factures avec leurs lignes. Vous allez crer une requte, qui
sera la source de ltat et va extraire pour chaque facture de la table
Factures, les lignes de facture de la table Factureligne.
5 Affichez le volet des proprits de ltat. Dans la proprit Source
de longlet Donnes, accdez au Gnrateur de requte en cliquant
sur les trois points.

Figure 7.45 : Lajout des tables la requte

488

7. Restituer les donnes

6 Dans la bote de dialogue Afficher la table, slectionnez les tables


Contacts, Factureligne, Factures, Livres et Taxes en maintenant la
touche [Ctrl] enfonce. Cliquez sur le bouton Ajouter puis sur le
bouton Fermer de la bote de dialogue.
7 Sur la liste des tables de la fentre Etat1 : Gnrateur de requte,
vrifiez que toutes les tables et les jointures sont affiches.
Il vous faut maintenant crer toutes les colonnes de la requte dans
la grille de cration.
8 Dans la premire colonne de la grille de cration, choisissez tous
les champs de la table Factures en slectionnant Factures.*. Choisissez les champs nom, societe, adresse, ville et cp dans la table
Contacts. Dans la table Factureligne, retenez le champ quantite.
Dans la table Livres, prenez les champs nolivre, titre, prixHT. Dans
la table Taxes, choisissez le champ tva.

Figure 7.46 : Les colonnes de la requte

9 Fermez et enregistrez la fentre du Gnrateur de requte.


La proprit Source de ltat contient maintenant la requte SQL.
Vous allez afficher les informations qui constitueront la base de
len-tte de la facture.
10 Affichez la liste des champs de ltat, si elle nest pas affiche, en
cliquant sur le bouton Ajouter des champs existants du groupe
Outils de longlet Outils de cration dtat/Cration.
11 Slectionnez les champs nofacture, nocontact, datefacture, nom,
societe, adresse, cp et ville en maintenant la touche [Maj] enfonce
depuis la liste des champs. Glissez-les dans la section En-tte de
page.
7.3. Cas pratique

489

Vous allez maintenant choisir les informations qui constitueront la


base de la section Dtail de la facture.
12 Glissez les champs quantite, nolivre, titre, prixHT et tva dans la
section Dtail. Supprimez les tiquettes de chaque zone de texte,
alignez les zones horizontalement et donnez-leur une taille correcte.

Figure 7.47 : Lajout des zones de texte dans la section Dtail

Un regroupement sur le numro de facture va permettre de grouper


les factures par numros de la source de ltat.
13 Cliquez du bouton droit dans une section de ltat puis choisissez
Trier et grouper dans le menu contextuel qui saffiche. Dans le volet
Regrouper, trier et total, cliquez sur le bouton Ajouter un groupe
puis choisissez nofacture dans la liste propose.
La ligne Regrouper sur nofactures saffiche dans le volet.
14 Conservez lordre de tri Du plus petit au plus grand dans la
deuxime liste de la ligne. Cliquez sur le bouton Plus de la ligne
puis vrifiez que la mention avec une section den-tte est choisie
ainsi que la mention avec une section de pied de page afin dafficher
les sections En-tte de groupe nofacture et Pied de groupe nofacture
dans ltat (voir Figure 7.48).
15 Fermez le volet Regrouper, trier et total.
Le regroupement fait apparatre les donnes du groupe dans la zone
de dtail. Les pieds de groupe vont afficher les totaux du groupe. Les
en-ttes et les pieds de page affichent des informations gnriques.
Vous allez dfinir des en-ttes de colonne de la zone Dtail.

490

7. Restituer les donnes

Figure 7.48 : La cration de len-tte de groupe et du pied de groupe sur le numro de facture

16 Dans la section En-tte de groupe nofacture, insrez des tiquettes


au-dessus de chaque zone de texte de la zone Dtail. Nommez
respectivement ces tiquettes Rfrence, Livre, Quantit, Prix unitaire HT et TVA. Mettez ventuellement ces objets en forme en
utilisant les boutons des onglets Outils de cration dtat/Format et
Organiser.
Vous allez crer une ligne sparatrice en dessous de ces tiquettes.
17 Cliquez sur le bouton Trait du groupe Contrles de longlet Outils de
cration dtat/Cration. Tracez la ligne en vous plaant en dessous
des cinq tiquettes. Modifiez lpaisseur de la ligne en utilisant la
proprit Epaisseur bordure et sa couleur en employant Couleur
bordure dans sa feuille des proprits.

Figure 7.49 : Lajout dune ligne dans len-tte de groupe


7.3. Cas pratique

491

Augmenter la largeur du trait sans le dformer


Cliquez sur lune des extrmits du trait, puis, tout en maintenant la touche
[Maj] enfonce, tirez le trait. Vous pouvez galement modifier la proprit
Largeur de longlet Format dans sa fentre des proprits pour tre plus
prcis.

chaque changement de numro de facture, un saut de page doit


tre effectu.
18 Double-cliquez dans la section Pied de groupe nofacture pour afficher ses proprits dans le volet Feuille de proprits. Dans la
proprit Saut de page de longlet Format, choisissez Aprs section
dans la liste droulante.

Figure 7.50 : La cration dun


saut de page

19 Visualisez le rsultat et vrifiez en mode Aperu avant impression


que le saut de page correspond au changement de facture. Enregistrez ltat avec le nom Mes factures en utilisant longlet Fichier
puis en cliquant sur Enregistrer sous.
Vous allez ajouter les totaux hors taxes dans chaque ligne. Cette
valeur se calcule en multipliant la quantit par le prix unitaire hors
taxes dun livre.
20 Affichez ltat en mode Cration et agrandissez ventuellement la
largeur de ltat. Ajoutez, dans la section Dtail, une nouvelle zone
de texte laide du bouton Zone de texte de longlet Outils de
cration dtat/Cration.
21 Supprimez ltiquette qui est automatiquement affecte car elle
est inutile dans la section Dtail. Double-cliquez sur la zone de
texte ajoute pour afficher ses proprits. Cliquez dans la zone de
492

7. Restituer les donnes

saisie de la proprit Source contrle de longlet Donnes. Affichez


le Gnrateur dexpression en cliquant sur les trois points. Dans le
Gnrateur dexpression, slectionnez ltat Mes factures sur la
liste gauche, puis cliquez dans la liste centrale sur <Liste de champ>
et double-cliquez, dans la liste de droite, sur quantite. Saisissez
loprateur *, puis double-cliquez sur prixHT. Cliquez sur OK.

Figure 7.51 : La dfinition du calcul dans le Gnrateur dexpression

La formule est affiche dans la proprit Source contrle de la zone de


texte. Cette nouvelle zone de texte doit utiliser un format montaire.
22 Dans la proprit Format de la zone de texte de longlet Format,
choisissez Montaire sur la liste. Ajoutez ltiquette Total HT audessus de cette zone dans la section En tte de groupe nofacture.

Figure 7.52 : Le formatage du total hors taxe par ligne de facture

Vous allez calculer le montant total hors taxe de la facture et lafficher


dans le pied du groupe nofacture.

7.3. Cas pratique

493

23 Insrez une zone de texte dans la section Pied de groupe nofacture.


Modifiez son tiquette : saisissez Montant total HT :.
Vous allez dfinir la formule qui calculera la somme des montants
hors taxes.
24 Affichez le volet des proprits de la zone de texte ajoute. Dans la
proprit Source contrle de longlet Donnes, appelez le Gnrateur dexpression.
25 Dans le Gnrateur dexpression, dveloppez Fonctions dans la
liste de gauche, puis cliquez sur Fonctions intgres. Dans la liste
centrale, choisissez Regroupement SQL puis double-cliquez sur
Somme dans la liste de droite.
26 Slectionnez expression dans la zone ddition, cliquez sur lobjet Mes Factures dans la liste de gauche, puis cliquez sur <Liste de
champ> et double-cliquez, dans la liste de droite, sur quantite.
Cliquez sur loprateur *, double-cliquez sur prixHT dans la liste de
droite.
La formule obtenue dans le Gnrateur dexpression est la suivante :
Somme ( [quantite] * [prixHT] ).

Figure 7.53 : La dfinition du calcul dans le Gnrateur dexpression

27 Fermez le Gnrateur dexpression en cliquant sur le bouton OK.


La formule est affiche dans la proprit Source contrle de la zone de
texte. Vous allez formater la zone de texte au format montaire et la
nommer MontantHT.
494

7. Restituer les donnes

28 Dans la proprit Format de la zone de texte, choisissez Montaire


sur la liste droulante, puis saisissez MontantHT dans la proprit
Nom de longlet Autres.

Figure 7.54 : La
modification du nom de la
zone de texte du montant
total HT de la facture

Il vous faut calculer le montant total de la TVA de la facture qui sera


galement affich dans le pied du groupe nofacture.
29 Insrez une zone de texte dans la section Pied de groupe nofacture.
Modifiez son tiquette : saisissez Montant total TVA :.
Vous allez dfinir le calcul de la TVA.
30 Affichez le volet des proprits de la zone de texte ajoute. Dans la
proprit Source contrle de longlet Donnes, ouvrez le Gnrateur dexpression.
31 Dans le Gnrateur dexpression, dveloppez Fonctions dans la
liste de gauche, puis cliquez sur Fonctions intgres. Dans la liste
centrale, choisissez Regroupement SQL, puis double-cliquez sur
Somme dans la liste de droite.
32 Slectionnez expression dans la zone ddition, cliquez sur lobjet Mes Factures dans la liste de gauche, puis cliquez sur <Liste de
champ> et double-cliquez, dans la liste de droite, sur quantite.
Saisissez loprateur * puis double-cliquez sur prixHT. Saisissez
nouveau loprateur * puis double-cliquez sur tva. Fermez le Gnrateur dexpression en cliquant sur le bouton OK.

Figure 7.55 : La dfinition


du calcul du montant total
de TVA dans le Gnrateur
dexpression

7.3. Cas pratique

495

La formule est affiche dans la proprit Source contrle de la zone de


texte. Formatez cette nouvelle zone de texte au format montaire et
nommez-la MontantTVA.
33 Dans la proprit Format de la zone de texte, choisissez Montaire
dans la liste droulante, puis saisissez MontantTVA dans la proprit
Nom de longlet Autres.
Figure 7.56 : Le nom, la
source et le format de la
zone de texte du montant
total de TVA de la facture

Il est alors possible de calculer le montant total toutes taxes comprises de la facture, qui est la somme du montant total hors taxes et du
montant total de la TVA, et de faire apparatre dans le pied du groupe
nofacture.
34 Insrez une dernire zone de texte dans la section Pied de groupe
nofacture. Modifiez son tiquette : saisissez Montant total TTC :.
Vous devez maintenant dfinir le calcul du montant total toutes taxes
comprises.
35 Affichez le volet des proprits de la zone de texte ajoute. Dans la
proprit Source contrle de longlet Donnes, appelez le Gnrateur dexpression.
36 Dans le Gnrateur dexpression, cliquez sur lobjet Mes Factures
dans la liste de gauche. Dans la liste centrale, double-cliquez sur
lobjet MontantHT. Tapez loprateur +. Toujours dans la liste centrale, double-cliquez sur MontantTVA. Fermez le Gnrateur dexpression en cliquant sur le bouton OK.

Figure 7.57 : La dfinition


du calcul dans le
Gnrateur dexpression

496

7. Restituer les donnes

Formatez maintenant cette nouvelle zone de texte au format montaire.


37 Dans la proprit Format de la zone de texte, choisissez Montaire
dans la liste droulante. Insrez une ligne sparatrice au-dessus
des trois totaux crs dans la section Pied de groupe nofacture.

Figure 7.58 : Les trois totaux sont dsormais dfinis dans le pied de groupe de la facture

38 Visualisez le rsultat via le mode Aperu avant impression.


Allez prsent plus loin dans la personnalisation de la facture en y
insrant un logo et le nom de lentreprise dans len-tte de la page.
39 Affichez ltat en mode Cration, slectionnez tous les objets de la
section En-tte de page et glissez la slection vers le bas.
40 Insrez le logo de lentreprise en cliquant sur le bouton Image du
groupe Contrles de longlet Outils de cration dtat/Cration. Cliquez dans la section En-tte de page. Dans la bote de dialogue
Insrer une image, slectionnez limage dans un dossier de larborescence du disque dur, puis cliquez sur le bouton OK.

Figure 7.59 : Le bouton Image du groupe Contrles

41 Placez limage en haut gauche dans len-tte et redimensionnez-la la taille voulue.


Insrez maintenant une tiquette droite du logo et en alignement
avec celui-ci.
42 Insrez une tiquette et saisissez-y le nom de lentreprise avec la
mise en forme de votre choix dans la section En-tte de page.

7.3. Cas pratique

497

43 Pour aligner le bord suprieur de ltiquette avec le bord suprieur


de limage, slectionnez les deux objets puis cliquez sur le bouton
Aligner du groupe Redimensionnement et classement de longlet
Outils de cration dtat/Rorganiser puis choisissez Haut dans la
liste propose.
Les objets salignent sur le bord suprieur le plus haut.

Figure 7.60 : Lajout dun logo

Dans len-tte de la page, la ligne du numro du client (correspondant la ligne nocontact) affiche le nom du client car elle a repris la
liste de choix dfinie dans la structure de la table Factures. Or cette
liste de choix, rappelons-le, affiche les noms des contacts (mme si
elle utilise les cls primaires de la table des contacts). Pour retrouver
le numro du contact, la zone de liste droulante insre doit tre
remplace par une zone de texte.
44 Cliquez du bouton droit dans la liste droulante nocontact dans la
section En-tte de page. Choisissez Remplacez par/Zone de texte
dans le menu contextuel qui apparat.
Vous allez insrer un encadr autour des coordonnes du client.
45 Modifiez la lgende des tiquettes non significatives, comme le
numro de facture, le numro de client et la date de facture.
Rorganisez les objets de la section en rassemblant les coordonnes du client.
46 Cliquez sur le bouton Rectangle du groupe Contrles de longlet
Outils de cration dtat/Cration puis tracez un rectangle en recouvrant les coordonnes dans la section En-tte de page. Modifiez la
couleur du rectangle par les proprits Couleur fond et Apparence.

498

7. Restituer les donnes

47 Placez le rectangle masquant les coordonnes du client larrireplan au moyen du bouton Mettre en arrire-plan du groupe Redimensionnement et classement de longlet Outils de cration dtat
/Organiser.

Figure 7.61 : La
rorganisation de len-tte
de page de ltat

48 Corrigez ventuellement la mise en forme depuis le mode Page


puis visualisez le rsultat final en utilisant le mode Aperu avant
impression.

Figure 7.62 : Le rsultat


final

7.3. Cas pratique

499

49 Fermez et enregistrez ltat Mes Factures.

Tlchargement de la base de donnes


Vous trouverez la base de donnes finalise Facturation livres7finale.accdb utilise dans ce chapitre sur le site de Micro Application (www.
microapp.com) dans le dossier Chapitre07.

500

7. Restituer les donnes

CHAPITRE 8

AUTOMATISER
LES TRAITEMENTS
Crer une macrocommande ................................................................................ 503
Crer des modules en Visual Basic ................................................................... 509
Crer des graphiques .............................................................................................. 512
Crer des tableaux croiss dynamiques ......................................................... 516
Consulter les donnes dans un navigateur Internet ................................. 522
Dmarrer automatiquement lapplication ..................................................... 526
Cas pratique ................................................................................................................. 528

501

ce stade, vous ne pouvez toujours pas demander un dbutant


dutiliser lapplication en ltat. Il vous reste rendre votre base de
donnes plus agrable employer en automatisant ses diffrentes
actions. Ainsi, par exemple, un simple bouton permettant de lancer
un formulaire depuis la fentre principale de la base de donnes
rendra lopration beaucoup plus conviviale.
Vous allez donc dvelopper quelques fonctionnalits qui automatiseront les tches. La faon la plus simple de procder est certainement de crer un formulaire intgrant des boutons qui lanceront les
traitements. Il ne vous est pas ncessaire de connatre la programmation ; Access enregistre automatiquement les actions en langage
Visual Basic, si vous le dsirez.
Dans la dernire partie de cette section, et en conclusion de cet
ouvrage, vous dcouvrirez galement quelques fonctionnalits complmentaires la gestion courante des bases de donnes, telles que
les tableaux et les graphiques croiss dynamiques ou encore le
dmarrage dune application au lancement dAccess. Ces traitements, simples mettre en uvre au regard de la sophistication des
rsultats obtenus, ajouteront une touche finale professionnelle
votre travail.

8.1. Crer une macrocommande


Les macrocommandes (ou macros) sont des actions prenregistres
qui vous sont proposes par Access.
1

Dans la fentre de la base de donnes, cliquez sur longlet


Crer puis sur le bouton Macro du groupe Macros et code.

Le nouvel diteur de macros


Les utilisateurs de la version prcdente dAccess constateront une modification notable de lditeur de macros : la grille dactions et leurs arguments
quelle prsentait a t remplace par une nouvelle interface dcrite dans les
pages qui suivent.

Le nouveau mode Cration de macro dAccess 2010 se caractrise


par son onglet contextuel Outils de macro, laffichage dun onglet
intitul Macro1, contenant une liste droulante rpertoriant toutes les

8.1. Crer une macrocommande

503

actions proposes et le volet Catalogue dactions, classant les actions


par catgorie.
La liste droulante Ajouter une nouvelle action permet de dfinir au
moins une action de la macro.

Le volet Catalogue dactions


Pour afficher le volet du catalogue des actions, depuis le mode de
cration de macro, cliquez sur le bouton Catalogue dactions du
groupe Afficher/Masquer de longlet Cration de longlet textuel
Outils de macro.
Le volet Catalogue dactions propose les familles doprations suivantes :
Droulement de programme, regroupant des lments qui permettent
dorganiser le programme, tels que la cration de sous-macros ;
j Actions, regroupant toutes les actions, listes par catgories ;
j Dans cette base de donnes, donnant accs aux objets impliqus dans les
traitements des macros de la base de donnes.
j

Dans lexemple qui suit, une macro lance le navigateur Internet


Explorer.
2 Pour spcifier laction excute par la macro, cliquez dans la liste
droulante Ajouter une nouvelle action, puis choisissez Excuter
Application.

Afficher toutes les actions


Il se peut que la liste droulante ne contienne pas toutes les actions
proposes par Access. Dans ce cas, cliquez sur le bouton Afficher toutes les
actions du groupe Afficher/Masquer de longlet Outils de macro/Cration.

Figure 8.1 : Le bouton Afficher


toutes les actions du groupe
Afficher/Masquer

La zone Ligne de commande saffiche. Elle est spcifique cette


action. Si une autre action avait t choisie, dautres zones (ou
arguments) spcifiques seraient affiches et devraient tre renseignes pour paramtrer laction effectuer.

504

8. Automatiser les traitements

Argument
Ce terme dsigne des valeurs transmises des programmes ou des
fonctions.

3 Saisissez dans la zone Ligne de commande le nom du fichier excutable (ici, celui dInternet Explorer), prcd de son chemin
daccs.

Figure 8.2 : La saisie dun argument

Macro excutant plusieurs actions


Pour enchaner plusieurs commandes dans une macro, slectionnez-les
successivement dans la liste droulante Ajouter une nouvelle action.

Figure 8.3 : Une macro peut se composer de plusieurs actions

4 Pour ajouter un commentaire, cliquez dans la liste droulante


Ajouter une nouvelle action, puis choisissez Commentaire. Dans la
zone affiche, saisissez un descriptif de laction, par exemple
Ouverture du navigateur.

8.1. Crer une macrocommande

505

5 Enregistrez la macro en cliquant sur longlet Fichier puis sur Enregistrer.


La nouvelle macro saffiche dsormais dans la liste Macros du Volet
de navigation.

Modifier une macro


1 Dans la liste des objets du volet de navigation, cliquez du bouton
droit sur le nom de la macro de votre choix. Choisissez Mode
cration dans le menu contextuel qui saffiche.
La macro saffiche en mode Cration.
2 Pour dplacer une action dans une macro, cliquez sur une des
flches vertes droite du nom de laction dplacer vers une
nouvelle position.

Figure 8.4 : Le dplacement


dune action vers le haut

3 Pour insrer une nouvelle action, cliquez sur la liste droulante


Ajouter une nouvelle action puis choisissez laction. Il est galement
possible de faire un glisser dune action depuis le volet Catalogue
des actions. Pour cela, dveloppez la catgorie Actions puis une
sous-catgorie dactions dans le volet Catalogue des actions, cliquez sur une action et oprez un glisser dans longlet de la macro.
En fonction de laction choisie, des zones de saisie des arguments
saffichent sous le nom de laction. Certaines dentre elles doivent
obligatoirement tre renseignes.

Affichage des actions


Utilisez les boutons du groupe Dvelopper/Rduire de longlet Outils de
macro/Cration si vous souhaitez dvelopper ou rduire, partiellement ou en
totalit, les paramtres des actions.

Figure 8.5 : Le groupe Dvelopper/Rduire

506

8. Automatiser les traitements

4 Pour supprimer une action, cliquez sur la ligne de laction, puis


cliquez sur le bouton Supprimer symbolis par une croix noire
droite du nom de laction.

Figure 8.6 : La suppression dune action

Crer des sous-macros dans une macro


Il est possible de crer plusieurs sous-macros dans une macro. Pour se
faire :

1 cliquez sur Sous-macro dans la liste Ajouter une nouvelle action ou,
depuis le volet Catalogue des actions, droulez la catgorie Droulement
de programme et double-cliquez sur Sous-macro.

2 Dans longlet de la macro, la premire zone de saisie permet de dfinir le


nom de la sous-macro. La liste droulante permet, quant elle, de spcifier les actions de la sous-macro.
Le libell "Sousmacro Fin", qui apparat sous la zone prcdente, indique la
fin de la macro.

Figure 8.7 : Les sous-macros dune macro

8.1. Crer une macrocommande

507

Excuter une macro


1 Ouvrez la macro en mode Cration.
2

Cliquez sur le bouton Excuter du groupe Outils de longlet


Outils de macro/Cration.

Excuter une macro plus rapidement


Pour excuter une macro, sans passer en mode Cration, double-cliquez
sur le nom de la macro dans le Volet de navigation ou cliquez du bouton droit
sur le nom de la macro et choisissez Excuter dans le menu contextuel qui
saffiche.

La macro excute squentiellement les actions dfinies.

Excuter pas pas une macro


Le mode Pas pas permet de dboguer facilement une macro
puisquun arrt est alors effectu chacune des actions quelle
contient.
1

Depuis le mode Cration, activez le mode Pas pas en


cliquant sur le bouton Pas pas du groupe Outils de longlet Outils
de macro/Cration.

Le fond du bouton apparat en orange.


2 Cliquez sur le bouton Excuter du groupe Outils de longlet Outils
de macro/Cration.

Figure 8.8 : La bote de dialogue Pas pas

508

8. Automatiser les traitements

La bote de dialogue Pas pas saffiche.


Vous pouvez alors appliquer lune des actions suivantes :
j

cliquer sur le bouton Pas pas pour excuter laction de la zone


Nom de laction de la bote de dialogue ;

cliquer sur le bouton Arrter toutes les macros pour interrompre


lexcution de la macro.
cliquer sur le bouton Continuer pour dsactiver le mode Pas pas
et poursuivre lexcution des autres actions de la macro.

Utiliser une macro


Le principal intrt dune macro est quelle peut tre lance depuis
lapplication, notamment au moyen des dclencheurs suivants :
j

un bouton de commande ;

un vnement dun formulaire, par exemple lvnement Clic dun


objet.

Figure 8.9 : Ici, la macro est lance par lvnement Clic de lobjet

8.2. Crer des modules en Visual Basic


Vous ne pouvez pas traiter tous les cas de figure avec les macrocommandes dAccess. Par exemple, si vous dveloppez un logiciel de
facturation, certains traitements doivent tre crits avec Visual Basic,
le langage de programmation utilis par Access.
Soyons ralistes, mme si Visual Basic est un langage de programmation aujourdhui entirement orient objet, que vous retrouvez
sur tous les logiciels de la suite bureautique de Microsoft, un certain
temps vous sera ncessaire pour matriser ses concepts. Nous nous
contenterons donc ici de vous prsenter Visual Basic sur un court
programme.
Lorsque le mode Formulaire du formulaire Factures-form (dvelopp
dans la base de donnes cre dans les cas pratiques des prcdents
chapitres) est activ et que la quantit des livres facturs est modifie
8.2. Crer des modules en Visual Basic

509

ou quun autre livre est ajout la facture, les montants totaux de la


facture ne se mettent pas jour immdiatement, lors de la modification. Access attend un dclencheur, un dplacement dans les factures par exemple, pour actualiser les calculs. Vous allez provoquer
le rafrachissement de tout le formulaire Factures-form au moyen
dune trs petite portion de code Visual Basic, encore appele "procdure vnementielle".

Figure 8.10 : Les totaux hors taxe de la facture seront actualiss grce un court programme en
Visual Basic

Tlchargement de la base de donnes


Vous trouverez la base de donnes utilise dans ce chapitre, Facturation
livres8.accdb, sur le site de Micro Application (www.microapp.com) dans le dossier Chapitre08.

1 Affichez le formulaire Factures-form en mode Cration, cliquez sur


la zone de texte quantite du sous-formulaire Facturelignes sousformulaire et affichez les proprits de cette zone. Cliquez sur
lvnement Sur perte focus puis sur le bouton symbolis par trois
points. Dans la bote de dialogue Choisir Gnrateur, slectionnez
Gnrateur de code puis cliquez sur OK.

510

8. Automatiser les traitements

Figure 8.11 : Le code Visual


Basic va tre associ
lvnement Sur perte focus

Access ouvre une fentre nomme Microsoft Visual Basic qui renferme elle-mme une fentre nomme Facturation livres8
Form_Facturelignes sous-formulaire (Code).
Cette fentre se compose de trois parties principales :
la premire affiche le nom de lobjet concern. Ici, il sagit de
lobjet de type zone de texte quantite ;
la deuxime indique lvnement. Ici, cest lvnement Sur perte
focus, traduit par Lost Focus, qui est utilis. Cet vnement se
produit lorsque lobjet est quitt, pour passer la zone suivante,
dans le formulaire, par exemple ;
la troisime affiche le code en langage Visual Basic. Il se compose
pour linstant de deux lignes. La premire, Private Sub quantite_LostFocus(), est le nom de la procdure ; la deuxime, End Sub,
correspond la fin de la procdure.
Vous allez ajouter une ligne de code en Visual Basic.
2 Entre les deux lignes du code de la procdure, saisissez la ligne
suivante :
Form.Refresh

Figure 8.12 : Le code de la


procdure en Visual Basic
dans le Gnrateur de code

Cette simple ligne de code utilise la hirarchie du modle Objet


dAccess :
8.2. Crer des modules en Visual Basic

511

Form correspond lobjet formulaire ;


Refresh est la mthode qui effectue une mise jour immdiate de

la source denregistrement dun objet formulaire ou dune feuille


de donnes.
En langage courant, cette ligne peut se traduire par : "Actualise le
formulaire."
3 Fermez la fentre Microsoft Visual Basic.
Dans la fentre des proprits de la zone de texte quantite, vous
voyez que la proprit Sur perte focus a t mise jour.

Figure 8.13 : La mise jour de la


proprit Sur perte focus par une
procdure vnementielle

4 Affichez le formulaire Factures-form en mode Formulaire et modifiez la quantit de livres facturs dans une facture.
Le total est dsormais immdiatement mis jour aprs validation de
la modification.
5 Ajoutez maintenant un livre achet dans une facture.
La mise jour de la zone est effectue immdiatement.
6 Fermez le formulaire Factures-form.

8.3. Crer des graphiques


Les donnes issues de tables ou de requtes peuvent tre illustres
par des graphiques qui finalisent lapplication en soulignant visuellement les rsultats des tats.
1 Cliquez sur une table ou une requte dans le volet de navigation.
2 Cliquez sur longlet Crer puis sur le bouton Plus de formulaires du
groupe Formulaires puis choisissez Graphique crois dynamique
dans la liste qui apparait.

512

8. Automatiser les traitements

Figure 8.14 : Le bouton Plus de formulaires

Access affiche longlet qui va vous permettre de composer le graphique crois dynamique.
3 Cliquez sur le bouton Liste des champs du groupe Afficher/Masquer
de longlet Crer de longlet contextuel Outils de graphique crois
dynamique.
Les champs de la table prcdemment choisie sont lists dans le
volet Liste des champs du graphique.

Figure 8.15 : Le mode Graphique crois dynamique

8.3. Crer des graphiques

513

Si les zones de dpt ne sont pas affiches, cliquez


sur le bouton Zones de dpt du groupe Afficher/
Masquer de longlet Outils de graphique crois dynamique/Crer.

Zones de dpt
Ces zones sont les espaces du graphique dans lesquels les noms de
champs sont glisss, dterminant ainsi la mise en forme du graphique.

Le graphique peut tre constitu par de simples glissements des


champs sur le schma de construction du graphique qui propose
diffrentes zones.
5 Dans le volet Liste des champs du graphique, cliquez sur un champ
et glissez-le dans la zone de dpt Dposer champs de catgories ici
correspondant laxe des abscisses (cest--dire laxe horizontal).
Le champ sur lequel lopration de synthse sera calcule doit maintenant tre dfini.
6 Glissez le champ concern depuis le volet Liste des champs du
graphique dans la zone Dposer les champs de donnes ici.
Access affecte une opration par dfaut cette zone. Vous pouvez la
modifier votre gr.
7 Pour modifier lopration de synthse effectue dans la zone de
donnes, slectionnez celle-ci puis cliquez sur le bouton Calcul
automatique du groupe Outils de longlet Outils de graphique crois
dynamique/Crer. Choisissez lopration sur la liste qui vous est
propose (la somme ou la moyenne par exemple). Vous pouvez
galement cliquer du bouton droit sur le champ de la zone de
dpt de donnes puis choisir Calcul automatique, puis enfin,
lopration effectuer dans le menu contextuel qui apparat (voir
Figure 8.16).
8 Pour supprimer un champ dune zone de dpt, cliquez sur celui-ci
et glissez-le en dehors de longlet du graphique crois dynamique
(ou slectionnez lobjet et appuyez sur la touche [Suppr]).
Vous allez maintenant choisir le type de graphique utilis.
9 Cliquez sur le graphique puis sur le bouton Modifier le type de
graphique du groupe Type ou cliquez du bouton droit sur le graphique et choisissez Modifier le type de graphique dans le menu
contextuel qui apparat.

514

8. Automatiser les traitements

Figure 8.16 : Lopration de synthse des donnes peut tre modifie

La bote de dialogue Proprits saffiche avec longlet Type activ. De


nombreux types de graphiques vous sont proposs.
10 Choisissez un type de graphique (la modification du type de graphique est immdiatement visible dans la zone de graphique).

Figure 8.17 : La modification du type de graphique

8.3. Crer des graphiques

515

Affichage des proprits des composants du graphique


Les onglets contenus dans la fentre Proprits sont modifis en fonction
des objets du graphique slectionns (axes, sries, zone de traage, etc.).

8.4. Crer des tableaux croiss


dynamiques
Les habitus dExcel savent que les tableaux croiss dynamiques
sont des outils de synthse de donnes trs puissants. Comme les
graphiques croiss dynamiques, ils peuvent, lorsque leur existence
est justifie, participer notablement la finalisation de lapplication.
1 Cliquez sur une table ou une requte dans le volet de navigation.
2 Cliquez sur longlet Crer puis sur le bouton Plus de formulaires du
groupe Formulaires puis choisissez Tableau crois dynamique dans
la liste propose.

Figure 8.18 : Le bouton Plus de formulaires

Access affiche dsormais longlet qui va vous permettre de composer le tableau crois dynamique ainsi que longlet contextuel Outils

516

8. Automatiser les traitements

de tableau crois dynamique. Les champs de la table prcdemment


choisis sont lists dans le volet Liste de champs de tableau crois
dynamique.

3 Si cela nest pas le cas, cliquez sur le bouton Liste des champs du
groupe Afficher/masquer de longlet Crer de longlet contextuel
Outils de tableau crois dynamique.

Figure 8.19 : Longlet de cration du tableau crois dynamique

La mthode utilise pour la composition dun tableau crois dynamique est proche de celle employe dans les graphiques croiss
dynamiques : les champs dune table ou dune requte sont glisss
sur deux axes et des calculs de synthse sont dfinis aux intersections des valeurs des axes.
titre dexemple, vous trouverez dans ce qui suit quelques manipulations significatives.
4 Pour dfinir une zone de filtre permettant de limiter lapplication
du tableau certaines donnes, cliquez sur le champ concern
dans la liste de champs, dans le volet Liste de champs de tableau
crois dynamique. Dans la liste droulante situe droite du bouton Ajouter , slectionnez Zone de filtre, puis cliquez sur le bouton
Ajouter . Une seconde mthode, plus simple, consiste glisser
simplement le champ depuis le volet Liste de champs de tableau
crois dynamique vers la zone Placer les champs de filtre ici.
Le champ sur lequel le filtre est dfini est alors indiqu dans langle
suprieur gauche du schma de construction du tableau crois dynamique.

8.4. Crer des tableaux croiss dynamiques

517

Figure 8.20 : La dfinition dune zone de filtre

5 Cliquez sur un champ du volet Liste de champs de tableau crois


dynamique qui devra tre plac en ligne, slectionnez Zone de
lignes dans la liste droulante situe droite du bouton Ajouter ,
puis cliquez sur Ajouter . Vous pouvez galement glisser le champ
depuis le volet Liste de champs de tableau crois dynamique vers la
zone Placer les champs de ligne ici.

Figure 8.21 : Un champ est ajout en ligne

518

8. Automatiser les traitements

Lune des options de synthse les plus frquentes consiste faire la


somme des lments dun champ. Le champ doit dabord tre plac
dans la zone Placer les totaux ou les champs de dtails ici.
6 Dans la liste de champs du volet Liste de champs de tableau crois
dynamique, cliquez sur le champ concern, slectionnez Donnes
de dtail dans la liste droulante situe droite du bouton Ajouter
, puis cliquez sur Ajouter . Vous pouvez galement glisser le
champ depuis le volet Liste de champs de tableau crois dynamique
vers la zone Placer les totaux ou les champs de dtails ici.

Figure 8.22 : Un champ est ajout dans la zone de dtails

7 Slectionnez le champ qui vient dtre insr, puis cliquez sur le


bouton Calcul automatique du groupe Outils de longlet Outils de
tableau crois dynamique/Crer. Choisissez lopration de votre
choix dans la liste affiche. Vous pouvez galement cliquer du
bouton droit sur le champ de la zone de dpt de donnes, choisir
Calcul automatique puis lopration effectuer dans le menu
contextuel qui apparat.
Lopration dfinie apparat dsormais dans la zone de dtails : si
lopration Somme a t choisie, cette valeur est ajoute en bas de
chaque ligne (voir Figure 8.23).
Le bouton Masquer les dtails du groupe Afficher/masquer de longlet
Outils de tableau crois dynamique/Crer permet, quant lui, dafficher uniquement les rsultats de lopration de synthse (voir Figure 8.24).

8.4. Crer des tableaux croiss dynamiques

519

Figure 8.23 : Un type dopration est choisi : les calculs dfinis dans la zone des totaux apparaissent
prsent dans le tableau

Figure 8.24 : Seuls les rsultats de lopration de synthse sont maintenant affichs

520

8. Automatiser les traitements

Le masquage des dtails est rversible


Si vous souhaitez retrouver les dtails des lignes, cliquez sur le
bouton Afficher les dtails de longlet Crer de longlet Outils de
tableau crois dynamique.

Lorsque le tableau affiche des donnes, le filtre peut tre appliqu


pour limiter laffichage certaines donnes.
8 Dveloppez la liste de la zone de filtre, situe dans langle suprieur gauche du tableau, dcochez la case Tous puis cochez de
manire slective les cases correspondant aux informations que
vous souhaitez voir figurer dans le tableau crois dynamique.
Cliquez sur OK.

Figure 8.25 : Lapplication dun filtre slectif

La disposition des informations prsentes nest pas fige : certains


champs peuvent, par exemple, tre placs ou dplacs en colonnes.
9 Glissez, par exemple, le champ utilis comme critre de filtre et
placez-le dans la zone rserve aux colonnes et nomme Placer les
champs de colonnes ici.

Figure 8.26 : Le champ qui tait utilis comme filtre est maintenant dispos en colonne

8.4. Crer des tableaux croiss dynamiques

521

Supprimer un champ ou un calcul


Vous pouvez facilement supprimer un champ ou un calcul du tableau
crois dynamique en utilisant lune des mthodes suivantes :
cliquez du bouton droit sur le champ supprimer puis choisissez
Supprimer dans le menu contextuel qui saffiche ;
j
cliquez sur le champ supprimer puis sur le bouton Supprimer le
champ du groupe Champ actif de longlet Outils de tableau crois
dynamique/Crer ;
j

glissez le champ supprimer en dehors de longlet du tableau crois


dynamique.

Les champs supprims dun tableau crois dynamique ne le sont pas sur la liste
des champs du volet Liste de champs de tableau crois dynamique.

La mise en forme du tableau crois dynamique peut tre personnalise.


10 Cliquez sur le bouton Feuille des proprits du groupe Outils de
longlet Outils de tableau crois dynamique/Crer puis sur la zone
du tableau que vous dsirez modifier.
La fentre Proprits vous permet de modifier laspect de la zone
clique.

Figure 8.27 : La fentre


Proprits permet de modifier
la mise en forme du tableau
crois dynamique

8.5. Consulter les donnes dans


un navigateur Internet
Une fois le dveloppement de la base termin, la faon la plus simple
de publier des informations sur tous types de machines consiste
522

8. Automatiser les traitements

enregistrer ces informations au format HTML car ce langage est une


norme universellement reconnue par tous les ordinateurs, quil
sagisse de PC ou de Macintosh. Le HTML peut en effet tre interprt
par nimporte quel navigateur Internet tel quInternet Explorer.
Une base de donnes Access offre de nombreuses fonctionnalits,
vous lavez vu. Encore faut-il disposer dAccess sur sa machine pour
pouvoir les exploiter. Ce nest pas le cas de tous les utilisateurs. En
revanche, depuis lessor fulgurant dInternet, toutes les machines
disposent dun navigateur Internet.
Dun point de vue purement conceptuel, il ny a pas de diffrence
entre Internet et un rseau intranet : le premier est ouvert sur le
monde extrieur et le second se limite au rseau interne de lentreprise ou de lorganisation. Tous deux utilisent les mmes protocoles.
De faon schmatique, on peut dire que le choix de la stratgie
Internet relve dun dsir douverture sur le monde extrieur : il
sagit par exemple de mettre son catalogue de produits en ligne afin
de permettre aux clients de le consulter. La stratgie intranet, quant
elle, est oriente vers le personnel de lentreprise, pour rendre
accessible facilement et rapidement des informations exploites par
le service commercial par exemple.
Le langage XML se veut la relve du HTML depuis quelques annes.
Le XML est une nouvelle norme de langage, galement interprtable
par les navigateurs et qui va plus loin que le HTML : la norme XML
permet de dfinir et dinterfacer facilement des systmes lorigine
incompatibles. Le XML dcrit en effet la structure dun fichier en plus
de contenir des donnes. Ainsi, deux bases de donnes distinctes
peuvent dialoguer par ce format puisque les donnes sont directement apprhendes par leur structure dcrite dans le fichier.
Access est capable denregistrer les donnes dans lun ou lautre de
ces deux formats. Tout comme pour le langage SQL, il vous faudra
toutefois y investir un certain temps si vous souhaitez bien comprendre le langage XML. Ce sujet dpasse donc largement lobjectif de
cet ouvrage.
Voyez comment il serait possible de publier les donnes dun objet
de la base de donnes afin que les membres dune entreprise puissent consulter les informations quelle renferme depuis leur navigateur Internet. Les donnes seront enregistres au format HTML,
cest--dire en tant que page web.
1 Dans le volet de navigation, slectionnez un objet (une table, une
requte, un formulaire ou encore un tat). Vrifiez que lobjet est

8.5. Consulter les donnes dans un navigateur Internet

523

ferm et cliquez sur longlet Donnes externes puis sur le bouton


Plus du groupe Exporter. Choisissez Document HTML dans la liste
propose.

Figure 8.28 : Lexportation dun tat

La bote de dialogue Exportation Document HTML est affiche.


2 Dans la zone Nom fichier, dfinissez un dossier et le nom de la
page HTML qui sera cre en cliquant sur le bouton Parcourir.
Dans la bote de dialogue Enregistrer qui apparat, saisissez le nom
de la page HTML et choisissez le dossier, dans la zone Enregistrer
dans. Cliquez sur le bouton Enregistrer.
3 De retour dans la bote de dialogue Exportation Document HTML,
cochez la case Ouvrir le fichier de destination une fois lexportation
termine puis cliquez sur le bouton OK.

Figure 8.29 : La bote de dialogue Exportation Document HTML

524

8. Automatiser les traitements

4 Dans la bote de dialogue Options de sortie HTML qui apparat,


cliquez sur OK.
Le navigateur Internet souvre automatiquement et affiche la page
HTML qui contient les donnes formates en tableau.

Figure 8.30 : Laffichage de ltat au format HTML

Cette page HTML peut tre maintenant utilise de diffrentes manires. Elle peut, par exemple, tre ouverte par un raccourci depuis le
Bureau de Windows ou encore publie en tant que page web sur un

8.5. Consulter les donnes dans un navigateur Internet

525

site Internet. Notez toutefois que les donnes de cette page sont
statiques et quelles ne seront pas rafrachies si la base de donnes
est modifie.
Or, vous avez certainement remarqu, sur les sites de commerce
lectronique, quil vous tait possible de raliser toutes sortes doprations comme des interrogations de bases de donnes de produits
ou des prises de commande en ligne avec paiement par carte bancaire. Il est vident que les pages qui vous sont prsentes sur des
tels sites ne sont pas statiques.

Les pages daccs aux donnes


Lorsque vous vous connectez ces sites, les pages HTML charges dans
votre navigateur Internet nexistent pas en tant que pages statiques, mais
sont gnres en fonction des requtes que vous envoyez sur le serveur. Par
exemple, si vous demandez consulter toutes les voitures vendues par la
socit, la page envoye sera compose selon votre demande. Une autre
personne ayant demand la liste des motos recevra une page diffrente de la
vtre. Chez Microsoft, ce principe, qui sappuie sur un langage de programmation sur le serveur web, se nomme ASP (Active Server Pages).
Dans la version 2003 dAccess, laccs aux donnes dune base tait possible
depuis un navigateur par une fonctionnalit nomme "pages daccs aux
donnes". Cette fonctionnalit nest plus prise en charge sous Access. Elle est
remplace par des composants du logiciel Microsoft Windows Sharepoint
Services, quil est alors ncessaire dinstaller sur votre ordinateur.

8.6. Dmarrer automatiquement


lapplication
Lapplication peut tre lance directement louverture de la base de
donnes. Cette fonctionnalit est particulirement intressante lorsque les utilisateurs de la base ne connaissent pas Access et que vous
avez dvelopp un formulaire servant dinterface par le biais de
boutons.
Un formulaire peut tre lanc automatiquement louverture de la
base de donnes.
1 Cliquez sur longlet Fichier puis sur Options et sur Base de donnes
active dans la bote de dialogue Options Access.
2 Dans la zone Titre de lapplication de la rubrique Options de lapplication, saisissez un titre qui sera affich dans la barre de titre de la
base de donnes.

526

8. Automatiser les traitements

3 Autorisez ou interdisez laffichage des onglets en cochant les cases


correspondantes.
4 Choisissez, sur la liste Afficher le formulaire, le formulaire lancer
au dmarrage.

Figure 8.31 : La bote de dialogue Options Access

Les modifications seront effectives la prochaine ouverture de lapplication.

Cration dune interface utilisateur


Lapplication termine, il vous sera certainement ncessaire de dvelopper
une interface lattention des utilisateurs, permettant daccder aux fonctionnalits que vous aurez dveloppes. Un formulaire, renfermant diffrents
objets, tels que des boutons servant de lanceurs dautres formulaires ou
dtats, remplira alors ce rle.

Boutons interactifs dans un formulaire


Il est dsormais trs ais dinsrer des boutons interactifs (cest--dire
disposant deffets de mise en forme lors du survol de la souris), servant de
lanceurs dapplications, dans un formulaire dAccess :
j

depuis un formulaire, en mode cration, ajoutez des boutons (tels que des
boutons de commandes ou des groupes doptions disposant de la pro-

8.6. Dmarrer automatiquement lapplication

527

prit Boutons bascule) au moyen des boutons idoines proposs dans le


groupe Contrles de longlet Outils de cration de formulaires/Cration ;
modifiez lapparence des objets insrs et slectionns au moyen du
bouton Modifier la forme du groupe Contrler la mise en forme de
longlet Outils de cration de formulaire/Format. Cliquez alors sur un type
de forme dans la liste qui apparait ;
j pour affecter un style la forme, cliquez sur le bouton Styles rapides du
groupe Contrler la mise en forme de longlet Outils de cration de
formulaire/Format. Cliquez ensuite sur un style dans la liste qui apparait ;
j

Figure 8.32 : Lutilisation des styles rapides modifie laspect des objets
pour afficher une image dans un bouton, affichez le volet des proprits
du bouton en cliquant sur le bouton Feuille des proprits du groupe
Outils de longlet Outils de cration de formulaire/Format. Cliquez sur la
proprit Image de longlet Format puis sur le bouton symbolis par trois
points. Dans la bote de dialogue Gnrateur dimage, choisissez Quitter
dans la liste Images disponibles ;
j un bouton tant slectionn, ajoutez limage du bouton un texte de
lgende. Saisissez le texte sur la proprit Lgende de longlet Format, en
cliquant sur la proprit Disposition des lgendes de longlet Format puis
en choisissant une disposition dans la liste propose.
j

8.7. Cas pratique


Dans cette section pratique, vous raliserez quelques macros lances par diffrents dclencheurs.

528

8. Automatiser les traitements

Crer une macro affichant un message de


bienvenue
1 Dans la fentre de la base de donnes Facturation livres8 : Base de
donnes, cliquez sur longlet Crer puis sur le bouton Macro du
groupe Macros et code.
Vous allez spcifier laction de la macro.
2 Dans longlet Macro1, cliquez dans la liste droulante Ajouter une
nouvelle action. Choisissez ZoneMessage dans la liste.
3 Dans la zone Message, saisissez Bonjour, belle journe ce matin !.
Dans la zone Bip, conservez loption Oui dans la liste droulante.
Dans la zone Type, choisissez Information dans la liste droulante
et dans la zone Titre, saisissez BIENVENUE !.

Figure 8.33 : Les


arguments de la macro

Vous allez maintenant excuter la macro.


4 Cliquez sur le bouton Excuter du groupe Outils de longlet Outils
de macro/Cration. Acceptez lenregistrement de la macro lorsque
Access vous le propose dans la bote de dialogue Microsoft Access.
Enregistrez la macro avec le nom Bienvenue.
La bote de dialogue Bienvenue saffiche.
5 Cliquez sur le bouton OK puis fermez la macro Bienvenue.

Figure 8.34 : lexcution, la macro lance une


bote de dialogue

8.7. Cas pratique

529

Crer une macro excutant plusieurs actions


Votre nouvel objectif est dinsrer un fond sonore louverture et la
fermeture du formulaire Carnet dadresses.
1 Crez une nouvelle macro.
2 Insrez laction Bip.
3 Choisissez laction OuvrirFormulaire comme seconde action.
4 Dans la zone Nom de formulaire, choisissez Carnet dadresses dans
la liste droulante. Dans la zone Affichage, conservez Formulaire
dans la liste droulante. Dans la zone Mode fentre, choisissez
Bote de dialogue dans la liste.
Largument Mode fentre que vous avez activ rend votre formulaire modal : il sera impossible de cliquer en dehors de ce formulaire
tant quil ne sera pas ferm.
5 Ajoutez nouveau laction Bip comme troisime action.

Figure 8.35 : La dfinition des trois actions ralises par la macro

6 Fermez et enregistrez la macro sous le nom Ouvrir Formulaire


Contacts.
7 Pour tester la macro, double-cliquez sur celle-ci dans le volet de
navigation. Vrifiez quil est impossible daccder une autre
fentre tant que le formulaire Carnet dadresses nest pas ferm.

Utiliser une macro lance par un vnement dans


un formulaire
Dans ce qui suit, la macro Ouvrir Formulaire Contacts sera lance
depuis le formulaire Factures-form.
530

8. Automatiser les traitements

Lors de la saisie dune facture dans le formulaire Factures-form, il se


peut que le client pour qui la facture doit tre tablie nexiste pas
encore dans le carnet dadresses. Le client napparaissant pas sur la
liste de la zone de saisie, il vous faut lajouter. Vous devez pour cela
fermer le formulaire Factures-form, puis ouvrir le formulaire Carnet
dadresses, ajouter le nouveau client, fermer le formulaire Carnet
dadresses, ouvrir nouveau le formulaire Factures-form et saisir
enfin len-tte de la facture en utilisant les coordonnes du nouveau
client. Lutilisation dune macro est une mthode lgante permettant de diminuer le nombre de ces manipulations.
1 Ouvrez le formulaire Factures-form en mode Cration, cliquez sur
lobjet de la zone de liste droulante nocontact et affichez ses
proprits. Dans la proprit Sur double clic de longlet Evnement,
choisissez dans la liste la macro Ouvrir Formulaire Contacts prcdemment cre.

Figure 8.36 : La proprit Sur double clic de la zone de texte

2 Affichez le formulaire Factures-form en mode Formulaire et


double-cliquez sur la liste de la ligne Nom du client pour tester
lexcution de la macro.
La macro sexcute : le formulaire Carnet dadresses saffiche devant
le formulaire Factures-form.
3 Cliquez en dehors du formulaire.
Vous ne pouvez en activer aucun autre tant que le formulaire modal
nest pas ferm.

8.7. Cas pratique

531

4 Ajoutez un nouveau client puis fermez le formulaire Carnet dadresses. Cherchez visualiser le nouveau client sur la liste.
Celui-ci nest pas visible car la liste droulante na pas t actualise.

Figure 8.37 : Lajout dun


nouveau contact depuis le
formulaire Factures-form

Vous allez modifier la macro Ouvrir Formulaire Contacts depuis lvnement Sur double clic de lobjet zone de liste droulante nocontact.
5 Aprs avoir ouvert le formulaire Factures-form en mode Cration,
affichez les proprits de la zone de liste droulante nocontact.
Cliquez sur la ligne de lvnement Sur double clic. Pour modifier la
macro dj affecte la proprit, cliquez sur le bouton symbolis
par trois points droite de la zone.
6 Dans longlet Ouvrir Formulaire Contacts qui souvre, choisissez la
premire action Actualiser propose dans la liste comme quatrime action et saisissez nocontact pour largument Nom du
contrle : vous indiquez ici le nom de la zone de liste droulante du
formulaire Factures-form actualiser.

Figure 8.38 : Lactualisation dun contrle


dans un formulaire

7 Fermez longlet de la macro sans oublier denregistrer les modifications apportes. Affichez le formulaire Factures-form en mode

532

8. Automatiser les traitements

Formulaire. Double-cliquez nouveau sur la liste droulante de la


ligne Nom du client.
Le formulaire Carnet dadresses saffiche.
8 Ajoutez un nouveau client. Fermez le formulaire Carnet dadresses.
9 Dans le formulaire Factures-form, droulez la liste des noms de
clients.
Le nouveau client est visible.
10 Fermez et enregistrez les formulaires modifis.

Utiliser une macro dans un bouton de commande


Vous allez maintenant lancer la visualisation de ltat affichant les
contacts depuis le formulaire des contacts au moyen dun bouton de
commande.
1 Ouvrez le formulaire Carnet dadresses en mode Cration. Cliquez
sur longlet Cration de longlet contextuel Outils de cration de
formulaire puis vrifiez que le bouton Utiliser les assistants contrle
est actif (voir lillustration suivante). Cliquez sur lobjet Bouton puis
cliquez dans la section den-tte du formulaire.

Figure 8.39 : Le bouton Utiliser les assistants contrle

La bote de dialogue Assistant Bouton de commande saffiche. Vous


allez choisir laction du bouton de commande.
2 Choisissez la catgorie Oprations sur tat puis laction Aperu dun
tat. Cliquez sur le bouton Suivant (voir Figure 8.40).
ltape suivante, Access numre les tats qui figurent dans lapplication.

8.7. Cas pratique

533

Figure 8.40 : Laction dclenche par le bouton sera louverture dun tat

3 Choisissez Carnet dadresses sur la liste puis cliquez sur le bouton


Suivant.
4 ltape suivante, choisissez Aperu pour signifier limage utiliser dans le bouton. Cliquez sur le bouton Suivant.

Figure 8.41 : Le choix de limage utilise dans le bouton

5 la dernire tape, ne modifiez pas le nom propos par Access


pour le bouton de commande. Cliquez sur le bouton Terminer.
Dans le formulaire Carnet dadresses, le bouton de commande est
cr dans len-tte.
Vous allez examiner lune des proprits du bouton de commande.

534

8. Automatiser les traitements

6 Affichez les proprits du bouton de commande et cliquez sur


longlet Evnement.
Access a cr une macro incorpore pour lvnement Sur Clic.
7 Pour visualiser le code de cette macro, cliquez sur les trois points
dans la ligne des proprits de lvnement.

Figure 8.42 : Une macro a t cre pour lvnement Sur clic

Access ouvre longlet de la macro dans lequel laction permettant


douvrir ltat est affiche.

Figure 8.43 : Laction de la macro

8 Fermez longlet de la macro.


9 Affichez le formulaire en mode Formulaire et cliquez sur le bouton
de commande.
Ltat Carnet dadresses est ouvert depuis le formulaire, dans un autre
onglet.
10 Fermez et enregistrez le formulaire Carnet dadresses.

8.7. Cas pratique

535

CHAPITRE 9

GLOSSAIRE

537

B
Backstage (mode Microsoft Office Backstage)
Nouveau terme, spcifique Access 2010, dsignant un ensemble
dactions accessibles par le menu Fichier du Ruban. Dans ce mode,
les actions proposes peuvent tre excutes sans quil soit ncessaire de fermer les objets en cours ddition.

Base de donnes
Ce terme dsigne le plus gros conteneur sous Access. Le conteneur
base de donnes contient lensemble des objets de lapplication
(tables, requtes formulaires, tats, etc.), encapsuls dans un seul et
unique fichier portant lextension accdb.

Bote de dialogue
Interface dinterrogation et de communication homme/machine.

C
Champ calcul
Champ, dans une requte, affichant le rsultat dune expression et
non des donnes stockes.

Classe
Dfinition globale dun type dobjet permettant de gnrer des objets
enfants appartenant la mme famille.

Cl externe
Champ dans une table renfermant la valeur de la cl primaire dune
autre table.

Cl primaire
Identifiant unique, dans une table, contenu dans un ou plusieurs
champs. Une cl primaire peut tre numrique ou alphanumrique
et tre gnre manuellement ou automatiquement par le type de
champ NumroAuto.

Conteneur
Terme gnral dsignant, en programmation oriente objet, tout
objet susceptible de contenir dautres objets conteneurs ou des

9. C

539

objets contenus (qui, eux, ne contiennent queux-mmes). Un conteneur se caractrise par ses proprits et ses mthodes.

D
Data Object Model (DOM)
Cest le modle objet de Microsoft. Plus clairement, le Data Object
Model est la reprsentation de la hirarchie des objets conteneurs et
des objets contenus dans une application.

DLL
Ensemble de routines lies une application et ncessaire son
excution.

E
tats
Objet dAccess permettant dafficher ou dimprimer des informations
contenues dans les tables.

Extension
Lextension dun fichier indique quelle "famille" appartient le fichier. Ainsi, par exemple, un fichier portant lextension doc appartiendra la famille des fichiers documents de Microsoft Word, un
autre portant lextension xls appartiendra la famille des classeurs
de Microsoft Excel, un troisime portant lextension accdb appartiendra la famille des bases de donnes de Microsoft Access.
Les noms de fichiers sont spars des extensions par un point.

F
Fichier
La dfinition la plus gnrale dun fichier, en informatique, est :
"stockage dinformation".
Linformation est stocke sur les units de mmoire de masse, sous
la forme dentits, les fichiers, gres par le systme dexploitation. Il
existe deux types de fichiers : les fichiers excutables par le systme
(comme les fichiers programmes) et les fichiers de donnes (gnrs
par les programmes).

540

9. Glossaire

Fonctions
Les fonctions sont des "outils" de traitement, utilisables dans les
formules et ayant pour but de restituer des rsultats.
Les fonctions reoivent en entre des arguments. La fonction sinus,
par exemple, recevant largument "3", restituera le rsultat "sinus de
3". La quasi-totalit des logiciels (dont Microsoft Access) mettent
notre disposition une grande quantit de fonctions.

Formulaires
Objet Access permettant de saisir et de modifier des informations
contenues dans les tables.

Formule
Terme synonyme de calcul.

G
Gnrateur dexpression
Fonctionnalit dAccess permettant de crer facilement des formules
sans avoir en taper la syntaxe.

I
Index
Il est possible de faire une recherche sur le contenu de nimporte
quel champ. Si elle peut tre trs pratique, cette fonctionnalit peut
se rvler longue sur une table contenant de nombreux enregistrements. En effet, dans un tel traitement, Access doit tester tous les
enregistrements de la table les uns aprs les autres. Lorsque nous
crons un index sur un champ, Access constitue, de faon transparente, une petite table qui napparat pas dans les objets de la base de
donnes (elle nous est cache par le logiciel). Cette table ne contient
que deux champs : le premier renferme la position physique de
lenregistrement (sa position dans la table, dans lordre de constitution du fichier) ; le second contient, quant lui, la position logique,
selon le classement tabli par lindex (ainsi, les noms commenant
par la lettre A, dans un champ stockant des noms, se trouveront
classs avant les noms commenant par la lettre B).
Les index permettent donc dacclrer certains traitements comme
les tris et les recherches. Il existe, de plus, deux catgories dindex :

9. I

541

ceux autorisant les doublons (cest--dire des champs contenant des


valeurs identiques et qui seront positionns au mme niveau dans
lindex) et ceux ne les autorisant pas. Ces derniers pourront tre
utiliss pour garantir lunicit du contenu dun champ, dans une
relation un plusieurs.

Instance
Objet cr depuis une classe.

Intgrit rfrentielle
Fonctionnalit implante sur les systmes de gestion de base de
donnes (et sur Access notamment) permettant de protger lintgrit des donnes entre les tables.

Interface
Terme gnrique dsignant tout systme, logique ou physique, permettant deux univers incompatibles dentrer en communication.
Un modem (contraction des mots Modulateur et Dmodulateur), par
exemple, est une interface physique. Un systme dexploitation ou
un logiciel sont des interfaces logiques entre le microprocesseur et
lutilisateur.

L
Langage de programmation orients objet
En plus des concepts traditionnels de programmation procdurale,
les langages orients objets ajoutent une couche dite vnementielle
la programmation et mettent la disposition du programmeur une
panoplie dobjets (ou classes). Tout langage de programmation volu est aujourdhui orient objet.

Lien hypertexte
Zone de texte ractive qui ouvre une page HTML ou un fichier
lorsquelle est clique.

M
Macro
Programme enregistr automatiquement par le logiciel, sans quil
soit ncessaire den crire le code.

542

9. Glossaire

Module
Terme synonyme de "programmes en VBA".

N
Null
Valeur qui est affecte un champ dune table lorsque rien ny a t
saisi.

O
Objet
Entit dun langage dune application. Les applications sont presque
toutes construites aujourdhui sur le modle objet. Les objets respectent une hirarchie.

P
Page daccs aux donnes
Fonctionnalit dAccess 2003 qui permettait daccder aux tables
depuis une page HTML dans un navigateur Internet.

Proprit
Valeur qui est attache un objet et permet de le singulariser.

R
Regroupement
En langage SQL, terme indiquant que des lments dune ou de
plusieurs tables sont regroups lors dune extraction dans une requte.

Relation
Lien qui assure la cohrence entre les donnes des tables.

Requte
Objet Access permettant dextraire ou de modifier des informations
des tables dAccess. Une requte est un petit programme en langage
SQL.

9. R

543

Ruban
Nouvelle fonctionnalit de linterface des logiciels de la suite Office,
remplaant les menus jusqualors proposs, et prsentant les objets
autorisant le contrle du logiciel utilis.

S
SGBDR
Initiales des mots composant lexpression "systme de gestion de
bases de donnes relationnelles".

SQL (Structured Query Language)


Langage dinterrogation et de mise jour de bases de donnes.

Systme dexploitation
Programme de base permettant lordinateur de fonctionner.

T
Table
Objet permettant le stockage des donnes dans Access.

Tableur
Logiciel permettant de raliser des traitements, sous la forme de
tableaux. Le tableur le plus rpandu ce jour est Microsoft Excel.

U
Unit de mmoire de masse
Les units de mmoire de masse sont des priphriques de stockage
des fichiers. Les plus couramment utilises dentre elles sont
aujourdhui les disques durs, les disquettes et le CD-ROM. Leurs
prdcesseurs ont t les bandes magntiques dans les annes 1980
et, dans les annes 1970, les bandes perfores. La caractristique
essentielle des units de mmoire de masse est la non-volatilit
(cest--dire que la conservation de leur contenu nest pas lie au
passage du courant lectrique), contrairement aux units de mmoire vive.

544

9. Glossaire

Unit de mmoire vive


La mmoire vive est la mmoire de travail du microprocesseur. Elle
est rapide (beaucoup plus que la mmoire de masse). Ce type de
mmoire est volatile (la conservation de son contenu est lie au
passage du courant lectrique).

V
Valeur boolenne
Valeur utilise en algbre de Boole, pouvant tre soit vraie, soit
fausse.

VBA (Visual Basic For Applications)


Langage de programmation utilis sur la plupart des logiciels Microsoft.

9. V

545

A
INDEX

Accdb........................................................................................................................... 15, 30, 33


Accde....................................................................................................................................... 33
Accdt........................................................................................................................................ 33
Actif/Inactif ........................................................................................................................... 175
Afficher des colonnes ......................................................................................................... 108
Aide .......................................................................................................................................... 55
Ajout
Dun champ .......................................................................................................................... 100-101
Dun enregistrement ............................................................................................................. 90, 397

Alias........................................................................................................................................ 302
Analyse .............................................................................................................................. 26, 74
Aperu avant impression ........................................................................................... 110, 112
Argument............................................................................................................................... 504
ASP......................................................................................................................................... 526
Assistant Masque de saisie............................................................................................... 180
Astrisque ............................................................................................................................. 312
Atteindre
Un enregistrement....................................................................................................................... 400
Une page ..................................................................................................................................... 467

Automatisation ..................................................................................................................... 501

B
Backstage ....................................................................................................................... 35, 539
Barre dtat ............................................................................................................................. 46
Affichage ....................................................................................................................................... 46

Barre doutils Accs rapide ................................................................................................. 41


Contenu ......................................................................................................................................... 43
Positionnement.............................................................................................................................. 42

Barre de
Navigation ............................................................................................................................. 97, 400
Redimensionnement...................................................................................................................... 44

Base de donnes............................................................................................... 15, 22, 25, 539


Compatibilit avec dautres formats............................................................................................. 39
Cration ......................................................................................................................................... 30
Cration partir dun modle....................................................................................................... 35
Cration dune base vide ........................................................................................................ 31, 76
Fermer............................................................................................................................................ 37
Mode douverture.......................................................................................................................... 39
Ouvrir ............................................................................................................................................. 37
Recherche...................................................................................................................................... 39

Bote de dialogue................................................................................................................. 539


Bouton
Ajout denregistrement ............................................................................................................... 396
De navigation .............................................................................................................................. 396
De dplacement ............................................................................................................ 97, 400, 467
Index

547

C
Caractre de substitution................................................................................................... 117
Caractre joker..................................................................................................................... 117
Cascade........................................................................................................................... 20, 260
De mise jour ............................................................................................................................. 262
Suppression................................................................................................................................. 262

Casse...................................................................................................................................... 172
Casse de caractres ........................................................................................................... 116
Champ ........................................................................................................................ 20, 60, 101
Ajout ............................................................................................................................................ 159
Date et heure ................................................................................................................................ 91
Dplacement ............................................................................................................................... 162
NumroAuto .................................................................................................................................. 91
Proprit Dcimales .................................................................................................................... 176
Proprit Format.......................................................................................................................... 168
Proprit Lgende ....................................................................................................................... 177
Proprit Masque de saisie ........................................................................................................ 179
Proprit Message si erreur ............................................................................................... 197, 201
Proprit Nouvelles valeurs........................................................................................................ 167
Proprit Null interdit ................................................................................................................. 179
Proprit Taille du champ ........................................................................................................... 165
Proprit Valeur par dfaut......................................................................................................... 177
Proprit Valide si....................................................................................................................... 197
Proprits .................................................................................................................................... 164
Slection...................................................................................................................................... 160
Suppression................................................................................................................................. 162

Champ ...................................................................................................................................... 20
Calcul......................................................................................................................... 204, 267, 539
Vierge .......................................................................................................................................... 117

Classe............................................................................................................................. 383, 539


Clause de prdicat............................................................................................................... 325
Cl trangre ........................................................................................................................ 237
Cl externe .................................................................................................................... 237, 539
Cl primaire................................................................................. 19, 30, 64, 232-233, 237, 539
Supprimer .................................................................................................................................... 236
Sur plusieurs champs.................................................................................................................. 235
Sur un champ .............................................................................................................................. 233

Cohrence des donnes..................................................................................................... 229


Colonne.............................................................................................................................. 20, 25
Afficher ........................................................................................................................................ 108
Fige ............................................................................................................................................ 103
Libre......................................................................................................................................... 104
Masquer ...................................................................................................................................... 107

Colonne de recherche ........................................................................................................ 196


Colonne lie .......................................................................................................................... 374
Concatnation ...................................................................................................................... 354
Condition................................................................................................................................ 132
Configuration matrielle ....................................................................................................... 14

548

Index

Conteneur...................................................................................................................... 382, 539


Contrle
Calcul......................................................................................................................................... 411
Dpendant ................................................................................................................................... 411
Dsactivation............................................................................................................................... 436
Indpendant................................................................................................................................. 411
Verrouillage ................................................................................................................................. 436

Couleur
Codage......................................................................................................................................... 411
Modifier ....................................................................................................................................... 409

Critre .................................................................................................................................... 126

D
Data Object Model......................................................................................................... 21, 540
Date/Heure...................................................................................................................... 91, 173
Dcimales.............................................................................................................................. 176
Dmarrage automatique..................................................................................................... 526
Dplacement dun champ .................................................................................................. 102
Description...................................................................................................................... 63, 330
DLL.......................................................................................................................................... 540
DOM ................................................................................................................................. 21, 540
Donnes connexes .............................................................................................................. 279
Dossier..................................................................................................................................... 33
Doublon.......................................................................................................................... 205, 337

E
En-tte de colonne ................................................................................................................ 89
Enregistrement ................................................................................................................. 20, 25
ET ............................................................................................................................ 124, 132, 319
tat ...................................................................................................................... 24-25, 451, 540
Aperu avant impression ............................................................................................................ 466
Assistant Etat .............................................................................................................................. 451
Assistant Etiquette...................................................................................................................... 455
Bouton Etat.................................................................................................................................. 459
Boutons de dplacement ............................................................................................................ 467
Contrles ..................................................................................................................................... 474
Enregistrer ................................................................................................................................... 482
Etat vide....................................................................................................................................... 463
tats avancs .............................................................................................................................. 482
Fermer.......................................................................................................................................... 482
Impression ................................................................................................................................... 469
Mise en page .............................................................................................................................. 468
Mode Cration............................................................................................................................. 459
Modification ................................................................................................................................ 469
Ouverture en mode Aperu avant impression ............................................................................ 466

Index

549

Ouverture en mode Cration....................................................................................................... 469


Ouverture en mode Etat .............................................................................................................. 464
Ouverture en mode Page............................................................................................................. 465
Proprits .................................................................................................................................... 474
Rapidement ................................................................................................................................. 459
Regroupement ..................................................................................................................... 453, 477
Saut de page ............................................................................................................................... 481
Sections....................................................................................................................................... 471
Simple.......................................................................................................................................... 451
Source de donnes...................................................................................................................... 460
Sous-tat ..................................................................................................................................... 482
Structure...................................................................................................................................... 469
Totaux par regroupement............................................................................................................ 454
Tris des donnes ......................................................................................................................... 474
Visualisation................................................................................................................................ 463

tiquette ................................................................................................................ 385, 396, 455


vnement....................................................................................................................... 21, 382
Expression............................................................................................................................. 128
Extension ............................................................................................................................... 540
Des fichiers Access ....................................................................................................................... 33

Extraction de donnes ........................................................................................................ 291

F
Feuille de donnes........................................................................................................... 23, 87
Afficher des colonnes.................................................................................................................. 108
Ajout dun champ ........................................................................................................................ 100
Ajout dun enregistrement ............................................................................................................ 90
Aperu avant impression ............................................................................................................ 112
Boutons de dplacement .............................................................................................................. 97
Dplacement dun champ ........................................................................................................... 102
Fermeture ...................................................................................................................................... 90
Hauteur des lignes ........................................................................................................................ 99
Imprimer des donnes dune table ............................................................................................. 109
Largeur des colonnes .................................................................................................................... 99
Masquer des colonnes................................................................................................................ 107
Mise en page .............................................................................................................................. 109
Modification de donnes .............................................................................................................. 92
Modifier la mise en forme .......................................................................................................... 105
Ouverture dune table ................................................................................................................... 87
Rechercher des donnes dans table........................................................................................... 114
Remplacer des donnes dans table............................................................................................ 118
Renommer un champ .................................................................................................................. 104
Slection........................................................................................................................................ 93
Suppression dun enregistrement................................................................................................. 98
Supprimer un champ ................................................................................................................... 105

Fichier .................................................................................................................................... 540


Filtre................................................................................................................................ 123, 126
Avanc......................................................................................................................................... 137
Critres personnaliss................................................................................................................. 128

550

Index

Filtre courant ............................................................................................................................... 126


Hors slection.............................................................................................................................. 131
Par formulaire...................................................................................................................... 131, 152
Par slection........................................................................................................................ 130, 150

Fonctions ............................................................................................................................... 541


Format .................................................................................................................................... 168
Personnalis ................................................................................................................................ 171
Prdfini....................................................................................................................................... 168
Denregistrement........................................................................................................................... 34
Dimportation................................................................................................................................. 70
De fichiers de bases de donnes.................................................................................................. 39

Formulaire ................................................................................................................. 23, 25, 541


Ajout dun enregistrement .......................................................................................................... 397
Ajustement de la taille dun contrle ......................................................................................... 417
Alignement dun contrle par rapport un autre....................................................................... 418
Assistant Formulaire ................................................................................................................... 383
Bouton Formulaire ....................................................................................................................... 387
Bouton Formulaire double affichage ........................................................................................... 389
Bouton Plusieurs lements ......................................................................................................... 388
Boutons de dplacement ............................................................................................................ 400
Contrle calcul........................................................................................................................... 413
Contrle dpendant..................................................................................................................... 413
Contrle indpendant.................................................................................................................. 412
Couleur darrire-plan ................................................................................................................. 409
Crer un sous-formulaire dans un formulaire existant .............................................................. 427
Dplacement dun contrle......................................................................................................... 416
Dissociation de contrles............................................................................................................ 420
Enregistrer ................................................................................................................................... 424
Espacement entre les contrles.................................................................................................. 418
Fermer.......................................................................................................................................... 424
Filtre............................................................................................................................................. 402
Formulaire simple........................................................................................................................ 383
Formulaire vierge......................................................................................................................... 395
Formulaires imbriqus................................................................................................................. 424
Groupement de contrles............................................................................................................ 419
Insertion dune image darrire-plan .......................................................................................... 408
Manipulation de donnes ........................................................................................................... 395
Mise en forme............................................................................................................................. 408
Mise en forme conditionnelle..................................................................................................... 421
Mise en forme de contrles........................................................................................................ 420
Modal .......................................................................................................................................... 530
Mode Cration .................................................................................................................... 388, 390
Mode Formulaire ......................................................................................................................... 388
Mode Page .................................................................................................................................. 388
Modle conceptuel...................................................................................................................... 382
Modification de donnes ............................................................................................................ 398
Modifier ....................................................................................................................................... 403
Ordre de superposition des contrles......................................................................................... 419
Ordre de tabulation ..................................................................................................................... 422
Ouverture en mode Formulaire ................................................................................................... 395
Principes ...................................................................................................................................... 381
Proprit dun contrle................................................................................................................ 415

Index

551

Proprits .................................................................................................................................... 406


Quitter le mode Formulaire ......................................................................................................... 396
Rapidement ................................................................................................................................. 387
Recherche.................................................................................................................................... 402
Redimensionnement dun contrle ............................................................................................. 416
Remplacement............................................................................................................................. 402
Sections....................................................................................................................................... 404
Slection dun contrle ............................................................................................................... 415
Source de donnes...................................................................................................................... 391
Source du formulaire................................................................................................................... 407
Sous-formulaire........................................................................................................................... 424
Structure...................................................................................................................................... 403
Suppression dun enregistrement............................................................................................... 401
Tri................................................................................................................................................. 402
Utilisation des contrles ............................................................................................................. 411

Formule .................................................................................................................................. 541

G
Gnrateur
Dexpression................................................................................................................ 178, 325, 541
De requtes ................................................................................................................................. 293

Graphique.............................................................................................................................. 512
Crois dynamique........................................................................................................................ 381

H
Hauteur des lignes................................................................................................................. 99
Hritage ................................................................................................................................. 383
Hexadcimal ......................................................................................................................... 411
HTML...................................................................................................................................... 523

I
Identifiant unique ................................................................................................................... 18
Image
Attache ...................................................................................................................................... 409
Intgre ....................................................................................................................................... 409

Importation.............................................................................................................................. 70
Structure........................................................................................................................................ 72

Impression............................................................................................................................. 109
Indpendance des champs.................................................................................................. 28
Index ...................................................................................................................... 205, 227, 541
Multichamps................................................................................................................................ 205
Suppression................................................................................................................................. 209
Sur plusieurs champs.................................................................................................................. 207
Sur un champ unique .................................................................................................................. 205

552

Index

Infobulle................................................................................................................................... 42
Instance................................................................................................................................. 542
Intgrit rfrentielle.............................................................................. 20, 99, 231, 256, 542
Appliquer ..................................................................................................................................... 259
Cascade ....................................................................................................................................... 260
Principes ...................................................................................................................................... 256

Interdire la saisie ................................................................................................................. 224


Interface ................................................................................................................................ 542
DAccess 2010............................................................................................................................... 40

J-L
Jointure.......................................................................................................................... 317, 330
Interne ......................................................................................................................................... 331

Lancer lapplication au dmarrage................................................................................... 526


Langage de programmation orient objet....................................................................... 542
Largeur des colonnes ................................................................................................... 99, 375
Lgende................................................................................................... 89, 177, 210, 330, 396
Lien hypertexte............................................................................................................. 143, 542
Ligne............................................................................................................................. 17, 20, 25
Liste de choix........................................................................................................ 186, 375, 395
Saisir plusieurs valeurs............................................................................................................... 188
Utilisant des valeurs constantes................................................................................................. 186
Utilisant des valeurs dune table................................................................................................ 190

Liste de valeurs ............................................................................................................ 214, 220


Liste droulante.................................................................................................................... 396

M
Macro ................................................................................................................. 24-25, 503, 542
Afficher un message.................................................................................................................... 529
Avec plusieurs actions ........................................................................................................ 505, 530
Lance par un bouton de commande.......................................................................................... 533
Lance par un vnement........................................................................................................... 530

Macro-commande ................................................................................................................. 24
Action .......................................................................................................................................... 504
Crer ............................................................................................................................................ 503
Excuter................................................................................................................................ 508-509
Modifier ....................................................................................................................................... 506
Pas pas ..................................................................................................................................... 508

Majuscule.............................................................................................................................. 211
Manipulation de donnes..................................................................................................... 85
Masque de recherche ........................................................................................................ 117
Masque de saisie ........................................................................................ 179, 212, 218, 330
Assistant...................................................................................................................................... 180
Personnalis ................................................................................................................................ 184
Test.............................................................................................................................................. 182

Index

553

Masquer des colonnes ....................................................................................................... 107


Mdb .......................................................................................................................................... 33
Mde .......................................................................................................................................... 33
Mmo ..................................................................................................................................... 172
Merise.................................................................................................................................... 231
Message si erreur ....................................................................................................... 197, 201
Mthode .......................................................................................................................... 21, 382
Mise en forme des caractres .......................................................................................... 105
Mise en page ........................................................................................................................ 109
Modal ..................................................................................................................................... 530
Mode
Backstage ...................................................................................................................................... 35
Cration......................................................................................................................... 57, 159, 308
Feuille de donnes .................................................................................................................. 23, 87
Formulaire.................................................................................................................................... 395

Modle..................................................................................................................................... 35
Modification de donnes.............................................................................................. 92, 398
Module..................................................................................................................... 25, 509, 543
Montaire.............................................................................................................................. 169

N
Navigateur Internet ............................................................................................................. 522
Nom de champ ....................................................................................................................... 60
Nom de fichier ........................................................................................................................ 33
Nouvelles valeurs ................................................................................................................ 167
Null ................................................................................................................................. 117, 543
Null interdit............................................................................................................................ 179
Numrique..................................................................................................................... 166, 169
NumroAuto ............................................................................................................. 61, 91, 167
Numrotation automatique .................................................................................................. 62

O
Objet ................................................................................................................... 21-22, 164, 543
Afficher .......................................................................................................................................... 48
Conteneur ...................................................................................................................................... 22
Contenu ......................................................................................................................................... 22
Copier/Coller ................................................................................................................................. 51
Dcrire ........................................................................................................................................... 53
Dupliquer ....................................................................................................................................... 51
Manipuler ...................................................................................................................................... 47
Masquer ........................................................................................................................................ 54
Nom ............................................................................................................................................. 435
Renommer ..................................................................................................................................... 50
Supprimer ...................................................................................................................................... 52

Onglet de commandes .......................................................................................................... 40


554

Index

Oprateur
Boolen........................................................................................................................................ 132
Et.................................................................................................................................................. 132
Logique ........................................................................................................................................ 132

Oprateurs logique .............................................................................................................. 124


Opration............................................................................................................................... 326
Oracle....................................................................................................................................... 14
Ordonnancement
Logique ........................................................................................................................................ 120
Physique ...................................................................................................................................... 120

Ou.................................................................................................................................... 124, 321


Oui/Non.................................................................................................................................. 175
Ouverture dune table ........................................................................................................... 87

P
Page daccs aux donnes........................................................................................ 526, 543
Page web............................................................................................................................... 523
Paramtre.............................................................................................................................. 350
Dimportation
Dfinition ....................................................................................................................................... 73
Enregistrement .............................................................................................................................. 73

Paramtres rgionaux......................................................................................................... 169


Plus de champs .................................................................................................................... 101
Polymorphisme..................................................................................................................... 383
Prdicat ......................................................................................................................... 306, 325
Primaire ................................................................................................................................. 234
Procdure vnementielle ................................................................................................. 510
Produit cartsien ......................................................................................................... 302, 357
Proprit.......................................................................................................... 21, 164, 382, 543
Colonne lie................................................................................................................................. 374
Dcimales.................................................................................................................................... 176
Format.......................................................................................................................................... 168
Ignorer Nulls................................................................................................................................ 209
Index .......................................................................................................................................... 205
Lgende ....................................................................................................................................... 177
Masque de saisie........................................................................................................................ 179
Message si erreur ............................................................................................................... 197, 201
Nouvelles valeurs........................................................................................................................ 167
Null interdit ................................................................................................................................. 179
Primaire ....................................................................................................................................... 234
Taille du champ........................................................................................................................... 165
Unique ......................................................................................................................................... 208
Valeur par dfaut ........................................................................................................................ 177
Valide si....................................................................................................................................... 197

Pseudo-langage ................................................................................................................... 362

Index

555

R
RAD........................................................................................................................................... 13
Recherche............................................................................................................................. 143
Caractre de substitution............................................................................................................ 117
Null .............................................................................................................................................. 117
Slection de la valeur recherche .............................................................................................. 115

Rechercher des donnes ................................................................................................... 114


Redondance............................................................................................................................ 15
Dinformations............................................................................................................................... 28

Rgle de validation ...................................................................................................... 196, 225


Sur un champ .............................................................................................................................. 197
Sur une table............................................................................................................................... 202

Regroupement .............................................................................................................. 474, 543


Par sujets....................................................................................................................................... 26

Relation...................................................................................................... 20, 28, 231, 237, 543


Cl trangre............................................................................................................................... 237
Cl externe .................................................................................................................................. 237
Cl primaire ................................................................................................................................. 237
Crer une relation un plusieurs automatiquement ................................................................. 238
Crer une relation un plusieurs manuellement ....................................................................... 240
Imprimer ...................................................................................................................................... 264
Modifier ....................................................................................................................................... 254
Plusieurs plusieurs ................................................................................................................... 244
Supprimer .................................................................................................................................... 255
Un plusieurs ..................................................................................................... 237, 267, 270, 274
Un un ................................................................................................................................ 251, 281

Remplacement...................................................................................................................... 143
Remplacer des donnes..................................................................................................... 118
Renommer un champ .......................................................................................................... 104
Rplique................................................................................................................................. 244
Requte ............................................................................................................. 22, 25, 293, 543
Action .................................................................................................................................. 342, 369
Afficher le rsultat en mode Cration ........................................................................................ 310
Afficher les premires valeurs .................................................................................................... 314
Assistant...................................................................................................................................... 333
Assistant requte simple ............................................................................................................ 333
Crer en mode Cration .............................................................................................................. 308
Critre........................................................................................................................... 303, 358-359
Dfinition dun format dans une requte.................................................................................... 329
Enregistrer ................................................................................................................................... 314
ET................................................................................................................................................. 319
Fermer.......................................................................................................................................... 314
Jointure ....................................................................................................................................... 330
Liste de choix .............................................................................................................................. 372
Mode Cration .................................................................................................................... 308, 358
Mode SQL.................................................................................................................................... 353
Modifier la requte en mode Cration ....................................................................................... 312
OU................................................................................................................................................ 321
Ouvrir en mode Cration ............................................................................................................. 311

556

Index

Paramtre ............................................................................................................................ 350, 370


Police de caractres.................................................................................................................... 297
Prdicat........................................................................................................................................ 325
Recherche de doublons............................................................................................................... 337
Recherche de non-correspondance............................................................................................. 340
Regroupement ............................................................................................................................. 306
Requte action de type ajout...................................................................................................... 345
Requte action de type cration de table .................................................................................. 342
Requte action de type mise jour............................................................................................ 348
Requte action de type suppression .......................................................................................... 347
Slection...................................................................................................................................... 294
Slection sur plusieurs tables..................................................................................................... 302
Structure...................................................................................................................................... 295
Sur plusieurs tables .................................................................................................................... 316
Totaux.......................................................................................................................................... 364
Tri................................................................................................................................................. 301
Trier ............................................................................................................................................. 315
Utilisant des critres................................................................................................................... 319
Utilisant des oprations.............................................................................................................. 326
Utilisation de plusieurs oprateurs logiques.............................................................................. 324

Restituer les donnes ......................................................................................................... 449


Ruban ............................................................................................................................... 40, 544
Personnalisation............................................................................................................................ 41

S
Saisie...................................................................................................................................... 379
De donnes ........................................................................................................................... 87, 139
Obligatoire................................................................................................................................... 217

Slecteur
Denregistrement........................................................................................................................... 95
De champ....................................................................................................................................... 94
De formulaire ....................................................................................................................... 406-407

Slection
Champ entier ................................................................................................................................. 93
Colonne entire ............................................................................................................................. 94
Denregistrements......................................................................................................................... 95
Dun enregistrement...................................................................................................................... 95
Dun grand nombre de colonnes................................................................................................... 95
Dun grand nombre de lignes........................................................................................................ 96
De champs..................................................................................................................................... 93
De plusieurs enregistrements contigus ........................................................................................ 96
De tous les enregistrements de la table ...................................................................................... 96
Partie dun champ ......................................................................................................................... 93
Plusieurs champs........................................................................................................................... 93
Plusieurs colonnes mitoyennes..................................................................................................... 94

SGBDR ............................................................................................................................. 12, 544


Sharepoint Services ............................................................................................................ 526
Source de donnes ..................................................................................................... 391, 460
Lie ................................................................................................................................................ 71

Index

557

Sous-feuille de donnes..................................................................................................... 279


Sous-formulaire............................................................................................................ 387, 425
SQL ......................................................................................................................... 293, 295, 353
SQL Server .............................................................................................................................. 14
Structure
Dun tat...................................................................................................................................... 469
Dun formulaire............................................................................................................................ 403
Dune table .................................................................................................................................. 157

Sujet.............................................................................................................................. 15, 27-28


Suppression
Dune ligne .................................................................................................................................... 99
Dans des tables en relation.......................................................................................................... 99
De plusieurs lignes........................................................................................................................ 99
En cascade..................................................................................................................................... 99

Suppression dun enregistrement............................................................................... 98, 401


Supprimer un champ........................................................................................................... 105
Systme dexploitation........................................................................................................ 544

T
Table............................................................................................................... 15, 20, 22, 25, 544
Ajout dun champ ........................................................................................................................ 159
Cration ......................................................................................................................................... 57
Cration en entrant des donnes ........................................................................................... 65, 77
Cration en important des donnes ............................................................................................. 70
Dplacement dun champ ........................................................................................................... 162
Description .................................................................................................................................... 82
Enregistrer ..................................................................................................................................... 64
Fermer............................................................................................................................................ 64
Manipulation des champs........................................................................................................... 157
Mode Cration ........................................................................................................................ 57, 79
Optimisation de la structure ....................................................................................................... 155
Ouverture....................................................................................................................................... 87
Proprits des champs................................................................................................................ 164
Slection de champs................................................................................................................... 160
Structure...................................................................................................................................... 157
Suppression dun champ............................................................................................................. 162

Table
De jonction .......................................................................................................................... 244, 248
De vrit ...................................................................................................................................... 320

Tableau crois dynamique ......................................................................................... 381, 516


Tableur ................................................................................................................................... 544
Taille
Dun contrle ............................................................................................................................... 417
Du champ ............................................................................................................................ 165, 212

Texte............................................................................................................................... 166, 172


Tri
Avanc................................................................................................................................. 122, 147
Complexe..................................................................................................................................... 122

558

Index

Croissant...................................................................................................................................... 146
Effacer.......................................................................................................................................... 122
Effacer les paramtres du tri avanc.......................................................................................... 125
Enregistrement des tris avancs................................................................................................. 126
Retrouver lordre initial des donnes ......................................................................................... 150
Simple.......................................................................................................................................... 120
Sur plusieurs colonnes................................................................................................................ 122

Tri des objets........................................................................................................................... 50


Type de donnes .................................................................................................................... 61
Date/Heure.................................................................................................................................. 173
Mmo .......................................................................................................................................... 172
Montaire.................................................................................................................................... 169
Numrique........................................................................................................................... 166, 169
NumroAuto ................................................................................................................................ 167
Oui/Non ....................................................................................................................................... 175
Texte.................................................................................................................................... 166, 172

U
Unicit...................................................................................................................................... 63
Unique.................................................................................................................................... 208
Unit
De mmoire de masse ................................................................................................................ 544
De mmoire vive ......................................................................................................................... 545

V
Valeur
Boolenne.................................................................................................................................... 545
Par dfaut............................................................................................................................ 177, 212

Valide si ................................................................................................................................. 197


VBA......................................................................................................................................... 545
Version ..................................................................................................................................... 14
Violation de lintgrit des donnes ................................................................................. 258
Visual Basic .................................................................................................................... 25, 509
Volet de navigation ................................................................................................................ 44
Modifier la tailleRduire ............................................................................................................... 44

Vrai/Faux................................................................................................................................ 175

X-Z
XML ........................................................................................................................................ 523
Zone
De dpt ...................................................................................................................................... 514
De texte............................................................................................................................... 385, 396

Index

559

Compos en France par Jouve


11, bd de Sbastopol - 75001 Paris

Você também pode gostar