Académique Documents
Professionnel Documents
Culture Documents
Excel A Access PDF
Excel A Access PDF
sans
T. C a p r o n
Thierry Capron
Pour que linformatique
taboo
soit un outil
taboo
et non un ennemi !
DExcel Access
Quand il faut consigner chiffres > Triez et filtrez des enregistrements dans vos listes de donnes
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
et donnes, le premier rflexe est de
recourir au classique tableur Excel (ou > Exploitez vos listes de donnes laide de la fonction Sous-total
Calc). Cependant, par crainte de satta- et des tableaux croiss dynamiques
quer aux concepts redouts des bases > Modlisez une base de donnes relationnelle prenne et volutive
de donnes, ou par mconnaissance, sous Access et Base
DExcel
lutilisateur se prpare des lendemains > Concevez les tables et leurs diffrents champs
difficiles. En effet, le tableur est vite
dbord mesure que les besoins aug- > Crez une table par importation de fichiers Excel et Calc
mentent. Dans bien des cas, il suffit de > tablissez les relations entre les tables matres et esclaves
faire jouer les fonctionnalits de base de > Btissez vos formulaires et alimentez votre base
Access
donnes dExcel ou mme de passer
Access (ou Base) pour crer et grer ses > Apprenez crer et modifier des requtes de slection
donnes dans une vritable base.
> Identifiez les doublons et les enregistrements sans correspondance
> Effectuez des calculs, tests conditionnels et manipulations
de chanes de caractres
> ditez et modifiez vos tats
Thierry Capron est diplm de lESCP. Il a
exerc diverses responsabilits opration-
nelles en entreprise durant 15 ans (CBS, qui sadresse cet ouvrage ?
Arcelor Mittal, Point P). Depuis 10 ans, il > Aux associations, TPE et PME dont la base de donnes atteint une
consacre tout son temps la formation en
masse critique ingrable avec des feuilles de calcul Excel ou Calc.
comptabilit et bureautique auprs de
publics varis (EDF GDF, Eurocopter, Ceram
Sophia Antipolis).
> Aux utilisateurs dExcel et de Calc qui se sentent limits par
lorganisation en feuilles et classeurs.
Croiser, extraire et analyser ses donnes
> Aux dbutants en base de donnes qui veulent partir
Tlchargez les fichiers des cas pratiques du bon pied aussi bien sous MS-Office que sous
9 7 8 2 2 1 2 1 2 06 6 0
sur www.editions-eyrolles.com OpenOffice.org.
25
sans
SsTaboo_ExcelAccess_C1C4 23/04/08 15:16 Page 1
sans
T. C a p r o n
Thierry Capron
Pour que linformatique
taboo
soit un outil
taboo
et non un ennemi !
DExcel Access
Quand il faut consigner chiffres > Triez et filtrez des enregistrements dans vos listes de donnes
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
DExcel
lutilisateur se prpare des lendemains > Concevez les tables et leurs diffrents champs
difficiles. En effet, le tableur est vite
dbord mesure que les besoins aug- > Crez une table par importation de fichiers Excel et Calc
mentent. Dans bien des cas, il suffit de > tablissez les relations entre les tables matres et esclaves
faire jouer les fonctionnalits de base de > Btissez vos formulaires et alimentez votre base
Access
donnes dExcel ou mme de passer
Access (ou Base) pour crer et grer ses > Apprenez crer et modifier des requtes de slection
donnes dans une vritable base.
> Identifiez les doublons et les enregistrements sans correspondance
> Effectuez des calculs, tests conditionnels et manipulations
de chanes de caractres
> ditez et modifiez vos tats
Thierry Capron est diplm de lESCP. Il a
exerc diverses responsabilits opration-
nelles en entreprise durant 15 ans (CBS, qui sadresse cet ouvrage ?
Arcelor Mittal, Point P). Depuis 10 ans, il > Aux associations, TPE et PME dont la base de donnes atteint une
consacre tout son temps la formation en
masse critique ingrable avec des feuilles de calcul Excel ou Calc.
comptabilit et bureautique auprs de
publics varis (EDF GDF, Eurocopter, Ceram
Sophia Antipolis).
> Aux utilisateurs dExcel et de Calc qui se sentent limits par
lorganisation en feuilles et classeurs.
Croiser, extraire et analyser ses donnes
> Aux dbutants en base de donnes qui veulent partir
OpenOffice.org Calc 2 Initiation. OpenOffice.org 2.2 efficace Writer, Calc, Impress, Draw, Base.
P. Moreau. S. Gautier, C. Hardy, F. Labb et Michel Pinquier.
N12035, 2006, 210 pages. N12166, 2007, 394 pages.
Scuriser enfin son PC Rflexes et techniques contre les virus, Mac OS X Tiger.
spams, phishing, vols et pertes de donnes. Laboratoire SUPINFO des technologies Apple.
P. Legand. N12204, 2007, 292 pages.
N12005, 2006, 400 pages .
Mac OS X Leopard.
Ciel Compta. Laboratoire SUPINFO des technologies Apple.
N. Crouzet. paratre.
paratre.
Thierry Capron
Le code de la proprit intellectuelle du 1er juillet 1992 interdit en effet expressment la photocopie usage collectif sans
autorisation des ayants droit. Or, cette pratique sest gnralise notamment dans les tablissements denseignement,
provoquant une baisse brutale des achats de livres, au point que la possibilit mme pour les auteurs de crer des uvres
nouvelles et de les faire diter correctement est aujourdhui menace.
En application de la loi du 11 mars 1957, il est interdit de reproduire intgralement ou partiellement le prsent ouvrage,
sur quelque support que ce soit, sans autorisation de lditeur ou du Centre Franais dExploitation du Droit de Copie, 20,
rue des Grands-Augustins, 75006 Paris.
Groupe Eyrolles, 2008, ISBN : 978-2-212-12066-0
Avant-propos
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
mthode ?
Structurer son approche dun logiciel de base de donnes conditionne
99 % la russite dun projet. Cest donc trs logiquement que nous met-
trons ici laccent sur la mthodologie de travail plus que sur les techni-
ques pures qui, de toute faon, trouveront naturellement leur place en
temps et en heure.
De plus, pour intresser le public le plus vaste possible, lensemble de nos
explications sont directement applicables par les utilisateurs de Micro-
soft Office 2003 et 2007 (Access et Excel) ainsi que par ceux
dOpenOffice.org 2.2 (Base et Calc).
tions et les captures dcran, nous avons dcid daxer notre expos par
dfaut sur Excel et Access 2007. chaque fois que cela a t ncessaire,
nous avons spcifi les particularits des versions 2003 ou
OpenOffice.org 2.2 dans des sections ou encadrs spcifiques.
Remerciements
En comparant les preuves finales avec le tout premier jet de ma rdac-
tion, je ne peux que mesurer lnorme travail de conseil, daccompagne-
ment et de structuration qua ralis toute lquipe ditoriale Eyrolles.
Sans compter une patience, une disponibilit et une bonne humeur
toute preuve. Un norme bravo et toute ma reconnaissance Sandrine,
Sophie, Matthieu et Aurlie avec qui jai travaill en direct, ainsi qu
toutes celles et ceux que je ne connais pas et qui ont apport leur contri-
bution ce livre.
Comment ne pas saluer aussi comme il convient la dream team du
Ceram Sophia Antipolis, Marc, Michel et Fred : Access et PCIE, a
forge des souvenirs...
Merci aussi tous les anciens participants mes cours et sessions de for-
mation. Ils mont rappel tous les jours que si une explication nest pas
comprise cest quelle nest pas claire.
Enfin, toute ma reconnaissance Bernard qui a su voici maintenant
quelques annes porter mon premier projet ddition et Marie-Pierre
qui continue peut-tre contre vents et mares croire en dautres livres.
Les filtres volus spcifiques Excel 2007 53 La mthode dlaboration dune base de donnes relationnelle 100
Les autres filtres volus dExcel 2007 et 2003 et de Calc 55 La phase de modlisation 100
Synthse : les tris et les slections denregistrements par filtre 57 La mise en uvre pratique dune base de donnes relationnelle 100
La structure dun SGBDR et ses diffrents objets 101
4. EXPLOITER LES LISTES DE DONNES : LES SOUS-TOTAUX ET LES Les phases de la programmation dune base de donnes
TABLEAUX CROISS DYNAMIQUES .................................. 59 relationnelle 103
Totaux et sous-totaux dans une liste de donnes 60 Synthse : base de donnes relationnelle et mthode de travail
Insrer un niveau unique de sous-total 61 avec un SGBDR 105
Exploiter les sous-totaux de listes de donnes 64
Afficher la liste intgrale des enregistrements, 6. LA MODLISATION DUNE BASE DE DONNES
des sous-totaux et du total gnral 64 RELATIONNELLE .........................................................107
Affiner lanalyse : dvelopper ou rduire chaque sous-total 64 Prsentation de notre cas pratique de base de donnes
Supprimer les sous-totaux 66 relationnelle 108
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Imbriquer plusieurs niveaux de sous-totaux 66 Btir le schma thorique de la base de donnes relationnelle 109
Moyenne, nombre, variance et autres carts types 68 Dterminer les lments du schma thorique avec la phrase cl 110
Des tats danalyse entirement paramtrables : les tableaux Individualiser les lments de la phrase cl 111
(graphiques) croiss dynamiques 71 Caractriser les lments de la phrase cl 111
Crer un tableau crois dynamique avec lassistant Crer un viter les principaux piges du schma thorique 112
TCD 72 Ne pas crer dlment inutile 112
Exploiter un TCD 75 Ne pas crer un schma thorique en boucle 114
Faire varier la dimension filtre 76 Dduire le schma rel du schma thorique 114
Modifier la structure du TCD 77 Dterminer dfinitivement les tables du schma rel 115
Actualiser un TCD 79 Dterminer les champs et la cl primaire de chaque table 117
Organiser ses TCD 80 tablir les relations entre les tables 118
Le graphique crois dynamique 80 Les principales tapes de la programmation dAccess et de Base 120
Les GCD sous Excel 2007 80 tape 1 : programmer les tables 120
Les GCD version Excel 2003 84 tape 2 : tablir les relations 121
Synthse : les fonctions de sous-total et de tableau (graphique) tape 3 : saisir les donnes 121
crois dynamique sont les instruments indispensables danalyse tape 4 : programmer formulaires, requtes
dune liste de donnes 87 et tats/rapports 122
Synthse : modlisation et mthode de programmation dun
5. INTRODUCTION AUX BASES DE DONNES RELATIONNELLES 89 SGBDR 122
Les limites des listes de donnes 90
Une liste de donnes est un cas particulier dune base 7. OPRATIONS ESSENTIELLES
de donnes 90 SUR UNE BASE DE DONNES ........................................125
Une liste de donnes est une base de donnes Crer une nouvelle base de donnes relationnelle 126
aux performances limites 91 Ouvrir une base de donnes relationnelle existante 128
Les concepts fondamentaux des bases de donnes relationnelles 93 Autoriser louverture de la base pour une session seulement
Les tables : regroupement des donnes dun mme domaine 93 sous Access 2007 130
Les relations entre les tables 94 Autoriser dfinitivement louverture de toutes les bases dun
Tables matres et tables esclaves 97 dossier sous Access 2007 131
La cl primaire : identifiant unique dun lment de table 97 Utiliser lcran daccueil dune base de donnes relationnelle 133
Crer un champ de type Texte 144 Il nexiste pas de liste de choix entre la table esclave et sa table
Crer un champ de type Date 145 matre (Access) 191
Crer un masque de saisie sous Access 145 Synthse : le verdict des relations 192
Crer un champ de type tlphone 148
Crer une table par importation de donnes 150 9. CRER UN FORMULAIRE ET SAISIR LES DONNES ............195
Caractristiques des donnes importer 150 quoi sert un formulaire ? 196
Importer des donnes externes dans une table Access 150 Crer un formulaire de saisie simple 198
Importer dautres objets Access 153 Crer un formulaire avec lassistant 198
Importer des donnes et des programmes sous Base 155 Dterminer la table et les champs du formulaire 200
Modifier la table rsultante aprs importation 156 Choisir laspect du formulaire 202
Manipuler les objets dune base de donnes 156 Le formulaire en mode Contenu 203
Comprendre lutilit des deux modes daffichage dun objet 156 Modifier un formulaire 205
Ouvrir un objet directement dans le mode adquat 158 Modifier ltiquette dun contrle de formulaire 209
Basculer dun mode daffichage lautre 158 Dplacer et redimensionner un contrle dun formulaire 209
Fermer, supprimer et copier un objet 159 Crer un formulaire avec liste de choix sous Base 210
Synthse : oprations essentielles sur une base de donnes 160 Insrer la liste de choix 211
Insrer ltiquette de la liste de choix 214
8. TABLIR LES RELATIONS ENTRE LES TABLES .................. 163 Aller plus loin avec les formulaires 215
Crer toutes les tables de notre cas pratique 164 Crer un formulaire pour agir sur deux tables la fois 215
Crer la table des Guides 167 Crer un menu douverture pour nophyte avec Access 218
Crer la table des Activites 168 Crer le formulaire de menu 218
Crer la table des Inscriptions 168 Automatiser louverture dun formulaire 221
Crer la table des BureauxGuides avec Base 169 Saisir et modifier les donnes 222
tablir les relations par liste de choix avec Access 170 Les spcificits de la saisie des donnes dans une base
Paramtrer une liste de choix manuelle avec Access 171 de donnes relationnelle 222
Utiliser lassistant Liste de choix manuelle 171 Les contraintes dintgrit rfrentielle 222
Vrifier et scuriser la liste de choix avec Access 173 Les donnes sont enregistres immdiatement 223
Assigner une valeur par dfaut dans une liste de choix 174 Saisir, modifier et supprimer des donnes 225
Saisir un formulaire ou directement dans la table 225 Visualiser la requte de non-correspondance 267
Saisir des donnes avec un formulaire 225 Le mode Cration de la requte de non-correspondance 268
Saisir des donnes directement dans une table 226 Le mode SQL de la requte de non-correspondance 268
Modifier et supprimer des donnes 227 Crer la requte de non-correspondance en mode SQL avec
viter les difficults lies la saisie de donnes 228 Base 270
Il faut respecter les proprits du champ 228 Crer le code SQL de requte de non-correspondance 270
Il faut respecter le principe dintgrit rfrentielle 229 Crer la requte de non-correspondance en mode SQL 271
Synthse : les formulaires et la saisie des donnes 230 Identifier les doublons dans une table 271
Crer une requte de recherche de doublons avec lassistant
10. EXPLOITER LES DONNES AVEC UNE REQUTE SIMPLE .. 233 Access 273
Quest-ce quune requte ? 234 Modifier une requte existante 275
Plusieurs types de requtes 235 Crer une requte de recherche de doublons en mode SQL 278
Rflexions pralables la cration dune requte 236 Synthse : rechercher des enregistrements particuliers dans une
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Choisir les champs participant une requte 236 base de donnes 279
Choisir le mode de cration de la requte 237
Crer une requte simple 237 12. EFFECTUER DES CALCULS ET DES SYNTHSES
Crer une requte avec lassistant Access 238 AVEC UNE REQUTE ....................................................283
Slectionner les champs de la requte (tape 1 de Prendre en compte une modification du cahier des charges 284
lassistant) 238 Identifier les modifications de la base suite au nouveau cahier
Choisir le type de requte (tape 2 de lassistant) 239 des charges 285
Enregistrer la requte (tape 3 de lassistant) 240 Modifier la base de notre cas pratique 287
Crer une requte en mode Cration/bauche 241 Crer des champs calculs 291
Crer une nouvelle requte en mode Cration/bauche 242 Connatre la syntaxe dun champ calcul dans une requte 291
Insrer les tables participant la requte 242 Effectuer un calcul arithmtique 292
Insrer les champs participant la requte 243 Manipuler les chanes de caractres avec Access 297
Comprendre les rsultats dune requte en mode Contenu 244 Effectuer un test conditionnel avec Access 298
Sexercer crer des requtes 246 Raliser des synthses avec une requte 301
Faciliter la saisie des donnes avec une requte sous Access 248 Crer une requte de synthse avec lassistant Access 301
Crer la requte source 248 Crer une requte de synthse en mode Cration/bauche 303
Crer le formulaire bas sur la requte 249 Organiser son travail avec les requtes 304
Synthse : exploiter les donnes avec une requte simple 252 Grer lajout et la suppression de donnes 305
Crer une unique requte avec tous les calculs 306
11. ISOLER DES ENREGISTREMENTS PARTICULIERS DANS Synthse : effectuer des calculs et des synthses avec les requtes 307
UNE BASE DE DONNES .............................................. 255
Modes cration/bauche, assistant et SQL : sorienter 256 13. DITER TABLES ET REQUTES AVEC DES TATS/RAPPORTS
Raliser des slections denregistrements 257 PROFESSIONNELS ....................................................... 309
Crer une requte slection 257 Crer un tat/rapport en trente secondes 311
Crer une requte slection paramtre 258 Crer un tat simple avec lassistant Access 311
Combiner les critres de slection 260 Crer un rapport simple avec lassistant Base 316
Utiliser les critres de slection volus 262 Sentraner la cration dtats/rapports 319
Identifier des enregistrements sans correspondance 262 Crer un tat de synthse avec Access 319
Crer la requte de non-correspondance avec lassistant Access 263 Dterminer les champs participant ltat 320
chapitre
SOMMAIRE
B Le traitement de texte :
une solution inadapte
Grer une base de donnes nimpose pas ncessairement
dutiliser un logiciel complexe comme Access ou Base. B Le tableur et ses filtres :
une solution plus performante
partir dun exemple trs simple, nous allons dcouvrir
B Les listes de donnes sous
ici les avantages dcisifs des bases de donnes simplifies tableur : un pas vers les bases
que sont les listes de donnes sous tableur. de donnes
MOTS-CLS
B Liste de donnes sous tableur
B Filtre de liste de donnes
B Base de donnes
B Cahier des charges simplifi
exemple que nous voulions distribuer tous les tudiants leur planning
et uniquement leur planning. Tous les groupes tant prsents sur le
mme tableau, et les traitements de texte ne sachant pas masquer tem-
porairement certaines lignes, on ne pourra queffectuer des copier coller
au sens premier du terme, cest--dire avec des ciseaux et de la colle...
Pas trs performant, non ? Ce problme se posera de la mme faon
quand lintervenant du 17 novembre nous demandera son planning (et
uniquement le sien).
Bref, notre tableau sous traitement de texte ne nous rendra gure de services.
Vous affirmez que Word est disqualifi pour grer les bases de donnes. Pourtant je gre
personnellement les mailings de mon entreprise entirement sous Word et je men porte
trs bien. Alors ?
Si cette faon de procder vous convient, continuez sans arrire pense ; vous trouverez
mme dexcellents ouvrages qui vous y aideront. Ceci dit :
Le module de mailing de Word a t dvelopp pour ceux qui ne souhaitent pas sini-
tier aux bases de donnes. Le fait que vous lisiez ces lignes prouve que vous nen
faites plus partie.
Les fonctions de mailing de Word et Writer restent bien au dessous, tant en ergo-
nomie quen performance, de ce que vous pourrez faire avec Excel ou Access la fin
de ce livre, surtout en ce qui concerne les slections de donnes (les abonns de telle
ville, les clients de tel dpartement, les produits de telle gamme, les ventes sup-
rieures la moyenne des ventes, les employs de tel ge, etc.).
du 17 novembre.
Excel 2007 : ces bandes alternativement grises et blanches (en fait bleues et blanches) et
ces flches ct de chacun des en-ttes de colonne ne sobtiennent simplement quavec
Excel 2007 (dans longlet Accueil, groupe Style, cliquez sur loutil Mettre sous forme
de tableau).
Excel 2003 : ces mmes flches sobtiennent par le menu Donnes, option Filtres puis
Filtres automatiques. Pour les alternances de couleur, par contre, il faudra vous
dbrouiller la main...
Pour Calc, le menu Donnes, options Filtres puis Autofiltre fait apparatre les flches.
Pour les lignes de couleurs alternes, il faudra aussi se dbrouiller la main...
Figure 13
Les possibilits de filtre
pour la colonne (champ) Groupes
Le haut de la bote de dialogue de la figure 13 permet deffectuer des tris, EXCEL 2003 ET CALC
mais le plus intressant ici se situe plus bas, au-dessous de la zone Filtres Appliquer un filtre
textuels, o nous retrouvons la liste de nos quatre groupes. Ils sont tous
Les botes de dialogue Excel 2003 et Calc diffrent
cochs, ce qui signifie quils sont tous actuellement affichs. Si nous dco- lgrement de la figure 13, mais offrent avec une
chons les groupes 1, 3 et 4 pour ne conserver coch que le 2 et que nous ergonomie semblable les mmes fonctionnalits,
validons, nous obtenons laffichage du groupe 2 uniquement (figure 14). voir page 7.
Figure 14
Lapplication dun filtre
naffiche que certaines lignes.
Figure 15 Figure 16
Les filtres dExcel 2007 regroupent les dates par mois Le choix dun filtre sur une date particulire (ici, le 17 novembre)
Remarquez sur la figure 17 que seules les lignes 5, 13, 21 et 29, corres-
pondant la date du 17 octobre, sont affiches, et que les autres sont
temporairement masques. Cest le principe mme du filtre qui se con-
tente de masquer sans jamais supprimer.
Dans cette manipulation, nous avons bien pris soin dannuler le filtre sur
la colonne Groupe avant dappliquer celui sur la Date. Que ce serait-il
pass si les deux filtres avaient t appliqus en mme temps ?
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Excel 2003 et Calc noffrent pas la possibilit, comme Excel 2007, de slectionner un mois
particulier. Il sagit alors simplement de slectionner dans la liste de choix du filtre correspon-
dant la date souhaite (figures 19 et 110).
Les filtres offrent bien dautres possibilits, nous les tudierons en dtail
pages 71 et suivantes.
Figure 112
La feuille de calcul (Zone en colonne et Produit en ligne)
correspondant lorganisation feuille-classeur de la figure 111
TECHNIQUE Intervertir lignes et colonnes Par contre, si nous prfrons visualiser les ventes par produit et
dun tableau Excel ou Calc priode pour un reprsentant et une zone donns, il vaudra mieux
Dans notre cas pratique, si, pour des raisons de
opter pour la figure 113.
prsentation, nous dcidons dintervertir lignes et Nous en sommes donc rduits un choix dans lequel, objectivement,
colonnes, il faut procder ainsi : aucune solution ne simpose par rapport une autre, dautant que nous
1. Slectionner le tableau. ne serons jamais certains davoir bien compris ce quEddy avait
2. Le copier par Ctrl + C.
3. Se placer sur une feuille vierge, et via un clic demand, ni mme quil ne changera pas davis...
droit choisir Collage spcial, puis loption
Transpos. Aucune solution feuille-classeur ne saura voluer
Attention quand mme, cette manipulation
dplace contenus et format des cellules. Il vous La vie de lentreprise nest pas un long fleuve tranquille, et la vrit dun
faudra donc certainement reparamtrer intgrale- jour nest pas ncessairement celle du lendemain. Pour ce qui nous con-
ment formats et encadrements qui auront t cerne, il est tout--fait possible par exemple que la dimension Produit
chambouls par la transposition
prenne progressivement un aspect prpondrant, auquel cas aucune de
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Les donnes figurant dans les lignes et les colonnes dun tableau sont les seules tre
exploitables du premier coup dil (figure 112).
Ds quelles figurent sur une autre feuille, elles sont ncessairement moins disponibles,
car disperses en fait sur plusieurs crans et donc non visualisables en mme temps. Et
cest encore plus vrai si vous les stockez dans dautres classeurs, ou mme dans dautres
dossiers ! Donc autant viter tant que possible de disperser ses informations, par exemple
en les groupant dans le mme tableau...
Figure 115
Zoom par reprsentant et produit pour la zone Nord. Seule Sophie
a vendu des Cordes. Nous retrouvons bien les 3 930 de cordes
pour le Nord de la figure 114.
En haut de cet tat, ct de lintitul Nord dans le champ Zone, apparat notre entonnoir de
filtre. Il suffira de cliquer dessus pour voir apparatre les trois zones et de slectionner celle de
son choix (la figure 116 donne la mme vision, mais cette fois-ci pour le Sud).
Figure 116 Le mme tat que la figure 115, mais pour la zone Sud
pour tous ces tats aurait galement fallu reprendre toutes les formules...
Cerise sur le gteau, les listes de donnes se Ces deux solutions ne sont pas satisfaisantes : elles sont toutes deux trs
grent trs simplement et trs rapidement. Avec lourdes et difficilement adaptatives.
une conomie de temps et de moyens remar-
quable. titre dillustration, tous les tats des
Par contre, en mode liste de donnes, il suffit de saisir le nom du nou-
figures 114, 115, 116 et 117 ont t pro- veau reprsentant pour quautomatiquement il soit pris en compte dans
gramms en 30 secondes chrono. Qui dit mieux ? les tats avec bien videmment toutes les formules mises jour. La
figure 117 en fournit la preuve.
Figure 117
Lintgration dun nouvel lment est automa-
tique en mode liste de donnes.
chapitre
SOMMAIRE
B Dfinitions pralables
Nous allons ici apprendre construire une liste de donnes B Bien structurer
scurise sous tableur et comment une mise en forme une liste de donnes
spcifique permet une analyse efficace. B Les rgles de validation
dune liste de donnes
B Les mise en forme
conditionnelle de listes
de donnes
MOTS-CLS
B Liste de donnes
et base de donnes
B Champ et enregistrement
B Les cinq rgles
dune liste de donnes
B Rgles de validation,
message daide la saisie
et message derreur
B Mise en forme conditionnelle :
isoler un lment, visualiser
les 10 premiers lments,
barre de donnes
B Doublons
Dfinitions pralables
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 21
La liste de donnes de notre cas pratique :
un tableau classique, les Champs en en-tte
de colonne et les Enregistrements
les uns au-dessous des autres
Pour numroter ou renumroter les cellules de A1 A100 : Si jamais vous faites une erreur de saisie dans une
1. Saisissez 1 en A1puis saisir 2 en A2. liste de donnes, il suffit de la rectifier comme
vous le feriez dans une feuille de calcul classique.
2. Slectionnez les deux cellules A1 et A2.
Si jamais vous oubliez de saisir une vente, vous
3. Recopiez par la poigne de recopie jusquen cellule A100.
pouvez soit :
Le tableau va alors alimenter les cellules vides en ajoutant la valeur 1 correspondant
simplement lajouter en bas de la liste de don-
lincrment entre 1 et 2 de A1 et de A2. Vous pouvez changer cet incrment :
nes, avec linconvnient que son numro chro-
Si vous saisissez 0 en A1 et 2 en A2, vous obtiendrez la srie suivante : 0, 2, 4, 6, 8... nologique ne correspondra pas la ralit ;
avec un incrment de 2. insrer une ligne au bon endroit, avec lavan-
Si vous saisissez 1 en A1 et 5 en A2, vous obtiendrez cette fois 1, 5, 9, 13, 17, soit un tage que le numro sera correct mais avec
incrment de 4. linconvnient quil faudra alors renumroter
Si vous saisissez 0 en A1 et 5 en A2, vous obtiendrez enfin 0, 5, 10, 15, 20, soit un les lignes, comme expliqu dans lapart Pro-
incrment de 5. ductivit ci-contre.
Quand on saisit des informations dans un tableur, celui-ci, prvenant, regarde toujours
au-dessus dans la mme colonne sil ne pourrait pas nous aider en nous suggrant, au fur
et mesure de notre saisie, des entres dj effectues.
Concrtement, si nous nous plaons la cellule D32 du tableau de la figure 21 et que
nous saisissons S , le tableur va automatiquement nous proposer Sangles parce
que cest la seule entre existante de la colonne commenant par S.
Si nous avions grer deux types de cordes, les Cordes dattache et les Cordes de rappel,
il faudrait saisir Cordes d ou Cordes de pour que le tableur puisse faire la distinc-
tion. Do perte de temps et gain dnervement. Sauf si nous choisissons la terminologie
Attache ou Rappel simplement, auquel cas taper simplement A ou R suffira faire
le distingo et acclrer sensiblement notre saisie !
Penser donc, quand cest possible, ne pas avoir dans le mme champ deux entres avec
la mme initiale. La suggestion automatique des entres de la liste de donnes fonction-
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 22
Une liste de donnes non conforme
(avec une ligne vierge)
Figure 23
Une liste de donnes (brute et sans formule)
permet de gnrer automatiquement toutes
sortes de tableaux danalyse.
La liste de donnes ne contient donc que les donnes, sans aucune for-
mule de totalisation.
Nous connaissons maintenant les rgles de base pour construire une liste
de donnes. Il est donc temps daborder ltude des rgles de validation
pour sassurer de la conformit des donnes au moment de leur saisie.
Figure 24
La bote de dialogue Validation des donnes.
Tableau 21 Principales possibilits de contrle de validit des entres dans une liste de donnes (Excel) (suite)
Figure 25
Seuls les entiers compris
entre 0 et 12 000 seront accepts.
Figure 26 Le paramtrage dune liste de validation (de H1 H4) pour le champ Reprsentant
(la colonne B correspondant ce champ, lexclusion de la cellule B1, est slectionne)
Figure 27
Une formule comme
rgle de validation des donnes
ALLER PLUS LOIN Crer une rgle de validation dans une simple feuille de calcul
Lessentiel de ce qui a t expliqu pour Excel est valable pour Calc, tant sur le plan des
principes de fonctionnement que sur celui de lergonomie des commandes (figure 29).
On accde ce paramtrage par le menu Donnes, option Validit. Les seules diff-
rences significatives sont :
limpossibilit de paramtrer une rgle de validation en fonction du rsultat dune for-
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 210
Le paramtrage dun message Figure 211
de saisie pour inviter saisir Le message de saisie qui apparat
la date sous la forme JJ/MM/AA avec le paramtrage de la figure 210
Figure 212
Le message par dfaut de non conformit
avec les rgles de validation nest pas toujours
trs clair pour les non initis...
Il sagit dans ces messages de faire efficace et lisible, par forcment de faire joli ou litt-
raire. Prfrez :
Pour le champ Date JJ/MM/AA ou mieux encore 12/01/09 .
Pour le champ Reprsentant, Prnom du reprsentant . Le message Hlne,
Sophie, Jean ou Pierre serait plus prcis, mais devra tre complt ds quun nou-
veau reprsentant rejoindra lentreprise. Sans compter quon peut quand mme sup-
poser que loprateur connait ses reprsentants...
Pour le champ Montant, Montant de la vente .
Plus gnralement, vitez les formules inutilement alambiques du style Merci de saisir
sous la forme suivante... , contentez-vous de la formulation de la rgle brute sans blabla.
Zone Liste (Nord, Sud, RP) Zone de la vente Entrez une zone existante
Produit Liste (Cordes, Sangles, Mousquetons) Nom du produit Entrez un produit existant
Date Date 12-janv-08 par exemple Entrez une date de format "12-janv-08"
De format 12-janv-08
Montant Dcimal Montant de la vente avec les centimes Entrez le montant de la vente avec les centimes
* Le champ Numro ne sera pas bien gr par ces rgles de validation. En par-
ticulier, rien nempchera de sauter un numro (de passer par exemple du 9 au
11 sans passer par le 10) ou mme de rpter le mme numro (par exemple,
deux fois le numro 31). Sachez que ce type de difficults de numrotation
automatique denregistrement, toujours un peu gnant avec un tableur, sera
rsolu de manire beaucoup plus fiable et simple avec Access ou Base.
Figure 213
La mise en forme conditionnelle
version Excel 2007
3 Dans la bote de dialogue obtenue (figure 214), saisissez Hlne prfrez les Filtres, voir page 49.
dans la zone approprie.
Figure 214
La bote de dialogue Format conditionnel gal
Figure 215
Les enregistrements dHlne
sont signals par un format spcifique.
Figure 217
Le top ten des ventes.
Figure 218
La bote de dialogue nouvelle rgle
de mise en forme par lapplication dune formule
Cette mme procdure permet aussi de reprer les valeurs uniques ou les
doublons par loption Appliquer une mise en forme uniquement aux
valeurs uniques ou aux doublons.
DFINITION Doublons
famille apparatra deux fois ; il ne sagira pas dans ce cas dun doublon vritable ,
puisquils auront certainement des prnoms diffrents.
Dans toute liste de donnes, il est trs vivement conseill, pour ne pas dire obligatoire,
davoir toujours au moins un champ qui naccepte pas de doublon. Dans notre cas pra-
tique, il sagit du champ Numero. Ce champ servira identifier clairement et sans ambi-
gut un enregistrement parmi les autres : il ny aura ainsi quun enregistrement portant
le numro 1, un seul avec le 2, etc.
Figure 219
Des barres de couleur pour visualiser
la place de chaque donne dans une srie
Figure 220
Le format conditionnel la mode Excel 2003
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 221
Deux conditions notre format conditionnel
Excel 2003
Les listes de donnes sont des bases de donnes simplifies ralises sous
un tableur. Elles rpondent, comme les bases de donnes relationnelles,
des impratifs de structure et de contrle. En retour, elles proposent
des outils simples danalyse des donnes.
En matire de structure, nous avons dcrit les cinq rgles qui prsident
llaboration dune liste de donnes efficace :
les noms de champ en premire ligne ;
les enregistrements les uns au-dessous des autres ;
ni ligne ni colonne vide ;
pas de mise en forme inutile ;
pas de formule.
Il est essentiel de contrler la validit des donnes entres dans la liste de
donnes afin den assurer la cohrence et de simplifier son exploitation.
On peut, par exemple, imposer le format de saisie des dates ou interdire
la saisie de chanes de caractres trop longues. Excel et Calc proposent
cet effet une large palette de rgles de validation, de messages daide la
saisie et de messages derreur indispensables utiliser ds la cration de
la liste de donnes.
Enfin Excel 2007, et dans une moindre mesure Excel 2003 et Calc, pos-
sdent des outils de mise en forme conditionnelle permettant de reprer
visuellement les caractristiques de certains enregistrements et leur place
par rapport lensemble de la liste, par exemple en figurant les donnes
positives en vert et les ngatives en rouge.
Nous pouvons donc maintenant tudier, dans le chapitre suivant, les
outils de tri et de slection denregistrement de listes de donnes.
chapitre
SOMMAIRE
B Comment accder aux
fonctions de liste de donnes
Maintenant que nous savons construire une liste de donnes
sous tableur, nous allons apprendre la trier dans tous les sens B Les tris de listes de donnes
et y rechercher certains enregistrements en fonction B Les filtres ou la slection
denregistrements
de critres personnaliss.
MOTS-CLS
B Tri croissant (alphabtique)
et dcroissant (antialphabtique)
B Tri personnalis
B Combinaison de tris successifs
B Filtres, filtres automatiques
et autofiltres
B Combinaison de filtres
B Filtres textuels, numriques
et chronologiques
B Filtres volus et labors
Les fonctions de tri figurent parmi les plus employes par tout utilisateur
de tableur. Nous pousserons celles-ci dans leurs derniers retranchements
en apprenant entre autres trier, non plus simplement dans lordre
alphabtique, mais selon un ordre entirement sur mesure. Nous verrons
ensuite comment extraire de notre liste les enregistrements rpondant
tel ou tel critre avec les fonctions de filtre (les ventes de tel reprsentant,
les ventes dun montant total suprieur telle somme, etc.).
Figure 31 Vous devez cliquer sur une et une seule cellule de la liste pour accder aux fonctions de liste de donnes.
Si vous suivez nos conseils, notamment celui de naccder aux fonctions de liste de don-
nes quaprs avoir slectionn une seule cellule de la liste, cela ne devrait pas arriver.
Dans le cas contraire, vous obtiendrez un message derreur diffrent selon les logiciels
(figures 32 et 33).
Trier selon ce champ par ordre croissant nest gure satisfaisant car vous
obtiendrez le rsultat suivant : dimanche, jeudi, lundi, mardi, mercredi,
samedi, vendredi. Quand au tri par ordre dcroissant, il ne vaudra gure
mieux ! Excel et Calc proposent, pour contourner cette difficult, de
crer des listes personnalises sur lesquelles nous pourrons effectuer tout
tri notre guise.
Illustrons le mode opratoire par un exemple. Nous souhaitons trier
notre liste de donnes selon le champ Reprsentant, non plus simple-
ment par ordre alphabtique croissant mais en mettant les dames en pre-
mier, cest--dire dans lordre suivant : Hlne, Sophie, Jean et Pierre.
Pour ce faire, il va nous falloir crer la liste personnalise selon laquelle le
tri sera effectu puis raliser le tri proprement dit. Mais avant de com-
mencer ces oprations, attardons-nous un peu sur la scurit de nos don-
nes. En effet, nous avons pass beaucoup de temps btir notre liste de
donnes et y saisir les informations, il serait trs dommage quune
fausse manipulation la dtruise ou mme simplement laltre. En cons-
quence, et mme si toutes les manipulations de liste de donnes sont
normalement sres, il faut considrer lventualit dune fausse manipu-
lation qui peut obliger, dans le pire des cas, recommencer le travail
depuis le dbut. Nous ne saurions donc trop vous conseiller, avant
dexprimenter de nouvelles fonctions ou deffectuer des oprations pour
lesquelles un chec serait grave (par exemple un tri sur la liste de donnes
des clients de notre entreprise), de raliser une copie de la liste de don-
nes. Une fois le travail termin, vrifiez-en les rsultats : en cas derreur,
vous disposerez de la copie de sauvegarde pour rcuprer les donnes ini-
tiales. Ouf !
Figure 35
La bote de dialogue Listes personnalises
(remarquez les listes dj prsentes dans
la zone gauche, notamment Lundi, Mardi,
Mercredi, Jeudi...)
4 Vrifiez que loption Nouvelle liste est bien valide, et entrez dans la
zone Entres de la liste les lments de votre liste en validant bien aprs
chaque entre. Vous obtenez, dans notre exemple, la figure 36.
5 Cliquez sur Ajouter, la liste ainsi cre (ici, Hlne, Sophie, Jean et
Pierre) se rajoute au-dessous et la suite de celles qui taient dj
disponibles.
Figure 36
Il ne vous reste plus qu cliquer sur Ajouter
pour valider cette liste personnalise.
EXCEL 2003 Crer une liste personnalise Remarquez que vous pouvez aussi utiliser des zones dune feuille dj
existante pour crer votre liste (en bas de la bote de dialogue des
Le seul changement par rapport la procdure
dcrite pour Excel 2007 est la faon daccder la figures 35 et 36).
bote de dialogue Listes personnalises : allez
dans le menu Outils>Options>Listes person-
PRODUCTIVIT Utilisez les listes personnalises pour acclrer vos saisies
nalises.
Ds quune liste personnalise est cre, il suffit dentrer
dans une cellule son premier lment et de recopier,
laide de la poigne de recopie, le contenu de cette cellule
CALC Crer une liste personnalise au-dessous ou ct pour quExcel ou Calc complte
Pour accder la bote de dialogue Liste de tri, automatiquement par les entres de votre liste. La
allez dans le menu Outils>Options>OpenOf- figure 37 montre comment (ici sous Calc) la recopie
fice.org Calc>Listes de tri. Cliquez sur le laide de la poigne de recopie du premier lment de
bouton Nouveau pour crer une nouvelle liste. notre liste personnalise (Hlne) entrane linsertion de
Sophie, Jean et Pierre sa suite.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 37
La recopie du premier lment dune liste personnalise
entrane linsertion de ses diffrents lments.
CALC Trier selon une liste personnalise Figure 38 Lappel dune liste personnalise dans la bote de dialogue Trier
1. Dans la bote de dialogue Tri, slectionnez
longlet Options, 4 Validez, la figure 39 apparat.
2. Cochez la case Ordre de tri utilisateur . 5 Validez une deuxime fois pour obtenir le rsultat dfinitif de notre
3. Slectionnez la liste ad-hoc.
tri (figure 310).
Figure 310
Notre liste trie, les femmes dabord !
Figure 311
Quatre tris successifs, le premier selon une
liste personnalise et le dernier en sens chro-
nologique inverse
Il ne vous reste plus qu aller voir Eddy avec votre tableau tri comme
dans la figure 312.
Figure 312
Notre liste de donnes trie. Observez
en particulier le tri des deux lignes du haut.
La bote de dialogue Trier de ces deux logiciels propose par dfaut de 3. Effectuez les tris successifs par paquet de trois, en oprant (et cest
trier sur trois champs successifs au maximum. l toute lastuce) du dernier paquet au premier. Dans notre
Au maximum ? Pas tout fait, grce la mthode suivante : exemple, il faut donc dabord effectuer un premier tri selon le der-
1. Listez sur une feuille de papier les tris successifs dans lordre o nier paquet (incomplet, ne comprenant que le champ Date,
vous souhaitez les effectuer (dans notre exemple : Reprsentant, figure 313) puis effectuer un deuxime tri selon le premier paquet
Zone, Produit, Date). (complet avec les trois champs Reprsentant, Zone et Produit,
2. Groupez-les par paquets de trois en partant du premier critre de figure 314).
tri ; si le nombre de critres nest pas divisible par trois, le dernier Et cest tout. Les figures 313 et 314 illustrent la dmarche suivre
paquet sera incomplet. Dans notre exemple, nous aurons un pre- dans cet exemple sous Calc (sans dtailler le paramtrage du tri selon
mier paquet comprenant Reprsentant, Zone et Produit et un la liste personnalise pour le champ Reprsentant).
deuxime paquet incomplet ne comprenant que Date.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 313 Le premier tri sur le dernier paquet, incomplet Figure 314 Le deuxime tri sur le premier paquet, complet
Pour afficher les fonctions de filtre assurez vous dabord, comme dhabi-
tude, de navoir slectionn quune et une seule cellule de la liste de don-
nes. Il vous suffit ensuite :
dans Excel 2007 de vous rendre dans longlet Donnes puis cliquer sur
le bouton Filtrer ;
dans Excel 2003 dutiliser le menu Donne, option Filtrer puis Filtre
automatique ;
dans Calc de vous rendre dans le menu Donnes, options Filtre puis
Autofiltre.
Figure 315 Les choix disponibles dans un filtre Figure 316 Slection dun sous-ensemble Figure 317 La case Slectionner tout
correspondent aux diffrentes valeurs que peut de donnes avec plusieurs critres valids. ractive toutes les entres dun champ.
prendre le champ (ici le champ Reprsentant).
Figure 318 Deux filtres concomitants sur les champs Reprsentant et Zone permettent daffi-
cher la seule vente effectue par Pierre dans la rgion Sud, il sagit de lenregistrement n 14.
Premier indice : certaines lignes sont masques temporairement. Sur la figure 318
par exemple, la seule ligne visible est la ligne 15 (lunique vente de Pierre dans le sud),
toutes les autres sont masques.
Deuxime indice : les numros de ligne se colorent en bleu (uniquement sous
Excel 2007 et 2003).
Troisime indice : la flche de slection du filtre change dapparence, elle sorne dune
sorte d entonnoir sous Excel 2007 (figure 319) ou se colore en bleu avec
Excel 2003 et Calc.
Figure 319
Lentonnoir signale quun filtre est actif
sur le champ Reprsentant.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
tions par des filtres efficaces et simples comme le montre le tableau 31.
Figure 321
Les diffrentes options des Filtres textuels
Option Effet
Commence par Prend en compte la ou les premires lettres du mot (P slectionnera Pierre, S Sophie, etc.)
Se termine par Prend en compte la ou les dernires lettres du mot (E slectionnera Pierre, Hlne et Sophie, mais non Jean)
Contient Prend en compte la prsence dun ou de plusieurs lettres dans le mot (X ne slectionnera rien, aucun nom de repr-
sentant ne contenant la lettre X)
Ne contient pas Prend en compte labsence dune ou de plusieurs lettres dans le mot (X slectionnera tous les enregistrements)
Figure 322
Utilisation des caractres gnriques dans un filtre Contient
ques de la liste droulante des filtres. Il est possible de choisir parmi plu-
sieurs options danalyse en fonction du problme rsoudre : suprieur
, infrieur , 10 premiers, au-dessus ou en dessous de la moyenne, etc.
(figure 323). Dans la figure 324, nous avons choisi de fournir Eddy
la liste des ventes suprieures la moyenne.
pour un reprsentant et une zone donns : les ventes de Jean pour le Sud.
Figure 325
La zone de critres dun filtre labor, ici pour
deux champs et une valeur pour chaque
champ. Remarquez que cette zone est spare
de la liste de donnes par une colonne vide.
CRIRE Suprieur/infrieur, ALLER PLUS LOIN Les combinaisons ET/OU dans les filtres volus
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
chapitre
SOMMAIRE
B Totaux et sous-totaux
dans une liste de donnes
Dans ce chapitre, nous allons apprendre utiliser les fonctions
les plus tonnantes des listes de donnes sous tableur, qui vont B Des tats danalyse
entirement paramtrables :
nous permettre deffectuer toute les analyses statistiques les tableaux (graphiques)
de nos donnes sans avoir entrer une seule formule ! croiss dynamiques
MOTS-CLS
B Totalisation de cellules par
simple slection
B Total et sous-total
B Sous-totaux imbriqus
B Somme, moyenne, nombre, cart
type, variance
B Tableau crois dynamique TCD
B Pilote de donnes PDD
B Graphique crois dynamique
Figure 41 Informations fournies par Excel 2007 sur les cellules slectionnes (F25 F31).
Figure 44 La liste de donnes est trie par Numro. Un sous-total a donc t insr
pour chaque nouvelle occurrence dun nom de reprsentant.
Seule lergonomie de la bote de dialogue Sous-total de Calc (figure 45) diffre de celle
dExcel. La nuance essentielle tient la prsence donglets qui vont permettre la cration
simultane de plusieurs niveaux de sous-totaux imbriqus, comme nous allons le voir plus
loin, par exemple par reprsentant, puis par zone, puis par produit. Remarquez aussi les
diffrentes fonctions disponibles, autres que la simple Somme().
Figure 47
Uniquement le total gnral. Remarquez
que les lignes 2 35 sont masques.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 48
Le total gnral, avec les sous-totaux
par reprsentant en prime
Figure 49
La figure 48, avec en plus le dtail de Jean
Figure 410
Toujours la figure 48, avec cette fois-ci
le dtail de Sophie
Figure 411
Le dtail pour Pierre, le total pour les autres
tion du nombre de niveaux de sous-totaux insrer. Linsertion sous Excel dun niveau
de sous-totalisation par Zone. Remarquez
Le pige dans cette procdure dinsertion de sous totaux imbriqus est de que la case Remplacer les sous-totaux
cocher la case Remplacer les sous-totaux existants de la figure 412. Dans existants nest pas coche.
cet exemple, a aurait leffet de remplacer la totalisation dj effectue (par
Reprsentant) par la nouvelle (par Zone). Vous nobtiendriez alors quun CALC Insrer des sous-totaux imbriqus
seul niveau de sous-totalisation (par Zone) et non deux comme souhait. La bote de dialogue Sous-totaux de Calc auto-
rise (figure 45) linsertion directe de plusieurs
niveaux de sous-totaux dun seul coup. Il suffit
dutiliser les onglets 1er groupe, 2e groupe,
3e groupe pour les sous-totaux de premier
niveau, deuxime niveau et troisime niveau. Dans
notre exercice, entrez le sous-total par reprsen-
tant dans longlet 1er groupe et celui par zone
dans le 2e groupe.
Figure 413
Deux niveaux de sous-totaux imbriqus.
La lisibilit est moins vidente...
CALC Insrer un changement de page La figure 413 dtaille ce que nous obtenons aprs avoir inser les sous-
entre chaque groupe totaux par reprsentant puis par zone. Lorganisation des icnes spcifi-
Cette option, une exclusivit de Calc, peut aider ques de sous-total reste globalement identique, mais sest singulirement
obtenir des tats plus lisibles (dans longlet complique. Remarquez par exemple lapparition dun nouveau bouton,
Options de la figure 45, slectionnez la case le 4, ct des 1, 2 et 3 dj connus. Cest normal, puisque nous avons
Saut de page entre les groupes). Remarquez ajout un niveau supplmentaire de dveloppement/rduction :
aussi loption Trier au pralable selon les
groupes de ce mme onglet, qui vous dispense le 1 sert nafficher que le total gnral ;
de trier la liste avant de lancer la procdure le 2 affiche en plus les sous-totaux par reprsentant ;
dinsertion des sous-totaux. Avantage Calc ?
le 3 affiche en plus les sous-totaux par zone ;
le 4 affiche tous les dtails.
Maintenant, trs honntement, cette liste de donnes avec ces deux
ALLER PLUS LOIN Il est possible dinsrer plus niveaux de sous totaux, mme si elle est exacte, nest pas trs lisible.
de deux niveaux de sous-totaux
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 414
Le dtail par zone pour un reprsentant (Jean)
et le rappel du total des autres reprsentants
Figure 415
Une partie des fonctions disponibles
pour les sous-totaux avec Excel
Figure 416
Le montant moyen des ventes par produit
Figure 417
La boite de dialogue dinsertion du sous-total
de la figure 416. La fonction Moyenne est ici
utilise en lieu et place de lhabituelle Somme.
Fonction Commentaire
Nombre Compte le nombre denregistrements
Moyenne Renvoie la moyenne des valeurs
Max Renvoie la valeur maximum
Min Renvoie la valeur minimum
Produit Renvoie le rsultat de la multiplication des valeurs
Chiffres Compte le nombre denregistrements numriques
cart type p Renvoie lcart type dune population entire
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
cart type Renvoie lcart type en se basant sur un chantillon dune population
Var p Renvoie la variance dune population entire
Var Renvoie la variance en se basant sur un chantillon dune population
Figure 418
Une liste de donnes (et ses sous-totaux)
mise en forme. Remarquez les rfrence-
ments dans les en-ttes et pieds de page.
Figure 419
Trois niveaux dimbrication de sous-totaux ne sont gure
lisibles, mme si ici seul le dtail de Sophie est affich.
Figure 421
Le paramtrage du TCD : Reprsentant en Filtre, Zone en Colonne,
Produit en Ligne et Montant en Valeur (qui devient Somme de Montant)
Figure 422
Le TCD termin : pour tous les reprsentants,
la somme des ventes par zone et produit
Comme il fallait sy attendre, linterface dExcel 2003 est sensiblement diffrente, mme
si le fonctionnement global du TCD est identique :
1. Lancez lassistant TCD par le menu Donnes puis par loption Rapport de tableau
crois dynamique.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
2. Vous voici dans lassistant TCD, lequel comporte trois tapes. la premire tape de
lassistant, confirmez que vos donnes se trouvent sur une Liste ou base de don-
nes Excel, et que vous voulez crer un TCD.
3. la deuxime tape, Excel demande o se trouvent les donnes analyser. Si votre
liste de donnes est conforme aux fameuses cinq rgles que nous avons nonces
(pages 20-23) et si vous navez slectionn quune seule cellule de cette liste avant de
lancer cet assistant TCD, il ne devrait pas y avoir de problme. Contentez-vous de con-
trler que la zone propose correspond bien lensemble de votre liste de donnes, et
passez ltape suivante.
4. La dernire tape de lassistant TCD Excel 2003 propose de crer le TCD sur la feuille
en cours ou sur une nouvelle feuille. Confirmez que vous souhaitez crer ce TCD sur
une Nouvelle feuille.
5. Lassistant TCD est termin. Excel 2003 affiche maintenant lquivalent de la bote de
dialogue de la figure 421 qui permet le paramtrage du contenu du TCD. Son appa-
rence diffre lgrement de son homologue Excel 2007 de la figure 421 mais sa phi-
losophie reste la mme : il sagit de glisser les champs disponibles dans les diffrentes
zones Dposer ... ici. La figure 423 dtaille la bote de dialogue obtenue dans
lexercice de la figure 421 juste avant de glisser le champ Montant dans Dposer
donnes ici.
Lessentiel des manipulations que nous avons vues pour Excel, quelques nuances
dergonomie prs, reste valable :
1. Accdez aux fonctions de PDD par le menu Donnes puis par les options Pilote de
donnes puis Dmarrer.
2. Calc propose alors de btir son PDD sur la Slection active. Normalement, si vous
avez suivi nos conseils (les fameuses cinq rgles, pages 20-23, et la slection dune
seule cellule avant daccder lassistant PDD), la zone propose par Calc doit corres-
pondre lensemble de votre liste de donnes. Soyez tout de mme attentif lexacti-
tude des rfrences de la zone et passez ltape suivante.
3. La bote de dialogue Pilote de donnes apparat. Paramtrez-la conformment la
figure 424. Attention : noubliez pas de cliquer sur le bouton Option puis de slec-
tionner loption permettant de crer le PDD sur une nouvelle feuille et validez.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Exploiter un TCD
Trs faciles paramtrer, les TCD sont en plus trs souples et aisment
modifiables. Les champs affichs ne conviennent plus ? Il faut inter-
vertir lignes et colonnes ? Ce nest plus le total des ventes quil faut faire
apparatre, mais leur moyenne, ou mme le montant de la vente la plus
importante ? Qu cela ne tienne !
La dimension Filtre est celle qui se trouve isole dans notre TCD de
la figure 422, dans les cellules A1 et B1, l o est indiqu Reprsentant
(Tous). Cliquer sur la flche de liste droulante ct de Tous permet
dafficher le filtre de slection de reprsentant. En cliquant par exemple
Figure 425 sur Slectionner plusieurs lments (figure 425) et en cochant Hlne et
La slection de plusieurs lments Sophie, nous allons pouvoir afficher le mme TCD, mais uniquement
dun filtre de TCD pour la gent fminine (figure 426).
Figure 426
Le TCD de la figure 422,
filtr uniquement pour les dames
Figure 427
Les noms des reprsentants filtrs
ne peuvent safficher que manuellement.
Figure 428
Ajouter un champ modifie immdiatement la structure du TCD.
Remarquez lapparition dicnes de dveloppement ou
de fermeture de niveaux de totalisation pour les reprsentants.
Figure 429
Dtail dun lment du TCD sur une nouvelle
feuille, ici les ventes de cordes pour le Sud.
de donnes (ici, Somme Montant) pour thse par, la fonction souhaite. Nous retrouvons les fonctions des sous-
accder aux diffrentes fonctions disponibles.
totaux, comme Moyenne, Max, Min, Nombre (pour compter le nombre
dlments dune srie), cart type ou Variance (figure 431).
Pour changer dans Excel 2003 la fonction utilise dans un TCD, il faut :
1. Double cliquer sur la cellule modifier (par exemple, la cellule A3 de la figure 431, celle
qui porte lintitul Somme de montant).
2. Accder la bote de dialogue Champ PivotTable.
3. Changer la formule utilise.
Figure 431
La bote de dialogue Paramtres des champs
de valeur permettant de modifier les formules
utilises dans un TCD et les formats de nombre
Exercez-vous !
Rien ne vaut un exercice. Comment votre avis a t bti sous
Excel 2007 le TCD de la figure 432 ?
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 432
Le TCD mystre : le nombre de ventes de sangles pour le mois de janvier.
Remarquez les icnes de filtre actif sur le champ Produit
et sur les tiquettes de lignes.
Rponse :
1 Crez un TCD sur une nouvelle feuille avec :
Produit en Filtre de page ;
Zone en tiquette de colonne ;
Date en tiquette de ligne ;
Montant en Valeurs.
2 Modifiez la formule utilise (par dfaut, la fonction Somme) en
Nombre.
3 Filtrez le champ Produit sur la valeur Sangles.
4 Filtrez le champ Date sur le mois de Janvier (choisir le filtre chrono-
logique Entre).
Actualiser un TCD
Le TCD ne se met pas jour chaque modification de la liste de
donnes ; cest heureux car les calculs complexes pourraient ralentir con-
sidrablement lordinateur. Mais cela peut tre dangereux si on oublie de
lactualiser aprs avoir modifi des donnes source.
Par consquent, ds que vous modifiez votre liste de donnes, il est
indispensable de mettre jour votre TCD. Cliquez avec le bouton droit
sur votre TCD. Dans le menu contextuel choisissez Actualiser (pour
Excel 2007 et Calc) ou Actualiser les donnes (pour Excel 2003).
la liste de donnes.
Figure 434
Le GCD est limage fidle du TCD
correspondant (ici, celui de la figure 422,
tous reprsentants confondus).
Figure 435
Le GCD de la figure 434
relook en 3D avec un titre
Figure 436
Le GCD de la figure 435,
uniquement pour Jean, obtenu en un clic.
Il est aussi possible de modifier le GCD (raliser des filtres, modifier les
abscisses et les ordonnes, etc.) en appelant la bote de dialogue
spcifique : cliquez sur le GCD puis, dans longlet Analyse, groupe Affi-
cher/Masquer, cliquez sur le bouton Filtre de tableau crois dynamique
(figure 437). Ce nest pas ncessairement plus simple...
Enfin, notez quil est galement possible dintervenir sur le GCD direc-
tement en double-cliquant dessus. Repartons par exemple du GCD de
la figure 435. Ce dernier prsente tous les reprsentants sans en fournir
le dtail. Pour lobtenir, il suffit de double cliquer sur une barre du gra-
phique et de slectionner le champ Reprsentant dans la bote de dia-
logue Afficher les dtails (figure 438).
Figure 437
Les outils de TCD
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 438
Le GCD de la figure 435
avec le dtail par reprsentant.
Figure 439
Un GCD Excel 2003. Remarquez le bouton
Somme de montant et les trois listes
droulantes ct de zone,
produit et reprsentant.
celui de la figure 440 en isolant les ventes de la zone Sud et des repr-
sentants Jean et Pierre grce aux options des listes droulantes corres-
pondantes sur le GCD ; puis en changeant la fonction utilise dans le
GCD pour afficher cette fois-ci le montant de la plus grande vente
effectue ; il a suffit cet effet de double cliquer sur Somme de montant
et de choisir Max de montant.
Avez-vous remarqu quExcel 2003 indique directement les valeurs
slectionnes dans les filtres, ainsi que la fonction utilise... Il nest donc
pas ncessaire de modifier les titres du GCD comme nous avions t
contraints le faire sous Excel 2007.
Figure 440
Le GCD illustrant le montant maximum
des ventes de Jean et de Pierre pour le Sud.
Figure 441
Le montant maximum des ventes
de Jean, par date
chapitre
SOMMAIRE
B Les limites
des listes de donnes
Les listes de donnes sous tableur ne peuvent pas tout
rsoudre. Abordons ici les principales caractristiques B Les concepts fondamentaux
des bases de donnes
dune base de donnes relationnelle et les raisons dadopter relationnelles
une mthode de travail rigoureuse. B La mthode dlaboration
dune base de donnes
relationnelle
MOTS-CLS
B Tables
B Champs
B Enregistrements
B Relations entre les tables
B Tables matres et tables esclaves
B Cl primaire et cl trangre
B Modlisation
B Objets dune base de donnes
relationnelle : table, formulaire,
requte et tat/rapport
liste de donnes trouve rapidement ses limites pour peu que nos besoins
voluent. Par exemple, pourquoi ne pas lui demander de raliser le
mailing mensuel du relev des ventes adresser chaque reprsentant ?
Toutes les informations relatives aux ventes sont disponibles ; il suffirait
de rajouter dans la liste de donnes ladresse des reprsentants pour pou-
voir effectuer un publipostage.
Comment ajouter ces adresses ? Il ny a gure dautre solution que
dinsrer dans la liste de donnes une colonne vierge, par exemple entre
les champs Reprsentant et Zone, de lintituler Adresse et de saisir pour
chaque enregistrement ladresse de son reprsentant.
Cette simple opration permet dentrevoir la limite de cette solution :
pour chaque rptition dun nom particulier de reprsentant, il va falloir
resaisir ladresse complte du reprsentant (figure 51).
Figure 51
Lajout de la colonne Adresse oblige resaisir
indfiniment ladresse de chaque reprsentant.
Figure 52
Lclatement des donnes en deux fichiers
relis rduit les volumes de donnes.
donnes relationnelles
Nous allons ici prsenter les quelques notions fondamentales en matire de CULTURE GNRALE Autres SGBDR
bases de donnes relationnelles et de systme de gestion de bases de don- Access et Base ne sont pas les seuls SGBDR exis-
nes relationnelles (galement nomm SGBDR) que sont Access et Base. tants. Parmi les plus populaires nous pouvons citer
Oracle, PostgreSQL, MySQL, Microsoft SQL Server...
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 53
La table des Ventes sous Access ressemble
beaucoup une liste de donnes
sous Excel ou Calc.
Figure 54
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 55
La relation unissant la table des Ventes celle
des Reprsentants est symbolise par le trait joignant
le mme champ Reprsentant prsent dans les deux tables.
Sur la figure 55, chaque table est reprsente par un bloc. Ce bloc ne
dtaille que les champs de la table. Le trait gras unissant les champs
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
BASE EXEMPLE ACCESS 2007 ET 2003 La base de donnes exemple Northwind/Les comptoirs
Figure 58
Le champ Reprsentant prsente un doublon :
Jean est rpt deux fois.
nous prciser de quel Jean il sagit ? Et quand bien mme nous saisirions
Jean, avec lequel des deux Jean de la table des Reprsentants le SGBDR
fera-t-il le lien ? Tant que cette ambigut ne sera pas leve, la relation
ne pourra pas fonctionner. Pour quelle fonctionne, il faudrait que
chaque enregistrement de la table esclave (ici Ventes) soit en liaison avec
un et un seul enregistrement de la table matre (ici Reprsentant).
Nous sommes donc amens formuler les rgles suivantes, indispensa-
bles un fonctionnement correct des relations de matre esclave :
La table matre doit obligatoirement contenir un champ permettant
didentifier un enregistrement sans ambigut. Ce champ discrimi-
nant a comme caractristique de ne pas admettre de doublon. On
lappelle de faon gnrique champ identifiant dans un SGBDR et
cl primaire sous Access et Base.
Ce champ identifiant doit tre rappel dans la table esclave, permet-
tant ainsi au SGBDR de faire le lien entre les enregistrements de la
table esclave et ceux de la table matre. Cet quivalent, dans la table
esclave, de la cl primaire de la table matre, sappelle cl trangre
(parce quelle fait rfrence la cl primaire dune autre table).
Dans une relation de un plusieurs (1 ) entre un matre et son
esclave, le 1 sera toujours situ du ct de la cl primaire de la table
VISUALISER Reprer la cl primaire dune matre et l du ct de la cl trangre de son esclave.
table dans la fentre des relations
La cl primaire dune table est gnralement un numro ou un code sp-
Pour chaque table visualise dans la fentre des cifique. Pour notre table des Reprsentants, la seule solution sera de
relations, la cl primaire est le champ en gras. Il est crer un champ NumeroRepresentant, sans doublon, qui sera rappel
en gnral en haut de la liste des champs, mais ce
nest pas une obligation.
dans la table des Ventes comme cl trangre selon le schma de la
figure 59.
Le principe est simple. Ds quil existe un risque de confusion entre plusieurs lments
(enregistrements) dune base de donnes, il est ncessaire dintgrer un champ identi-
fiant/cl primaire qui aura pour seule fonction de lever cette ambigut :
dans une rue, les maisons ont un numro ;
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
les communes de France ont un code postal, car certaines ont le mme nom (par
exemple, Melle, dans le 35 et le 79) ;
chaque assur social a son propre numro de scurit sociale ;
chaque vhicule a son propre numro dimmatriculation ;
chaque tudiant dune cole a son numro dtudiant unique.
AUTRE DIFFRENCE AVEC UNE LISTE DE DONNES Une base de donnes relationnelle est intgre
Ce que nous venons de voir au travers de la fentre des relations linverse, une liste de donnes sous tableur est en gnral un fichier
permet de formuler une autre diffrence fondamentale entre une base isol dans la chane de traitement de linformation. Par exemple,
de donnes relationnelle et une simple liste de donnes. notre liste de donnes de matriel dalpinisme est en fait une resaisie
La base de donnes exemple de la figure 56 est autosuffisante : elle des informations fournies par le systme de facturation de lentreprise
comporte en elle-mme toutes les ressources ncessaires son fonc- (qui est, lui, une base de donnes relationnelle).
tionnement et, une fois que les donnes ncessaires ont t saisies,
tous les traitements pourront seffectuer.
mthode stricte qui pourra seule nous assurer une russite 100 % avec
un minimum de temps et de travail.
Le dtail de ces tapes va tre lobjet des chapitres suivants. Nous allons
tout de mme les prsenter rapidement pour en percevoir le schma
gnral.
La phase de modlisation
Ltude de la problmatique de la base de donnes relationnelle, dite phase
de modlisation, est absolument fondamentale. Cest une des conditions
ncessaires la bonne fin du projet. Son objet est de concevoir un schma
proche de celui de la fentre des relations contenant les diffrentes tables
participant la base de donnes relationnelle, avec leurs diffrents champs
(dont la cl primaire) et les relations unissant ces tables (entre la cl pri-
maire de la table matre et la cl secondaire de la table esclave).
Ce nest quune fois cette tche acheve quon pourra sattaquer la pro-
grammation proprement dite. Ltude de cette phase de modlisation
fait lobjet du chapitre 6.
Figure 510
Lcran douverture dune base de donnes relationnelle
permet de slectionner les tables, les requtes,
les formulaires et les rapports (ou tats sous Access).
Quels sont les rles respectifs de ces diffrents objets ? Sans entrer dans
le dtail (ce sera lobjet des chapitres suivants), traons-en tout de suite
les grandes lignes :
Les tables nous sont dj familires. Composes de champs (dont une
cl primaire) et denregistrements, elles contiennent les donnes de la
base de donnes relationnelle. Elles sont lies les unes aux autres par un
rseau de relations. Elles ne font que recevoir les donnes, mais sont
sous Base. Cependant, tout comme monsieur Jour- des donnes des tables. Ils ne sont nullement obligatoires, en ce sens
dain faisait de la prose sans le savoir, nous pour- que les donnes peuvent tre saisies directement dans les tables, un
rons crer de superbes requtes sans crire une
ligne de SQL. Nous utiliserons en effet dans la plu- peu de la mme faon que dans une feuille de calcul de tableur,
part des cas les excellents assistants offerts par comme nous le verrons.
Access et, dans une moindre mesure, par Base. Les tats (Base utilise le vocable rapports), bass sur les requtes,
assureront la prsentation dtats impeccables et professionnels. En
effet, une requte sera souvent difficile exploiter directement sans
mise en forme. Nous verrons galement que lutilisation dtats sera
indispensable pour effectuer certains calculs, comme par exemple le
total des ventes par reprsentant.
Figure 511
La structure modulaire dun SGBDR
et lenchanement des diffrents types
dobjets (tables, formulaires, requtes
et tats/rapports).
Figure 512
Le chteau de cartes Access et Base
Figure 513
Les tapes pour russir sa base de donnes
relationnelle : modliser, programmer
les tables et les relations, crer les formulaires,
saisir les donnes, programmer
requtes et tats
chapitre
SOMMAIRE
B Prsentation de notre cas
pratique de base de donnes
La phase de modlisation conditionne la russite dun projet
relationnelle
de base de donnes relationnelle, la ngliger entrane avec
B Btir le schma thorique de la
certitude son chec. Elle consiste schmatiser, de faon claire base de donnes relationnelle
et directement programmable, les tables de la base (avec leurs B En dduire le schma rel
champs et leurs cls primaires) et les relations qui les unissent. B Les principales tapes de la
programmation dAccess
et de Base
MOTS-CLS
B Schma thorique
B Phrase cl
B Nombre cl
B Schma rel
Nous allons aborder cette phase essentielle au travers dun nouveau cas
pratique qui va nous accompagner tout au long de notre tude des bases
de donnes relationnelles. Nous apprendrons dessiner deux schmas
dorganisation de nos tables : le premier thorique (cest--dire gnral)
et le second plus concret, prsentant lorganisation dfinitive des rela-
tions entre les tables. Nous terminerons ce chapitre par un retour sur la
mthode de programmation dune base de donnes relationnelle la
lumire des nouvelles connaissances acquises.
Ce chapitre pourra sembler thorique, et il lest en quelque sorte, mais le
temps pass la modlisation sera trs vite rattrap lors de la phase de
dveloppement et de programmation proprement dite. Laspect thorique
de ce chapitre ne doit pas vous dcourager, nous allons longuement
dtailler les explications et largir le discours par des exemples annexes.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
quon appelle un cahier des charges. Il est ici trs simplifi mais, dans la
ralit, il nest pas ncessairement plus complexe. Mme si cet ouvrage
nest pas spcifique ce thme, nous pouvons tout de mme noter quel-
ques points importants. Un cahier des charges comprend dabord un des-
criptif dtaill de ce quon appelle lexistant, cest--dire lorganisation. Il
comprend ensuite un expos exhaustif de ce que la base de donnes rela-
tionnelle devra permettre de raliser. Il est important de noter cette tape
quune erreur ou une omission dans lune ou lautre de ces parties peut
conduire un chec du projet.
Les lments de modlisation que nous prsentons ici sont inspirs de la mthode Merise,
rfrence en la matire. Si vous souhaitez plus de prcisions, reportez-vous lannexe
spcifique page 333.
Sinscrivent Encadres
Figure 61 par
Les stagiaires sincrivent
des activits encadres par des guides
dans ltude du schma rel, tous les rectangles deviendront des tables,
alors que ce ne sera le cas que pour certains cercles.
Ltablissement de ce schma thorique prsente quelques difficults que
nous allons lever.
Nous avons formul les phrases cls dun vido club, dune banque et dun thtre. La
figure 62 en dtaille les schmas thoriques.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 62 Les schmas thoriques dun vido club, dune banque et dun thtre
Figure 63
Ce schma thorique est erron, un guide
de secours nest quun guide sans affectation.
ALLER PLUS LOIN Dautres exemples dlments inutiles dans un schma thorique
Le risque de crer des lments inutiles dans un schma thorique de Mais bien y rflchir, ce nest pas exact. Ces deux types de comptes
modlisation de base de donnes relationnelle se rencontre frquem- ont tous deux un titulaire, un numro, une adresse fiscale, etc. De
ment. plus, on peut trs bien considrer que les comptes non rmunrs
Prenons lexemple dune banque dans laquelle les clients possdent sont en fait rmunrs 0%. Cette solution permet de mlanger dans
des comptes. Supposons que ces comptes soient de deux types : les le mme lment Comptes les deux types de comptes ; le champ
comptes rmunrs et ceux qui ne le sont pas. Il est tentant ici aussi Pourcentage de rmunration permettant alors de les distinguer.
de crer deux lments distincts dans notre schma thorique, Inversement, crer deux lments distincts dans le schma thorique
Comptes rmunrs et Comptes non rmunrs, sous prtexte que les gnrera de multiples difficults de programmation, comme lister
caractristiques des uns ne sont pas celles des autres. tous les comptes rmunrs ou non dun mme client.
Figure 64
Un schma thorique en boucle
est le plus souvent erron.
Cest l encore inutile : les stagiaires sont dj en relation avec les guides,
parce quils sont inscrits une activit qui est encadre par un guide.
De plus, la programmation du schma en boucle pourrait parfaitement
autoriser lincohrence suivante : affecter, dun ct, un stagiaire (par
exemple Amlie) une activit qui est anime par tel guide (Paul), en
mme temps que lon dclare, de lautre, que le guide qui soccupe
dAmlie est Pierre. La porte serait alors ouverte toutes les confusions.
Vous trouverez en annexe dans lexercice de lcole de parapente
(page 334) un contre-exemple cette rgle (comme on dit, lexception
fait la rgle !).
Figure 65
Le schma thorique complt
des nombres cl
Tableau 61 Significations des nombres cls dans le cas pratique dcole dalpinisme
THORIE Les deux nombres cls Une fois ces nombres cls dtermins, tout va aller trs vite pour dter-
dun cercle du schma thorique miner la structure dfinitive des tables de notre schma final. Tous les l-
peuvent-ils tre tous deux gaux 1 ? ments concrets ou abstraits reprsents par des rectangles (ici Stagiaires,
Pour chaque cercle, nous venons denvisager le cas Activits et Guides) vont devenir des tables du schma final. Par contre,
o les deux nombres cls sont gaux N, puis pour les cercles du schma thorique (Sinscrivent et Est encadre par), il
celui o un seul est gal 1. Nous navons pas
faut considrer les deux nombres cls qui leur ont t affects :
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 66 Figure 67
Tous les nombres cls sont gaux N. Le cercle devient une table. Un nombre cl est gal 1. Le cercle disparat.
Figure 68
Les quatre tables dfinitives
de notre cas pratique
Lhypothse quune activit ne pouvait tre encadre que par un guide a abouti au
schma de la figure 68.
Ce schma serait compltement diffrent si une activit pouvait tre encadre par plu-
sieurs guides. Le nombre cl entre Activits et Encadres par serait alors N, les deux nom-
bres cls autour du cercle Encadres par seraient alors N et ce cercle deviendrait une table
du schma rel (qui comportera alors cinq tables et non quatre), figure 69.
Figure 610
Les champs des quatre tables du cas pratique.
Le symbole spcifie la cl primaire.
Remarquez que les champs ncessaires
ltablissement des relations
ne sont pas encore prsents.
de type numro.
La table Activites ne comporte pour linstant quun champ, le nom de
lactivit, qui servira par la mme occasion de cl primaire pour cette
table, chaque activit ayant bien entendu son nom spcifique.
La table Inscriptions ne comporte pour linstant quun champ, la
Date et lheure du moment de linscription. Ce champ sera aliment
par une valeur par dfaut, celle fournie par lordinateur au moment
prcis de la saisie de linscription. Personne ne pouvant tre inscrit
exactement au mme moment, ce champ fera une excellente cl pri-
maire. Bien entendu, si deux inscriptions pouvaient tre exactement
simultanes (comme en cas de saisie multi-poste ou de dversement
automatique de listes de stagiaires), ce choix ne sera pas pertinent, et
il faudra utiliser un simple champ numrotation automatique.
Ajoutons, pour terminer, que le champ Bureau des guides de la table
Guides est dict par lobligation lgale pour chaque guide dexercer
son activit professionnelle dans le cadre dun bureau.
Dans une base de donnes relationnelle, il est en gnral possible dajouter des champs
des tables existantes. Cet ajout est tout de mme viter, parce quil obligera
reprendre les diffrents formulaires, requtes et tats/rapports qui dpendent de la table
ainsi modifie. Cest pourquoi il vaut mieux crer ces champs ds le dbut.
Par contre, il est toujours plus compliqu dajouter des tables. Dans le pire des cas, par
exemple si nous oublions la table Inscriptions dans notre cas pratique, il sera impossible
de linsrer sans supprimer une bonne partie de ce que nous aurons dj fait. Et dans un
cas plus simple, comme lajout dune table spcifique pour les bureaux des guides (ce que
nous serons dailleurs obligs de faire si nous travaillons avec Base, voir page 164), il
faudra de toutes faons reprendre toute la hirarchie des formulaires, requtes et tats /
rapports dj crs qui dpendront de cette nouvelle table.
Do limportance de la phase de modlisation que nous menons actuellement.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Le schma est exactement le mme pour les trois relations tablir entre
les quatre tables de notre cas pratique :
Pour lier Stagiaires et Inscriptions, il suffit dajouter le champ NumSta-
giaire (cl primaire de la table Stagiaires) la table Inscriptions. La table
Inscriptions devient alors esclave de la table Stagiaires, ce qui corres-
pond la ralit logique : on ne peut inscrire un stagiaire que sil existe.
Pour lier Activites et Inscriptions, il suffit dajouter le champ
NomActivite (cl primaire de la table Activites) la table Inscrip-
tions. Inscriptions devient alors esclave dActivites, ce qui correspond
la ralit logique : on ne peut inscrire un stagiaire une activit que
si cette dernire existe dans la table Activites.
Pour lier Activites et Guides, il suffit dajouter le champ NumGuide
(cl primaire de la table Guides) la table Activites. Activites devient
alors esclave de Guides, ce qui correspond la ralit logique : on ne
peut affecter une activit quun guide existant dans la table Guides.
Nous arrivons ainsi au schma rel dfinitif de la figure 611.
Figure 611
Le schma rel dfinitif de notre cas pratique
comporte les quatre tables (avec leurs champs
dont un est cl primaire) et les relations
qui les unissent.
nimporte quelle problmatique de base de don- vites, issue du rectangle du ct duquel le nombre cl tait 1.
nes relationnelle, quelque soit le SGBDR qui ser-
vira de support la programmation : Access, Base,
Llaboration du schma rel clt la phase de modlisation. Nous
ou autre. sommes maintenant arms pour aborder sereinement la phase de dve-
loppement de notre projet sous Access ou Base.
Figure 612
Schma gnral de la mthode
de travail pour btir un SGBDR.
Prendre le problme dans le dsordre, cest un peu comme essayer de monter un chteau de
cartes en Camargue un jour de mistral : il vous faudra plus dune fois tout reprendre zro.
tables ;
dtermination des champs des tables et choix dune cl primaire ;
tablissement des relations par lintgration dans les tables esclaves
des champs cl primaire de leurs matres.
Cette phase de modlisation prcde obligatoirement celle de program-
mation proprement dite. Pour cette dernire, on peut distinguer les
tapes suivantes :
1 programmation de toutes les tables (avec leurs champs et leur cl pri-
maire), tablissement de toutes les relations de matres esclaves et
tablissement de lintgrit rfrentielle ;
2 programmation des formulaires et saisie des donnes ;
3 programmation des requtes et tats/rapports.
Le tableau suivant fournit, sous une autre forme, lessentiel mmoriser
sur ce sujet :
Tableau 62 Check-list de construction dune base de donnes relationnelle
chapitre
MOTS-CLS
B Nouvelle base de donnes
B Ouvrir une base de donnes
B Problmes de scurit et de virus
B cran daccueil
B Volet de navigation
et volet daffichage
B Champ, type de champ,
proprits de champ
B Type de champ : texte, date/
heure, numrotation automatique
B Proprits de champ : format,
masque de saisie
B Proprits Chane vide autorise
et Null interdit
B Mode Cration / bauche
et mode Contenu
B Importation de donnes
1. louverture dAccess, appuyez sur Ctrl + N ou allez dans le menu Fichier, option Nouveau.
2. Cliquez dans le volet droite sur Base de donnes vide (figure 72).
3. Spcifiez ensuite le nom et le dossier souhaits avant de valider.
Les virus sont des programmes qui entrent dans votre ordinateur votre insu et y crent
divers dsagrments, allant du simple message humoristique la destruction totale des
donnes. Autant dire quil ne faut pas les prendre la lgre et adopter leur gard une
attitude rsolue. Un virus informatique sattrape, comme un virus humain, par contagion.
Si vous vivez seul sur une le dserte, vous ne craignez rien. Un virus peut pntrer dans
votre ordinateur quand vous allez sur Internet ou quand vous ouvrez un fichier contamin
qui en contient (dans le cas des documents bureautiques, le virus se loge gnralement
dans une macro, un miniprogramme permettant dautomatiser des tches rptitives). Les
parades pour se prmunir des virus sont de bon sens et se rsument en fait au conseil que
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Avec Base, issu du monde du logiciel libre, vous naurez pas davertisse-
WINDOWS Crer un raccourci sur le Bureau
ment lors de louverture dune base de donnes. Soyez donc vigilant et
nouvrez que celles dont vous tes sur de linnocuit. Pour crer un raccourci vers un dossier ou un
fichier sur le Bureau, il faut :
Par contre, Access ragit diffremment. Dtaillons les procdures sous Slectionner le dossier ou fichier souhait dans
Access 2007 (les utilisateurs de la version 2003 se reporteront lapart lexplorateur Windows ;
spcifique). louverture dune base existante, Access 2007 noffre quun Effectuer un clic droit dessus ;
Slectionner les options Envoyer vers puis
bel cran presque vide, car il considre par dfaut que toute base de don- Bureau(crer un raccourci).
nes contient potentiellement un virus. Vous pouvez maintenant ouvrir directement votre
dossier ou fichier par un double-clic sur son rac-
Deux possibilits soffrent alors nous, autoriser ponctuellement ou courci.
dfinitivement louverture dune base de donnes.
Figure 74
Pour des problmes de scurit, aucune
base de donnes nest ouverte par dfaut.
Figure 75
La bote de dialogue qui met en garde
contre tous les risques inhrents
louverture dune base.
Figure 76
Le centre de gestion de la confidentialit.
Remarquez que le dossier Mes documents
est dj autoris (parce que la procdure
a dj t effectue).
Figure 77
La fentre qui permet dautoriser louverture
de tout fichier prsent dans le dossier
Mes documents sans avoir de message.
Figure 78
Lcran daccueil
dune base de donnes vierge
sous Access 2007
Vous obtenez louverture de la base le message de la figure 79. Si vous tes sr de son
contenu, choisissez loption Ouvrir.
Vous pouvez aussi dsactiver cette scurit, parce que vous considrez que vous tes
assez responsable pour ne pas tenter douvrir des fichiers potentiellement dangereux. La
procdure suivre est alors la suivante :
1. Dans le menu Outils, option Macro puis Scurit, choisissez loption Niveau de
scurit faible (non recommand) et validez.
2. Dans lcran suivant, la question Voulez-vous autoriser..., rpondez Oui.
Figure 711
Figure 710
Le Volet Access 2007 affich. Le bouton
Il est conseill de maximiser laffichage de la
Ouvrir/fermer la barre de redimensionnement
fentre de base de donnes Access 2003,
masquera ce volet.
ouverte par dfaut en rduction.
Figure 712 Une base de donnes Access 2003 vierge. Figure 713 Une base de donnes Base vierge.
Remarquez les icnes de dveloppement/rduction Remarquez les termes tables, requtes, formulaires et rapports.
et les termes tables, requtes, formulaires et tats.
Figure 714 Le Volet Access 2007 masqu. Le bouton Ouvrir/fermer Figure 715 Le paramtrage de laffichage
la barre de redimensionnement affichera ce volet. des objets Access 2007 dans le volet de navigation
2 Dans cette table, crer les diffrents champs avec leurs proprits.
3 Choisir une cl primaire parmi les champs.
4 Enregistrer la table.
Crer une table ncessite pralablement davoir list tous les champs de
cette table et den avoir dfini les caractristiques essentielles.
Figure 716
Un masque de saisie pour normaliser
et acclrer la saisie de donnes
Vous remarquez que nous navons pas spcifi la proprit Null Interdit pour le champ cl
primaire de notre table des Stagiaires. Pourtant, en toute logique, un champ cl primaire
doit ncessairement avoir une valeur pour chaque enregistrement et donc ne pas accepter
quaucune valeur ny soit saisie...
Cest sans compter que dclarer un champ cl primaire dune table va automatiquement
entraner la proprit Null interdit. Il est donc inutile de le prciser !
Figure 720
Ouvrir un objet en mode Cration (Access 2007)
Figure 721 Ouvrir un objet en mode Cration (Access 2003) Figure 722 Ouvrir un objet en mode bauche (Base)
Lcran Cration de table permet de crer les champs de cette table avec
leurs proprits. Il fonctionne de la mme faon pour nos trois logiciels,
quelques nuances prs dordre esthtique. La figure 723 dtaille son
aspect pour Access 2007 :
La zone permet de dfinir, les uns au-dessous des autres, les diff-
rents champs de notre table avec leur nom, leur type (numrique,
alphabtique, liste de choix, etc) ainsi quune description facultative
qui apparatra comme aide la saisie ou comme libell dans un tat.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 723
Lcran Cration de table permet
de fixer ses champs et leurs proprits.
Nous allons commencer par crer le champ, puis nous allons le dclarer
cl primaire de la table.
Le type de champ NumroAuto nest pas disponible sous Base. Il faut choisir le type
Integer [ INTEGER ] (nombre entier) et slectionner Oui dans le champ Autovaleur de la
zone des proprits, en bas de fentre (figure 724) :
Figure 725
La cration dun champ
et les diffrents types de champs disponibles
La figure 725 liste les diffrents types de champs sous Access, en voici
le dtail :
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Type Description
Texte Pour limiter la longueur du champ un certain nombre de caractres (pour limiter le volume des donnes de la
base)
Mmo Pour des champs alphabtiques de longueur illimite. Pratique pour un champ collectant des remarques ou
des commentaires dont on ne connat pas a priori la longueur. Le logiciel tend alors le taille du champ au fur
et mesure de la saisie, un peu comme un lastique. Inconvnient : ncessite beaucoup despace disque.
Numrique Pour des nombres purs. Pour des valeurs montaires, prfrez le type Montaire.
Date / Heure JJ/MM/AA, AA/MM/JJ, JJ/MM/AAAA, etc
Montaire utiliser pour les valeurs montaires
Oui / Non Pour des champs binaires (vrai ou faux), par exemple Mari?
Objet OLE Pour intgrer des feuilles de calcul, des documents, des images, des sons...
Lien hypertexte Pour insrer des liens hypertexte sur lesquels lutilisateur pourra cliquer
Pice jointe (*) Comme pour un courrier lectronique, permet de joindre par exemple une photo du stagiaire
Assistant liste de choix Pour obliger loprateur choisir dans les donnes dune autre table ou dune liste manuelle (par exemple
Clibataire, Mari(e), Divorc(e), veuf(ve))
Figure 727
Le bouton Cl primaire Access 2003
Figure 728
La cl dans la marge indique que le champ NumeroStagiaire
est cl primaire de la table Stagiaires.
Taille du champ Saisir la taille souhaite Limiter la taille dun champ Ville 10 caractres obligera, par exemple, saisir Aix
en Provence (15 lettres) comme Aix en Pce
Null interdit Oui Rend obligatoire une saisie pour le champ
Non Possibilit de ne rien saisir dans le champ
Chane vide autorise Oui Combin avec la proprit Null Interdit Oui, permet quand mme de saisir une
chane vide dans le champ (par exemple en saisissant un simple espace)
Non Combin avec Null interdit Oui, oblige saisir au moins un caractre qui ne soit
pas un espace
La figure 730 donne les proprits dun champ de type Texte [VARCHAR]. Dans notre
exemple, le champ NomStagiaire est limit 20 caractres et la valeur du champ Saisie
requise est Oui.
On peut hsiter pour un champ alphabtique entre les types Texte ou Mmo.
Un champ de type Texte, de longueur limite, peut tout de mme par dfaut aller jusqu
255 caractres, ce qui reste confortable.
Le type Mmo, vritablement lastique, sagrandit volont, mais est trs gourmand en
espace disque. Il est de plus dlicat grer dans un tat : il est beaucoup plus facile de
mettre en pages des champs de longueur constante.
Concrtement, pour un champ comme Nom ou Adresse, il est conseill dutiliser le type
Texte en le limitant respectivement par exemple 20 ou 50 caractres, ce qui prsente un
compromis quilibr entre volume et performance. Cela aura en plus lavantage dinter-
dire la saisie de noms ou dadresses rallonge , peu maniables dans la pratique.
Par contre, un champ de type Remarque ou Observation saccommode bien au type Mmo.
Access ninstalle pas par dfaut les assistants. Si vous ne les trouvez pas au cours de vos
manipulations sur Access, cest quils ne sont pas installs. Munissez-vous alors de votre
CD Access, relancez la procdure dinstallation et choisissez loption Ajouter ou sup-
primer des composants. Dans la liste des programmes, cliquez sur Access et choisissez
loption Tout excuter partir du disque dur (figure 731). Terminez linstallation,
tout devrait rentrer dans lordre.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 732
Un champ de type Date de format Abrg
avec un masque de saisie
Lassistant Masque de saisie propose la plupart des masques dont vous pouvez avoir
besoin : numro de tlphone, numro de SIRET, numro de scurit sociale, ISBN,
numro de carte bleue, heure et date. Il est videmment possible de crer ses propres
masques de saisie. Le tableau ci dessous rsume les principales possibits. Par exemple,
le masque (0) AA-AA-AA-AA autorise la saisie de (1) 55-55-TE-LE.
Caractre Signification
0 Chiffre (0 9, entre obligatoire, signes plus (+) et moins (-) non accepts)
9 Chiffre ou espace (entre facultative, signes plus et moins non accepts)
# Chiffre ou espace (entre facultative, positions vides converties en espaces en mode dition,
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
mais les espaces sont effacs lors de la sauvegarde des donnes, signes plus et moins accepts)
L Lettre (A Z, entre obligatoire)
? Lettre (A Z, entre facultative)
A Lettre ou chiffre (entre obligatoire)
a Lettre ou chiffre (entre facultative)
& Caractre quelconque ou espace (entre obligatoire)
C Caractre quelconque ou espace (entre facultative)
Figure 734 Ce choix permettra dimporter sous Access 2003 des donnes dun classeur Excel.
Figure 735
La feuille de calcul peut tre importe
statiquement (option choisie ici)
ou dynamiquement
Figure 736
Les diffrentes feuilles et plages
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 737
Bien vrifier quAccess comprend
que la premire ligne du classeur source
contient les noms de champ
Lexprience prouve que les soucis lors de limportation de donnes Excel proviennent
presque toujours dune liste de donnes dorigine non conforme (voir pages 20 23) ou
bien de labsence de cl primaire dans cette liste. En cas derreur dimportation, il faut rec-
tifier la liste de donnes source et recommencer zro.
ACCESS 2003 Lancer lassistant Voici comment procder pour importer dans une base des objets dune
Importation Access 2003 autre base :
Il faudra slectionner Access dans la zone du 1 Lancez lassistant en cliquant dans longlet Donnes externes, groupe
Type de fichiers sur la figure 734. Importer sur le bouton Access.
2 Slectionnez la source et la destination des donnes : recherchez la base
importer et spcifiez loption dimportation (importation unique ou
avec lien dynamique entre les deux bases).
La bote de dialogue de la figure 739 permet alors de slectionner trs
prcisment les objets importer. Dans lexemple, les trois tables Activites,
Guides et Stagiaires seront importes. Remarquez aussi que rien
nempche, si ncessaire, de slectionner successivement sur la figure 739
plusieurs objets de type diffrent dans les diffrents onglets disponibles, et
de les importer en une seule fois en cliquant sur OK.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 739
Cliquer sur OK importera les trois tables
surlignes de la base source dans la base cible.
Cliquer sur le bouton Options >> de la figure 739 ouvre de bien intressantes possibi-
lits (figure 740) :
Importer (ou non) les relations avec les tables.
Importer toute la table (structure et donnes) ou uniquement la structure.
Importer les requtes comme des requtes (cest--dire comme un programme) ou
comme une table (vous rcuprerez alors le contenu de la requte source).
Figure 741
Ce paramtrage permettra dimporter dans Base
les donnes dune feuille de calcul (Excel ou Calc).
Il est possible dintgrer directement dans votre SGBDR favori votre carnet dadresse :
Avec Access 2007 en slectionnant loutil Plus (onglet Donnes externes, groupe
Importer) puis loption Outlook.
Avec Access 2003 en slectionnant le type Outlook dans la figure 734.
Avec Base en slectionnant Carnet dadresses dans la figure 741.
Figure 743
La table de la figure 742 en mode
Contenu. Les champs sont maintenant
cte cte, et les diffrents enregis-
trement les uns au dessous des autres.
Les caractristiques des champs
sont invisibles.
Inutile de chercher le mode Contenu dans la lexicologie officielle dAccess ou de Base. Ce mode
daffichage porte en effet des noms diffrents selon le type dobjet concern avec Access (par
exemple Feuille de donnes pour une table et Visualisation pour un tat, ce qui complique
srieusement les choses). Quand Base, il ne donne mme pas de nom ce mode particulier.
Par souci de simplification et de gnralisation, nous utiliserons toujours le terme Contenu (par
opposition au terme Cration) pour dsigner le mode qui permet de voir les enregistrement
dune table, le contenu dun formulaire et les rsultats dune requte ou dun tat/rapport.
Figure 744
Double-cliquer sur la table Stagiaires louvre
en mode Contenu (Access 2007). Remarquez
que la famille Tables est slectionne dans le
volet de navigation.
Tableau 76 Dans quel mode et comment ouvrir un objet de base de donnes relationnelle
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Modifier la structure dune table, dun formulaire, dune Cration (bauche pour Base) Avec Access 2007 : faites un clic droit sur
requte ou dun tat/rapport lobjet slectionn, puis slectionnez Mode
cration dans le menu contextuel
Avec Access 2003 : slectionnez lobjet, puis
double-cliquez sur le bouton Modifier
Avec Base : slectionner lobjet, puis cliquez
sur le bouton diter dans la barre doutils
Figure 745
Basculer du mode Cration au mode Contenu
(Access 2007)
Avec Base, il nest pas possible de basculer dun mode daffichage lautre.
Il faut chaque fois fermer lobjet puis le rouvrir dans lautre mode.
sous Access 2007, effectuez un clic droit sur longlet de lobjet, puis
slectionnez Fermer.
sous Access 2003 (figure 747), utilisez le bouton de fermeture de la
fentre de lobjet (et non de la base).
sous Base, utilisez le bouton de fermeture de la fentre.
Figure 747
Le bouton de fermeture de la fentre de lobjet
(Access 2003)
ATTENTION Une seule base de donnes Il est trs frquent dans un SGBDR davoir crer, dans la mme base,
et un seul objet la fois des objets semblables. Dans notre cole dalpinisme, par exemple, nous
Avec Access et Base, il nest pas possible
serons amens construire des requtes pour lister les participants aux
douvrir deux bases de donnes en mme temps diffrentes activits. Ces requtes auront une structure trs proche les
(sauf ouvrir deux fois le logiciel, ce que nous unes des autres. Aussi sera-t-il plus facile den crer une et de lutiliser
ne saurions vous conseiller, une base de donne comme modle pour les autres. Pour copier un objet, par exemple une
est assez complique pour ne pas se sentir
oblig de jongler sur deux bases la fois).
requte, slectionnez-le dans le volet de navigation, copiez-le avec le rac-
Par contre, certains peuvent tre tents douvrir courci clavier Ctrl+C, collez-le avec Ctrl+V puis renommez-le.
dans la mme base plusieurs objets simultan-
ment. Cest notre avis une mauvaise pratique,
pour la raison expose prcdemment : un objet
la fois, cest bien assez. Ce sera mme parfois
obligatoire : vous constaterez par exemple quen
Synthse : oprations essentielles sur une
travaillant sur une requte en mode Cration,
vous ne pourrez pas y insrer un champ dune base de donnes
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
chapitre
SOMMAIRE
B Crer toutes les tables
de notre cas pratique
Nous allons ici apprendre crer dautres tables et les lier
entre elles par un rseau de relations ; nous obtiendrons ainsi B tablir les relations
par liste de choix avec Access
une structure de base de donnes conforme notre schma
B Paramtrer la fentre
rel, enfin prte recevoir des donnes. des relations avec Access
B tablir les relations avec Base
B Rsoudre les difficults lies
au paramtrage des relations
MOTS-CLS
B Liste de choix manuelle
B Valeur par dfaut
B Cl primaire et cl trangre
B Relation entre table matre et
table esclave
B Fentre des relations
B Intgrit rfrentielle
BureauxGuides
BureauGuides
Figure 83
La contrainte due au bureau des guides
impliquerait la cration dune table
supplmentaire
La liste de choix permet dimposer loprateur de saisie lutilisation dun terme choisi
dans le champ correspondant dune autre table. Par exemple, dans la table Activites, nous
pourrons choisir pour le champ NumeroGuide les valeurs correspondantes du mme
champ de la table Guides. La liste de choix stablit donc entre une table esclave (ici, Acti-
vites) et sa table matre (ici, Guides). Lorsque la table matre est mise jour, la liste de
choix lest galement : ds quun enregistrement est ajout dans la table matre, il est dis-
ponible dans la liste droulante pour le champ correspondant de la table esclave.
Une liste de choix manuelle ne requiert pas lexistence dune table matre. Les valeurs de
ce type de listes sont saisies directement dans les proprits du champ (par exemple Cha-
monix, Argentire et Les Houches pour notre champ BureauGuides).
Reste maintenant dfinir dans notre cas pratique les champs qui vont
nous permettre dtablir les relations entre les tables de notre cole
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
dalpinisme. Nous nous souvenons quon cre une relation entre une
table esclave et une table matre en rappelant dans la table esclave (sous
forme de cl secondaire) le champ cl primaire de la table matre, ces
deux champs devant bien videmment avoir le mme nom.
Le tableau ci-dessous rsume lapplication de ce principe pour toutes les
tables de notre cas pratique :
Tableau 81 Champs insrer pour crer les relations de notre cas pratique
Dans la table des Il faut insrer sous forme Correspondant au champ Cl primaire de la table des
de cl trangre le champ
Inscriptions NumeroStagiaire NumeroStagiaire Stagiaires
NomActivite NomActivite Activites
Activites NumeroGuide NumeroGuide Guides
Guides (*) BureauGuide (*) BureauGuide (*) BureauxGuides (*)
Figure 84
La table des Guides en mode Cration
PRODUCTIVIT Crer la table des Guides par copie de celle des Stagiaires
Nous avons voqu la possibilit de crer un objet partir dun autre objet par copier/
coller puis modification de la copie. Cette manipulation est surtout intressante avec des
requtes et des tats, mais elle peut aussi rendre service avec des tables. Nous remar-
quons dans cet exercice que la table des Guides est assez semblable dans sa structure
celle des Stagiaires (numro, nom, prnom). Pour la crer partir de celle des Stagiaires,
voici comment nous aurions d procder :
1. Copier/coller la table des Stagiaires, la renommer ;
2. Modifier les noms des champs Numero, Nom et Prenom ;
3. Crer le champ BureauGuides ;
4. Supprimer le champ TelStagiaire.
Cest avec lexprience que vous saurez quelle mthode est la plus pratique.
Figure 85
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 86
La table Inscriptions en mode Cration.
Remarquez la cl primaire, le format Date,
gnral (JJ/MM/AAAA HH:MM:SS)
et la valeur par dfaut =Maintenant()
Figure 87
La table des Bureaux des guides en mode bauche
sous Base ne comprend quun seul champ
Toutes les tables de notre cas pratique sont ainsi cres. Noubliez pas de
les enregistrer si ce nest dj fait. Nous pouvons maintenant passer la
phase de programmation des relations entre les tables. Access et Base
vont requrir des modes opratoires compltement diffrents, aussi
allons-nous tudier ces deux logiciels sparment (Access partir de la
page 170 et Base partir de la page 185).
table des Guides et naura plus qu faire son choix (do le nom de Liste
de choix) ainsi que le montre la figure 88.
Figure 88
Une liste de choix permet de choisir la valeur
dun champ parmi plusieurs possibilits
prexistantes et tablit ainsi la relation entre
la table esclave et son matre
ALLER PLUS LOIN Choisir entre liste de choix par rapport une table ou manuelle
La liste de choix manuelle est plus simple et permet une structure plus lgre de la base
en minimisant le nombre de tables. Par contre, elle est moins souple ds quil sagit dint-
grer, de modifier ou de supprimer une possibilit de choix, car il faut alors modifier
manuellement la proprit Liste de choix du champ.
Une liste de choix par rapport aux valeurs dune autre table se modifie par contre en temps
rel ds que la table matre, celle dans laquelle on choisit les valeurs, est mise jour.
En consquence , on ne choisira une liste de choix manuelle que quand les possibilits de
choix sont restreintes et immuables : par exemple Chamonix, Argentire ou les
Houches , ou encore Homme ou Femme , etc.
Ds que les valeurs dune liste de choix sont sujettes de constantes modifications, mises
jour, ajouts et suppressions, il faut systmatiquement choisir une liste de choix par rap-
port aux valeurs dune autre : ce sera le cas quand il faudra slectionner un numro de
client, de produit, de stagiaire, de guide, dactivit, etc. ou mme encore un nom de ville
dans une liste constamment mise jour.
ALLER PLUS LOIN Utiliser deux colonnes ou plus dans une liste de choix manuelle
Vous avez remarqu sur la figure 811 la possibilit de crer une liste
de choix avec plus dune colonne.
Si par exemple cette liste de choix tait destine saisir des noms de
personnes, on pourrait utiliser la premire colonne pour son nom et la
deuxime pour son prnom, figure 811. Notez que a ne constituerait
quune aide la saisie, puisque de toute faon, seul le contenu de la
premire colonne de la liste de choix manuelle sera stock dans le
champ considr.
Si par contre, toujours dans cet exemple, vous souhaitez stocker dans
la table le nom dune personne et pouvoir retrouver automatique-
ment son prnom, il faudra alors crer une table complmentaire qui
stockera les noms et prnoms des personnes et crer une liste de
choix (et non une liste manuelle) correspondant aux donnes de
cette nouvelle table.
Figure 811 Une liste de choix manuelle deux colonnes.
Seuls les noms (Capron et Allauzen) seront stocks
dans le champ, les prnoms ne sont quindicatifs.
Figure 813
Ne rien modifier dans la dernire tape
de lassistant Liste de choix.
LOGIQUE Null interdit et listes de choix valeur non prsente dans la liste. Et nous qui avions programm cette
liste de donnes justement pour quil ne puisse choisir que dans la liste...
Avec le paramtre Limiter liste Oui, il est
impossible de ne rien saisir dans ce champ. Spci- Bizarrement, Access continue par dfaut autoriser dautres entres que
fier Null interdit Oui est donc superflu mais le celles de la liste. Pour y remdier, toujours dans longlet Liste de choix de
spcifier nest pas interdit. Faites comme vous la zone Proprits de notre champ BureauGuides (figure 814), slec-
voulez. tionnez la valeur Oui dans la proprit Limiter liste.
Figure 814
Le critre Limiter liste est forc Oui.
Nul ne pourra saisir des donnes autres
que celles de la liste de la ligne Contenu
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 815
Chamonix est la valeur par dfaut du champ
BureauGuide. Il est inutile de saisir les guille-
mets, Access les ajoute automatiquement.
Bien sr, la valeur par dfaut doit appartenir la liste de choix ( lortho-
graphe et la casse prs), surtout si vous avez forc, comme conseill
avec le critre Limiter liste Oui.
Figure 816
Il faut choisir la valeur du champ dans la liste de choix manuelle.
La valeur par dfaut est assigne doffice.
avec Access
Rappelons le principe dune liste de choix par rapport une table. Elle
RAPPEL Cl primaire et cl trangre
permet de crer la relation entre la table esclave et la table matre, en
apportant la possibilit loprateur de saisie de choisir, pour un champ Le champ NumeroGuide de la table esclave Acti-
vites est cl trangre de cette table puisquil fait
de la table esclave, les valeurs correspondantes du champ cl primaire de rfrence par liste de choix aux valeurs correspon-
la table matre. Par exemple, pour une table Commandes, il sera possible dantes du champ quivalent NumeroGuide, cl pri-
de choisir dans la table Client le code client du client qui a pass la com- maire de la table matre Guides.
mande et dans la table Produit, le produit quil a command ou encore,
dans notre cas pratique, cette liste de choix autorisera, pour le champ
NumeroGuide de la table Activites, de choisir parmi les diffrentes
valeurs du champ correspondant NumeroGuide de la table des Guides.
Le schma gnral de paramtrage dune liste de choix par rapport une
table est le suivant :
1 Ouvrir la table esclave en mode Cration.
2 Crer le champ pour lequel on veut dfinir la liste de choix
3 Lancer lassistant Liste de choix en choisissant le type de donnes
Assistant liste de choix.
4 Spcifier que la liste de choix slectionnera ses valeurs dans une table
(et non dans une liste manuelle comme dans le cas prcdent).
5 Suivre les tapes de lassistant et le terminer.
6 Limiter les choix de loprateur aux valeurs de la liste et ventuelle-
ment paramtrer une valeur par dfaut au champ.
Illustrons maintenant le dtail de cette procdure pour le champ
NumeroGuide de la table Activites.
Figure 817
Louverture de lassistant Liste de choix
pour le champ NumeroGuide. Remarquez
le champ NomActivite, cl primaire
de cette table Activites.
Figure 818
Loption entre une liste droulante
par rapport une table (par dfaut)
ou par rapport une liste manuelle
Figure 819
Choisir dans la liste des tables (ou requtes) disponibles
celle qui sera source de la liste de choix (ici, Guides)
Figure 820
Tous les champs de la table ont t slectionns pour participer
la liste droulante. Utiliser les boutons > >> ou < <<
pour slectionner ou dslectionner les champs.
PRODUCTIVIT Les champs dune liste de choix par rapport une table
Nous venons, dans notre exemple, de slectionner tous les champs de la table matre Guides
parce que cette table en comporte peu. Dans la pratique, le nombre de champs slec-
tionner dans une liste de choix est le rsultat dun compromis entre lefficacit et la lisibilit.
Ainsi, nous aurions trs bien pu slectionner uniquement le champ NumeroGuide. Cela
aurait fonctionn, mais pas trs efficacement. Loprateur de saisie naurait en effet vu
dans la liste droulante que la liste des numros de guide, ce qui nest pas trs parlant :
moins de la connatre par cur, il lui aurait fallu avoir sous les yeux la liste des guides
avec leur numro...
Nous avons slectionn tous les champs de notre table parce quils sont peu nombreux. En
aurait-elle comport plus (numro de tlphone, ge, e-mail, RIB, taille, sexe, etc.), nous
nous serions certainement contents de slectionner uniquement les noms et prnoms.
Figure 821
La liste de choix sera trie
selon le Numro de guide.
Figure 822
Il est conseill de dcocher la case
Colonne cl cache (recommand).
Cen est presque fini. Ne changez rien lcran de la figure 824 et cli-
quez sur Terminer. Lavertissement de la figure 825 prcise que les rela-
tions entre les tables Activites (esclave) et Guides (matre) vont tre
ralises la condition que la table courante Activites soit enregistre.
Cliquez bien videmment sur Oui, nommez si ncessaire votre table Acti-
vites, et la liste de choix est cre (figure 826).
Enfin, noubliez pas de modifier la proprit Limiter liste de Non (par
dfaut) Oui.
Figure 824
Ne rien changer cet cran et cliquer sur Terminer.
Figure 825
Cliquer sur Oui pour enregistrer la table
et crer les relations.
Figure 826
La liste droulante est programme.
Notez le langage utilis par Access
pour traduire notre demande ainsi
que la valeur Oui pour Limiter liste.
ALLER PLUS LOIN Les proprits Null interdit et Index sans doublon dun champ cl primaire
Prenons par exemple le cas de la dernire cl primaire cre, le champ Pour un champ Cl primaire, Access bascule automatiquement cette
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
DateInscription de la table des Inscriptions (figure 827). proprit Index sans doublon, car une cl primaire doit permettre
de retrouver rapidement lenregistrement correspondant et ne doit pas
accepter de doublon. Il est possible dutiliser cette proprit Indexa-
tion pour acclrer les temps de recherche dun enregistrement. Par
exemple, on peut rgler la proprit Index du champ NomStagiaire
Oui avec doublons. Par contre, choisir Oui sans doublons interdi-
rait fcheusement deux homonymes de sinscrire, figure 828.
Figure 829
Le bouton Relations dAccess 2007
Figure 830
Le bouton Relations dAccess 2003
Selon la faon et lordre dans lequel vous avez cr les tables de votre
base, cette fentre des relations peut apparatre un peu dsordonne, les
tables de la base se prsentant dans un ordre pas forcment logique.
Prenez donc quelques instants pour faire glisser les vignettes des tables
dans la fentre des relations pour les prsenter dans lordre logique de la
phrase cl : les stagiaires sinscrivent des activits encadres par des
guides, comme le montre la figure 831.
Figure 831
La fentre des relations organise logiquement
dans lordre des termes de la phrase cl
Figure 832
Le paramtrage de lintgrit rfrentielle
La fentre des relations apparat alors selon la figure 833, avec les sym-
boles 1 et caractrisant les relations de un plusieurs. Voyons de plus
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 833
Les relations de un plusieurs
Dans le sens de 1 :
un stagiaire peuvent correspondre plusieurs inscriptions.
une activit peuvent correspondre plusieurs inscriptions.
un guide peuvent correspondre plusieurs activits.
Dans le sens 1 :
Chaque inscription ne concerne quun et un seul stagiaire, ainsi
quune et un seule activit.
Chaque activit est encadre par un et un seul guide.
Ici sachve le paramtrage des relations sous Access. Nous sommes
maintenant prts passer ltape suivante dans la construction de notre
LEXICOLOGIE Pouvoir et devoir base de donnes relationnelle, la cration de formulaires et la saisie de
Pouvoir nest pas devoir : dire quun guide peut
donnes, au chapitre 9, page 195.
encadrer plusieurs activits ne signifie pas quil Si vous avez rencontr des difficults dans ce paramtrage, ne vous
doit en encadrer plusieurs. Par contre, dire quune
inquitez pas : vous ntes ni les premiers, ni les derniers. Le sujet est
activit doit tre encadre par un guide signifie
que non seulement elle le peut, mais que cest dlicat, le logiciel est sensible et les causes derreurs multiples. Reportez-
obligatoire. vous dans ce cas la page 189.
La figure 832 offre deux possibilits que nous avons ignores. Quelle en est la
signification ?
Mettre jour en cascade les champs correspondants. Imaginons quil nous
vienne lide de changer les numros de nos guides. Ce serait une ide trange, mais
on en a vu dautres. Dans ce cas, comment Access pourrait-il retrouver dans la table
Activites le guide correspondant, puisque cette table contient lancien numro du
guide ? Cette option Mettre jour en cascade les champs correspondants
rsout ce type de difficults, en modifiant en cascade les numros de guide. Ce type
dopration de renumrotation tant plutt viter, cette option na pas notre
niveau de vritable utilit.
Effacer en cascade les enregistrements correspondants. Imaginons quun guide quitte
notre association. Sil nencadre pas dactivit, pas de problme. Mais, dans le cas
contraire, que va devenir son activit (et les stagiaires qui y sont inscrits) ? Cocher la
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 834
La liste des tables disponibles
pour la fentre des relations
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 835
Premier affichage de la fentre des relations
Lobservation de la figure 835 montre que les tables sont classes par
INDISPENSABLE Licne cl primaire pour
chaque table de la fentre des relations ordre alphabtique, et non selon lordre logique de la phrase cl comme
nous laurions souhait : les stagiaires sinscrivent des activits enca-
Le champ cl primaire de chaque table de la
figure 836 sorne de licne correspondant, une
dres par des guides appartenant un bureau des guides. Rorganisez
cl stylise. donc cet affichage vignette par vignette en les slectionnant une une et
en effectuant un cliquer glisser pour obtenir laffichage de la figure 836.
Figure 836
Les tables de la fentre des relations saffi-
chent dans lordre logique
Nous allons maintenant dcrire comment tablir une relation entre deux
tables.
Figure 837 Une relation de 1 n est programme dans la fentre des relations
Remarquez sur cette figure 837 le trait unissant les cls primaires et
trangres, et les symboles 1 et n. Le 1 est du ct de la cl primaire de la
table matre, et le n de celui de la cl trangre de la table esclave, signi-
fiant ainsi que plusieurs guides peuvent appartenir au mme bureau.
Reste dfinir selon le mme schma toutes les relations de notre cas
pratique. Programmons donc toutes les autres relations entre les couples
de tables matres et esclaves selon le tableau suivant :
Tableau 83 Tableau des relations programmer dans le cas pratique (Base)
Dans la table esclave : Cliquer-glisser le champ cl trangre : Sur le champ cl primaire : De la table matre :
Guides BureauGuides BureauGuides BureauxGuides
Activites NumeroGuide BureauGuides Guides
Inscriptions NumeroStagiaire NumeroStagiaire Stagiaires
NomActivite NomActivite Activites
Figure 838
Une chane ininterrompue de relations de 1 n
Ceci termine le paramtrage des relations avec Base. Nous allons main-
tenant poursuivre notre tude des bases de donnes relationnelles avec le
chapitre suivant consacr aux formulaires et la saisie de donnes.
Si par contre vous ntes pas parvenu paramtrer correctement ces rela-
tions, il est inutile de poursuivre : le paramtrage de ces relations est une
condition sine qua non la poursuite de votre travail.
Il nest pas question de lister toutes les causes de dysfonctionnements
avec leurs symptmes et surtout leurs solutions, tant ils sont nombreux.
Ceci dit, lexprience prouve que certaines causes revenaient plus sou-
vent qu leur tour. Essayons den prsenter les principales.
Figure 840
Alerte ! Lintgrit rfrentielle
ne peut tre applique...
Voici comment vous sortir de ce mauvais pas ( essayer dans cet ordre,
du moins compliqu au plus compliqu) :
Adoptez au bon endroit la bonne orthographe et recommencez les
oprations de paramtrage des relations.
Effacez toutes les donnes des tables et recommencez les oprations
de paramtrage des relations.
Supprimez les tables concernes (ici Inscriptions et Activites), recrez-
les et recommencez les oprations de paramtrage des relations.
Supprimez toutes les tables de la base et reprennez toute la program-
mation depuis le dbut (dans le bon ordre cette fois).
Attention, ds quune relation est cre entre deux tables, il nest pas pos-
sible de supprimer une des tables. Il faut commencer par supprimer la rela-
tion dans la fentre des relations ; pour cela, affichez la fentre des
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 841
Table sans cl primaire : danger !
Figure 842
La table des Guides na pas
pour cl primaire le champ NumeroGuide
mais un autre champ intitul N.
Figure 843
Aucune cl primaire na t dfinie. Le
message davertissement (ici avec Access)
propose den crer une par dfaut.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 844
La table matre Guides nest pas lie sa table
esclave Activites (lassistant Liste de choix
na pas t lanc pour le champ NumeroGuide
de la table Activites).
Normalement, quand vous affichez la fentre des relations, toutes les tables concernes appa-
raissent. Ce nest parfois pas le cas. Utilisez alors le bouton Afficher une table (figures 8
45 et 846) et slectionnez la table manquante. Tout devrait rentrer dans lordre.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Phase tape
Modlisation tablissez le schma thorique partir de la phrase cl les stagiaires sinscrivent des activits encadres par des
guides appartenant des bureaux des guides
tablissez le schma rel partir du schma thorique et des nombres cls 1 ou N
Programmation des tables Crez tous les champs de chaque table avec :
Un nom : NumeroStagiaire et non Numro du stagiaire
Un type : texte, numro automatique, date/heure, numrique, etc
Des proprits : format, masque de saisie, valeur par dfaut, null interdit, etc
Choisissez dans chaque table un champ cl primaire permettant didentifier sans ambiguit un enregistrement parmi
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
chapitre
SOMMAIRE
B quoi sert un formulaire ?
Nous disposons maintenant dune base de donnes cohrente, B Crer un formulaire de saisie
avec des tables, des champs (dont une cl primaire) et un rseau simple
de relations entre ces tables. Tout est prt pour recevoir B Aller plus loin avec
les formulaires
des donnes. Nous allons ici apprendre crer et utiliser
B Saisir et modifier les donnes
les formulaires, loutil certainement le plus adapt la saisie
de donnes dans un SGBDR. MOTS-CLS
B Formulaire et sous-formulaire
B Assistant Cration de formulaire
B Modification de formulaire
B Menu daccueil
B Saisie des donnes
Figure 92
Le formulaire correspondant
est bien plus clair et efficace !
Figure 93
Afficher les formulaires disponibles
dans le volet de navigation Access 2007
Figure 95
Lancer lassistant Formulaire Access 2003
Nous voici maintenant sous le contrle des assistants respectifs de notre Lassistant Formulaire de Base comporte plus de
possibilits et plus dtapes que son alter ego
logiciel ; nous navons plus qu nous laisser guider pour obtenir notre Access. Nous avons choisi de calquer notre prsen-
premier formulaire. Leur ergonomie est normalement suffisamment tation sur le droul de lassistant Access. Les utili-
claire pour ne pas poser de problme particulier. Illustrons leur mode sateurs de Base se reporteront le cas chant aux
opratoire au travers de la cration dun formulaire concernant la table aparts spcifiques.
Stagiaires.
Figure 96
Lancer lassistant Cration de formulaire Base
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 97
Le premier cran de lassistant formulaire
Access : la slection de la table
et de ses champs.
Figure 98
Cration de formulaire Base : tous les champs
de la table Stagiaires sont slectionns.
La plupart du temps, tous les champs dune table sont prsents dans le for- BASE Sous-formulaire
mulaire ddi cette table. Il peut en tre autrement. Si une table comporte Juste aprs le choix de la table et des champs,
des lments confidentiels, il est possible de crer des formulaires diffrents Base propose de crer un sous-formulaire pour
ne donnant accs qu certains champs en fonction de loprateur. pouvoir la fois agir sur la table des Stagiaires et
des Inscriptions. Cette option ne nous concerne
pas ici.
ACCESS Utiliser plusieurs tables ou plusieurs requtes dans un formulaire
Lassistant Formulaire spcifie (figure 97) que plusieurs tables ou plusieurs requtes
sont utilisables pour le mme formulaire. quoi cela sert-il ?
Dans notre cas pratique, il serait intressant par exemple de disposer dun formulaire
permettant, pour un nouveau stagiaire, de pouvoir la fois crer lenregistrement du
stagiaire (table Stagiaires) et linscrire lactivit de son choix (table Inscriptions). Ce
qui ferait intervenir deux tables pour ce formulaire.
De mme, on pourrait aussi imaginer un formulaire permettant de visualiser et de
modifier les coordonnes du guide encadrant une activit particulire. Ce serait alors
un formulaire bas sur une requte.
Mais le cas dun formulaire bas sur une et une seule table est le plus courant (cest aussi
le plus simple).
Figure 99
Le choix de la prsentation du formulaire
Access (ici, Colonne simple)
Base offre un cran complmentaire qui permet de paramtrer ce que pourra effectuer le for-
mulaire (visualiser, saisir ou modifier des donnes) et de grer ainsi diffrents profils dutilisa-
teurs. Dans notre cas pratique, nous avons choisi loption la plus gnrale, celle propose par
dfaut (figure 910). Faire Suivant.
Figure 910 Cration dun formulaire Base : loption par dfaut offre le plus de possi-
bilits daction au formulaire.
Figure 911
Le style Solstice est choisi pour Access parmi
les diffrentes possibilits offertes par Access 2007
Figure 912
La fin de lassistant Formulaire sous Access. Le formulaire
sappelera Stagiaires (du nom de la table source) et souvrira
par dfaut en mode Contenu.
Figure 913
Le formulaire Stagiaires Access en mode
Contenu. Aucun enregistrement nest saisi.
Figure 914
Le formulaire Stagiaires Base en mode
Contenu. Remarquez les outils en bas
de fentre pour naviguer denregistrement
en enregistrement.
teur de saisie dont le travail nest pas de dcrypter le jargon utilis par
mme nom. Imaginez un instant que nous ayons
le crateur de la base de donnes. appel cette table Stagaires (avec une faute
Ltiquette DateNaissanceStagiaire napparat pas en entier. dorthographe), cette faute nous aurait poursuivi
tout au long de la vie de la base.
Nous allons remdier simplement ces quelques dfauts en modifiant le
formulaire en mode Cration (bauche pour Base).
Modifier un formulaire
Les techniques de modification de formulaires (ou dtats comme nous
le verrons page 325) ne sont pas trs compliques en soi, mais elles sont
dlicates mettre en uvre : elles demandent pas mal dhabilet dans le
maniement de la souris et du clavier. Il va sagir en quelque sorte dun jeu
de gommettes comme la maternelle, ou de Post-it si vous prfrez,
dans lequel nous allons jouer sur la taille, le contenu et la position des
diffrents lments du formulaire (ses contrles) sur le cadre du formu-
laire en lui-mme.
Il nest pas trs facile darriver du premier coup ses fins, il est mme
possible que vos perdiez des donnes importantes lors de vos premires
tentatives. Cest pourquoi nous vous conseillons de travailler sur une
copie du formulaire (voir page 161) pour tester vos modifications.
Le gros risque quand on fait des copies dobjets au sein de la mme base est bien videm-
ment doublier de supprimer des lments obsoltes, voire innapropris ou mme faux. La
confusion va sinstaller. La plus grande rigueur est donc ncessaire ce stade : toujours
supprimer les objets qui nont plus dutilit !
Figure 915
Le formulaire Stagiaires
en mode Cration sous Access 2007
Figure 916
Un formulaire en mode Contenu,
avec cinq contrles, leur tiquette
et leur contrle proprement dits
Il existe deux diffrences essentielles par rapport Access 2007. Tout dabord, puisquil
ny a pas de mode Page, il faut utiliser le mode bauche. Ensuite, la mthode pour modi-
fier les proprits du contrle est diffrente :
1. Slectionnez le contrle concern dans le mode bauche et, par un clic droit, choi-
sissez loption Contrle.
2. La bote de dialogue Proprits saffiche (figure 917). Il est possible de changer
police et alignement, de choisir une couleur darrire plan, dafficher une info bulle
(mini message dinformation daide la saisie) ou de dsactiver le contrle (en affec-
tant la valeur Non la proprit Activ).
Les principes exposs ci-dessous pour Access 2007 sont pour lessentiel galement vala-
bles pour Access 2003.
La principale diffrence tient labsence du mode Page dAccess 2007. Il faudra donc
ouvrir le formulaire modifier en mode Cration, il offrira les mmes possibilits, mais
avec moins de confort dutilisation (les contrles ne vont pas automatiquement se rali-
gner comme avec Access 2007 par exemple ; il faudra le faire manuellement en effectuant
un cliquer-glisser).
Figure 919
Le formulaire Stagiaires en mode Page. Le titre
de ce formulaire (le mot Stagiaires) est entour
dun liser, il est donc slectionn.
Figure 920 Ltiquette modifier Figure 921 Le texte de ltiquette Figure 922 Ltiquette a t modifie.
est slectionne (liser orange pais). est modifiable (liser noir normal). Remarquez quAccess a dcal les contrles
en eux-mmes pour tenir compte de la nouvelle
tiquette plus large.
Rptez cette opration pour tous les champs du formulaire des sta-
giaires (figure 923). Remarquez quAccess a dcal vers la droite les
contrles pour viter le chevauchement avec les nouvelles tiquettes.
Figure 923
Toutes les tiquettes ont t modifies. Access a dplac
les contrles vers la droite pour viter le chevauchement.
INFO Les contrles se rencontrent Ce sont malheureusement aussi deux oprations pnibles et dlicates si
aussi sur les tats/rapports on ny est pas habitu.
Les tats (ou rapports sous Base), dont nous parle- Le principe gnral est de dplacer et de redimensionner le contrle,
rons au chapitre 13, sont des objets qui permet-
exactement comme vous le feriez dune forme sous Excel, Word ou
tent dobtenir, comme leur nom lindique, des
prsentations impeccables des tables ou des Powerpoint, en effectuant un cliquer-glisser (pour le dplacer) ou en
requtes dune table. Comme les formulaires, ils se slectionnant un bord du contrle puis en le faisant glisser (pour redi-
crent trs facilement avec les assistants. Comme mensionner le contrle).
les formulaires, ils donnent souvent satisfaction du
premier coup. Comme les formulaires, modifier Le meilleur conseil quon puisse vous donner en la matire est dexpri-
leur apparence est dlicat (car il sagira de menter ces manipulations en utilisant une copie de votre formulaire en
dplacer ou redimensionner des contrles). mode Page. Le formulaire dorigine ne sera alors pas modifi et vous
pourrez vous exercer en toute tranquillit.
Quand nous naviguerons dans notre formulaire en mode Contenu pour saisir des don-
nes (page 226), nous utiliserons la touche Tabulation pour naviguer de contrle en con-
trle. Le champ cl primaire de la table (dans notre exemple NumeroStagiaire) tant un
champ numrotation automatique, il ne sera pas possible de le modifier manuellement.
Le plus sr sera alors dinterdire la tabulation sur ce champ ; concrtement, lors de la
saisie de donnes, le pointeur ne sarrtera pas sur le champ quand nous utiliserons la
touche de tabulation et tout risque derreur de saisie sera vit. Voici comment procder
dans un formulaire en mode Page :
1. Slectionnez le contrle (ici, NumeroStagiaire).
2. Appelez le menu contextuel par un clic droit, puis slectionnez Proprits.
3. La Feuille des proprits apparat sur le cot droit de lcran. Cliquez sur longlet
Autres et forcez la ligne Arrt tabulation de Oui Non (figure 924).
Figure 926
Le contrle Zone de liste
se dimensionnera selon cette plage.
Figure 927
Les diffrentes tables disponibles
pour servir de source la zone de liste
Figure 928
Slection du champ de la liste droulante
Figure 929
Liaison des champs. Slectionner droite
et gauche le mme champ, gauche
Cl trangre, droite Cl primaire.
Aprs avoir cliqu sur Terminer, Base affiche le formulaire avec la liste
droulante, figure 930. Reste insrer ltiquette correspondante,
puisque rien nindique sur ce contrle de quel champ il sagit.
Figure 930
Le formulaire avec la liste droulante
(mais sans son tiquette)
Figure 932
La modification de la ligne Titre
de longlet Gnral des Proprits
du contrle tiquette permet dafficher
le texte souhait dans ltiquette.
Figure 934
Les champs slectionns pour le formulaire
avec sous-formulaire
ALLER PLUS LOIN Formulaire attach Ltape suivante propose de prsenter les informations par Stagiaires ou par
Loption Formulaire attach va afficher sur le for-
Inscriptions (en fonction des tables que nous avons slectionnes dans ltape
mulaire principal un bouton sur lequel il faudra cli- prcdente). Elle laisse aussi le choix entre Formulaire avec sous-formulaire
quer afin douvrir le sous-formulaire. Cest notre (recommand) ou Formulaire attach. Validez les rglages de la figure 935.
avis moins pratique que loption Formulaire avec
sous-formulaire dans laquelle les deux formulaires
souvrent lun dans lautre. Mais rien ne vous
empche de vous faire votre opinion.
Figure 935
Il est possible de prsenter le formulaire
organis selon la premire table
slectionne ou selon la seconde
Figure 937
Des formulaires gigognes permettant
dagir sur plusieurs tables simultanment
effectif, lassistant droule les mmes tapes que pour un formu- Figure 938 Ne pas sauter ltape
laire ordinaire. Ajouter un sous-formulaire si on veut en obtenir un !
Figure 939
Le choix de laction effectuer
par un bouton daction de formulaire menu
Figure 940
Le choix de lobjet ouvrir
sur un formulaire menu
Figure 941
Le formulaire aura accs
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 942
Bien penser modifier le nom du bouton
Appelez le menu Affichage, puis slectionnez loption Bote outils, figure 943.
Figure 943 Les diffrents contrles de la bote outils de formulaire (Access 2003).
Le bouton daction est encadr.
notre menu, lors de louverture de la base de donnes, il faut : Si vous en avez assez du menu ouverture auto-
matique, vous pouvez trs bien le fermer en cli-
Sous Access 2007 : cliquez sur le bouton Office, puis sur le bouton quant en haut droite sur le bouton de fermeture
Options Access (tout en bas droite) et enfin, dans la catgorie Base de Windows. Vous pouvez aussi effectuer les opra-
donnes active, slectionnez le formulaire Menu dans la liste drou- tions dautomatisation douverture decrites ci-
lante de Afficher le formulaire, comme le montre la figure 944. contre lenvers
Figure 944
Le formulaire Menu souvrira
automatiquement louverture de la base.
de la table Activits.
On ne peut supprimer une activit de la table Activites tant quun sta-
giaire y est inscrit, cest dire tant que le NomActivite de cette activit
est prsent dans un enregistrement de la table Inscriptions.
On ne peut supprimer un stagiaire de la table Stagiaires tant quil est
inscrit une activit, cest dire tant que son NumeroStagiaire est
prsent dans un enregistrement de la table Inscriptions.
Et enfin les utilisateurs de Base ne pourront supprimer un bureau des
guides dans la table BureauxGuides tant quun guide de la table
Guides y sera inscrit, cest dire tant que son nom est prsent dans le
champ BureauGuides la table Guides.
Figure 945
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Les figures 946 949 reprsentent les donnes que nous vous propo-
sons de saisir dans votre base dcole dalpinisme.
Figure 946
Les donnes de la table Stagiaires
Figure 947
Les donnes de la table Guides
Figure 948 Les donnes de la table Activites Figure 949 Les donnes de la table Inscriptions
Les enregistrements dune table matre sont prcds du symbole +. Cliquer sur + permet
de visualiser les enregistrements lis, figure 951. Cette option nest pas disponible avec
Base.
Avec un formulaire, slectionnez lenregistrement et cliquez sur Visualiser une table en mode Contenu permet
loutil Supprimer. davoir une vue gnrale de son contenu. Il est donc
En mode Contenu dune table, slectionnez lenregistrement comme souvent plus facile de rechercher et de modifier/sup-
primer un enregistrement par ce biais plutt que par
avec un tableur (en slectionnant la ligne complte) et utiliser le
un formulaire qui ne donne que la vision dun seul
bouton Supprimer (ou la touche Suppression de votre clavier). enregistrement et avec lequel on peut trs bien se
Dans les deux cas, le message obtenu (figure 952) confirme que la sup- tromper denregistrement par mgarde.
pression sera dfinitive, ne rpondez pas au hasard.
Figure 952
Le message avertissant quune suppression
denregistrement est dfinitive
Figure 953
Il est impossible de supprimer un enregistre-
ment dune table matre ayant des enregistre-
ments dpendants dans la table esclave.
Figure 954
Vous tes invit saisir une valeur
pour ce champ Null Interdit.
Figure 955
Le format de lentre ne correspond pas
au format attendu pour ce champ.
Figure 956
Tentative de cration dun doublon
dans un champ cl primaire
Figure 957
Problme dintgrit rfrentielle :
la cl primaire de la table
matre Guides nexiste pas.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 959 Le message Access 2003 spcifiant quune valeur est requise
pour le champ PrenomGuide de la table des Guides (remarquez le franglais).
Phase tape
Modlisation tablissez le schma thorique partir de la phrase cl les stagiaires sinscrivent des activits encadres par
des guides appartenant des bureaux des guides
tablissez le schma rel partir du schma thorique et des nombres cls 1 ou N
Programmation des tables Crez tous les champs de chaque table avec :
Un nom : NumeroStagiaire et non Numro du stagiaire
Un type : texte, numro automatique, date/heure, numrique, etc
Des proprits : format, masque de saisie, valeur par dfaut, null interdit, etc
Choisissez dans chaque table un champ cl primaire permettant didentifier sans ambiguit un enregistrement
parmi les autres (souvent un champ de type numrotation automatique)
Dans chaque table esclave, crez le champ cl trangre correspondant au champ cl primaire de sa table matre
Programmation des Pour tous les champs cl trangre des tables esclaves, crez la liste de choix par rapport la cl primaire de leur
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
relations (sous Access) table matre, en utilisant le type de donnes Assistant liste de choix
Crez ventuellement des listes de choix manuelles dans le cas de choix entre un nombre limit de valeurs (Chamo-
nix, Argentire, Les Houches)
Dans la fentre des relations, appliquez lintgrit rfrentielle chaque relation
Programmation des Dans la fentre des relations, cliquer-glisser chaque champ cl trangre des tables esclaves vers le champ cl pri-
relations (sous Base) maire de leur table matre
Programmation Crez les formulaires (avec ventuellement des sous-formulaires) avec lassistant Cration de formulaire
des formulaires Avec Base, ajoutez manuellement la liste de choix pour un champ cl trangre
Avec Access, pensez ajouter un menu pour accder aux principaux objets de la base
Saisie des donnes Les donnes doivent respecter lintgrit rfrentielle et les proprits des champs
Les donnes sont automatiquement enregistres ; les suppressions et modifications de donnes sont dfinitives
Utilisez de prfrence les formulaires
chapitre
SOMMAIRE
B Quest-ce quune requte ?
Nous avons notre disposition des donnes dans une base B Crer une requte simple
parfaitement structure. Nous allons maintenant nous attaquer B Comprendre les rsultats dune
la partie certainement la plus intressante de notre projet : requte en mode Contenu
lexploitation proprement dite des donnes grce aux requtes. B Sexercer crer des requtes
B Faciliter la saisie des donnes
avec une requte
MOTS-CLS
B Requte
B Assistant Cration de requte
B Requte en mode
Cration/bauche et Contenu
B Formulaire bas sur une requte
B Proprits Arrt tabulation
et TabStop dun formulaire
Ce chapitre marque une rupture par rapport aux prcdents. Jusqu pr-
sent, nous avons appris analyser une problmatique de base de don-
nes, programmer sa structure et entrer des donnes. Mais quavons-
nous fait de ces donnes ? part les stocker dans des tables, pas grand
chose en vrit... Par exemple, pouvons-nous dire rapidement qui parti-
cipe telle ou telle activit ? Qui encadre telle ou telle activit ? Ou
encore pouvons-nous donner chaque guide la liste des stagiaires qui
participent aux activits dont ils sont chargs ? Non. En effet, ces infor-
mations ncessitent de manipuler et de mettre en perspective plusieurs
tables.
Cette mise en perspective, se fait justement travers un nouveau type
dobjet dont nous navons pas encore parl : les requtes. Dans ce cha-
pitre, nous allons apprendre crer une requte simple et dcouvrir com-
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 101
La table des Inscriptions est trie selon les
valeurs croissantes du champ NomActivite. On
ny voit que les numros des stagiaires, et non
leurs noms stocks dans une autre table. Cette
liste nest donc pas trs parlante...
Par exemple, nous avons inscrit des stagiaires des activits. Mainte-
TECHNIQUE Trier une table nant, comment lister clairement tous les stagiaires, activit par activit ?
Pour trier une table en mode Contenu, slec- Mme si linformation est prsente dans les tables, elle nest gure opra-
tionnez le champ souhait puis, par un clic droit, tionnelle puisque les donnes sont clates entre plusieurs tables ; tout ce
appelez loption Trier. Attention : quand vous fer-
merez la table, Access et Base vous demanderont si
quon pourra faire sera de visualiser la table Inscriptions en mode Con-
vous souhaitez enregistrer les modifications. Les tenu et de la trier selon le champ NomActivite. Les inscrits seront alors
modifications dont il sera alors question concernent lists par activit, mais ne seront indiqus que par leur NumeroStagiaire,
le tri des donnes et non les donnes en elles-mmes les noms et prnoms tant stocks dans la table des Stagiaires : pas trs
(qui dailleurs nont pas t modifies par le tri).
lisible, figure 101. Seule une requte, regroupant NumeroStagiaire et
Figure 102
La requte groupant les champs de la table des Inscriptions
et des Stagiaires ; les noms des inscrits apparaissent en clair,
cest bien plus efficace !
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
est reprsent que par son numro et que nous ne connaissons pas par
cur la correspondance entre ces numros et les noms des stagiaires). Il
nous faut donc crer une requte pour connatre les stagiaires inscrits aux
diffrentes activits. Ce sera lobjet de ce chapitre.
Cette requte va contenir les champs suivants :
Le champ NomActivite de la table Activites ;
Les champs NumeroStagiaire, NomStagiaire et PrenomStagiaire de
la table Stagiaires.
Ce choix, car il sagit toujours dun choix, nest pas fait au hasard. Tout
dabord, nous navons besoin, stricto sensu, que des champs NomActivite,
Nom Stagiaire et PrenomStagiaire. Pourquoi donc avons-nous rajout le
champ NumeroStagiaire de la table Stagiaires ? Il ne semble pas relle-
ment indispensable, puisque noms et prnoms peuvent trs bien suffire.
Mais ce raisonnement nest pas complet. Ce champ NumeroStagiaire est
en effet cl primaire de la table Stagiaires et sa prsence dans la requte
nous simplifiera grandement la vie, parce quil permettra de lever lambi-
gut en cas de doublons et parce que lutilisation pratique de la requte
en sera grandement facilite (recherche denregistrements et tris seront
beaucoup plus efficaces).
Ensuite, certains champs de la future requte peuvent se choisir dans
ATTENTION Ne pas intgrer cl primaire et plusieurs tables. NomActivite est prsent dans la table Activites (sous
cl trangre dans la mme requte forme de cl primaire) et dans la table Inscriptions (sous forme de cl
secondaire). NumeroStagiaire est la fois cl primaire de la table Sta-
Nous venons dexpliquer quil est prfrable de
choisir la cl primaire de la table matre plutt giaires et cl trangre de la table Inscriptions. Nous avons systmati-
que la cl trangre de la table esclave. Il ne quement opt pour slectionner le champ de la table pour lequel il est cl
faut bien videmment pas intgrer les deux primaire. L encore, les tris et recherches seront facilits. Et cela nous
dans la mme requte, cela ne servirait absolu- simplifiera galement la vie lavenir : quand nous aurons besoin de
ment rien !
modifier cette requte, nous saurons que le champ choisi, quand ce cas
Une requte simple se cre sous Access avec lassistant ddi (page 238)
et sous Base directement en mode bauche (page 241).
son fonctionnement par la cration dune requte listant, dans notre cas
pratique, les stagiaires inscrits aux diffrentes activits, activit par activit.
Figure 103
Les champs NomActivite (de la table Activites)
et NumeroStagiaire, NomStagiaire et
PrenomStagiaire (de la table des Stagiaires)
sont slectionns pour participer la requte.
avant davoir fait passer dans la colonne de droite tous les champs nces-
saires.
Et si je me trompe ? Si vous avez un peu mlang les champs dans lcran de slec-
tion des champs, le plus simple est certainement de dslectionner tous les champs de
la requte par le bouton << et de recommencer calmement.
Pourquoi ces champs et pas dautres ? Lintrt des requtes est de faire du sur
mesure, lexemple fourni nest quune proposition. Rien ninterdit dajouter dautres
champs, comme par exemple le nom du guide encadrant lactivit. Rien ninterdit non
plus den enlever (encore que dans ce cas prcis, ce sera difficile). Enfin, ce choix nest
pas dfinitif, vous pourrez toujours ajouter ou supprimer des champs volont plus
tard en mode Cration/ bauche.
Lordre de slection des champs est-il important ? Oui et non... Oui, parce que les
champs vont apparatre dans la requte dans lordre o ils sont slectionns. Et non,
parce quil sera toujours possible de le modifier ultrieurement. Mais le plus simple
est certainement de prendre les champs dans le bon ordre ds le dpart !
Figure 104
Lalternative entre requte dtaille
ou de synthse
Figure 105
Ne jamais oublier de modifier
le nom de la requte
Figure 106
La requte StagiairesParActivites
en mode Contenu
Figure 107
Il faut slectionner toutes les tables
de la relation matre/esclave.
Nous navons stricto sensu besoin que des tables Activites et Stagiaires.
Mme si cest logiquement exact (car ces deux tables sont en relation via
la table des Inscriptions), cela ne fonctionnera pas ; Base et Access vont
en effet exiger que la table ralisant la relation (celle des Inscriptions)
soit galement prsente dans la liste des tables de la requte. Il faut donc
slectionner les trois tables Stagiaires, Inscriptions et Activites, soit en
double-cliquant sur chaque table, soit en les slectionnant et en cliquant
sur Ajouter. Le rsultat de cette slection est illustr par la figure 108,
sur laquelle on constate la matrialisation des relations entre la table
esclave Inscriptions et ses tables matres Stagiaires et Activites.
Figure 109
La slection dun champ dune requte
en mode bauche par liste de choix
Figure 1010
Tous les champs de la requte
StagiairesparActivites en mode bauche
Il nest pas inutile de rappeler lessentiel quand la gestion des modes daffichage dune
requte, le mode Contenu et le mode Cration/bauche :
Double-cliquer sur le nom de la requte dans le volet de navigation de lcran
daccueil de la base de donnes ouvre toujours la requte en mode Contenu.
Pour ouvrir directement une requte en mode Cration/bauche, slectionner la
requte dans le volet de navigation et, par un clic droit, accder loption mode
Cration (Access) ou Modifier (Base).
Pour basculer une requte du mode Cration au mode Contenu, accder par un clic
droit loption Mode feuille de donnes. Avec Base, il faut fermer la requte et la
rouvrir.
Pour basculer du mode Contenu au mode Cration, utiliser le bouton Excuter ou
accder par un clic droit loption Mode cration. Avec Base, il faut fermer la
requte et la rouvrir.
Activites. Il est bien entendu possible de la trier dans tout autre ordre : il
suffit de slectionner une colonne et de trier avec loutil adquat, par
exemple par un clic droit suivi de loption Trier. Notez dans ce cas que le
tri ne sera effectif que pour cette session, le programme de la requte
ntant pas modifi.
Figure 1011 Les possibilits de filtre
dans un requte Access 2007
Figure 1012
La requte StagiairesParActivites en mode Contenu
Vous avez certainement remarqu avec Access la dernire ligne de notre requte en mode
Contenu, la ligne Nouv.(). Elle nous permet de dcouvrir une particularit tonnante des
requtes avec Access.
Une requte utilise les donnes des tables. Mais elle permet galement de les modifier et
mme dajouter des enregistrements. Cest la signification de cette ligne : lutiliser va per-
mettre, non plus de lister les donnes des tables, mais dentrer directement des donnes
dans les tables.
Disons-le tout net : cette possibilit mlange les genres et risque dtre source de confusion.
Pour saisir des donnes dans les tables, nous disposons de formulaires patants (ou mme
de tables en mode Contenu), utilisons-les systmatiquement cet usage. Et rservons les
requtes exclusivement la manipulation des donnes et jamais leur modification.
requtes dans votre base exemple. Si vous tes utilisateur dAccess, testez
la construction de chaque requte par lassistant puis en mode Cration,
vous forgerez ainsi vos prfrences entre ces deux techniques.
Nous vous proposons ainsi de crer deux autres requtes, listant
respectivement :
Les activits auxquelles chaque stagiaire est inscrit (requte Activites-
ParStagiaires).
Pour chaque guide, les activits quil encadre avec les stagiaires qui y
sont inscrits (requte StagiairesParActivitesParGuides).
Remarquons tout de suite que la requte ActivitesParStagiaires sera exacte-
ment le pendant de celle que nous venons de crer, StagiairesParActivites.
Les mmes champs y sont prsents, mais ordonns diffrement : dabord
NumeroStagiaire, NomStagiaire et PrenomStagiaire de la table Stagiaires,
puis NomActivite de la tables Activites. Ce qui confirme que lordre de
slection des champs a un impact immdiat sur le rsultat de la requte.
La requte StagiairesParActivitesParGuides, elle a un impact sur trois
tables, Stagiaires, Activites et Guides.
Figure 1013
La requte ActivitesParStagiaires
en mode Cration bauche
Figure 1014
La requte
StagiairesParActivitesParGuides
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 1015
La requte ActivitesParStagiaires en mode
Contenu trie par NumeroStagiaire
Figure 1016
La requte StagiairesParActivitesParGuides
en mode Contenu trie par NumeroGuide
Le choix des champs et leur ordre dapparition dans la requte nest videmment pas ala-
toire.
Il ne faut pas oublier que cette requte nest faite que pour enregistrer de nouvelles ins-
criptions. Cest pourquoi nous avons choisi les champs cl trangre de la table des Ins-
criptions (NumeroStagiaire et NomActivite) et non les cls primaires des tables matres
correspondantes. Ce dernier choix, erron, aurait amen crer de nouveaux enregistre-
ments dans les tables des Stagiaires et des Activites.
Enfin, vous avons insr NomStagiaire et PrenomStagiaire juste aprs le champ NumeroS-
tagiaire, avant le champ NomActivite, afin de coller ltat civil du stagiaire son numro.
Figure 1017
La requte SaisieInscriptions
en mode Cration.
Figure 1018
La proprit Arrt tabulation dun contrle de
formulaire Access 2007
ALLER PLUS LOIN Affecter les proprits Arrt tabulation (TabStop) Non aux champs grs par le SGBDR
Figure 1021
Les donnes dune table transitent par une requte puis un formulaire
qui permet son tour de modifier les donnes dune des tables source.
chapitre
SOMMAIRE
B Modes cration/bauche,
assistant et SQL : sorienter
Au chapitre 3, nous avons appris slectionner
des enregistrements dans les listes de donnes, nous allons B Raliser des slections
denregistrements
dcouvrir ici les fonctions quivalentes sous Access et Base ;
B Identifier des enregistrements
autant dire que nous ne serons pas dus, tant leurs possibilits sans correspondance
et leur facilit demploi sont tonnantes. Jugez par vous mme... B Identifier les doublons
dans une table
MOTS-CLS
B Mode SQL
B Requte slection
B Critres de slection
B Caractres gnriques
B Critres Et et Ou
B Requte de non-correspondance
B Requte de recherche
de doublons
B Modification dune requte
existante
Les requtes que nous avons cres au chapitre 10 ne font que collecter de
linformation, sans ajouter une quelconque plus-value (sauf la rendre
lisible et accessible, ce qui nest dj pas si mal). Nous allons ici dbuter
ltude de requtes volues permettant danalyser vritablement nos don-
nes, ce qui est au bout du compte ce pourquoi nous avons construit notre
base de donnes. En dautres termes, nous allons commencer ici
recueillir les fruits de notre long travail de modlisation et de construction.
Nous allons commencer par clarifier les diffrents modes dune requte :
assistant, Cration/bauche et SQL. Nous apprendrons ensuite com-
ment procder des slections denregistrements selon des critres per-
sonnalisables. Enfin, nous tudierons deux requtes particulirement
utiles la gestion de nos donnes, les requtes de non-correspondance et
de recherche de doublons.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 111
Le critre Neige est saisi
pour le champ NomActivite.
BASE Alias, ksaco ? La saisie des critres ncessite quelques remarques. Tout dabord, il est
En mode bauche, lors de la cration dune inutile dajouter les guillemets " (Access) ou ' (Base) lors de la saisie des
requte, Base autorise pour chaque champ la critres, le logiciel les ajoute tout seul. Ensuite il est bien videmment
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
saisie dun alias. Il sert simplement obtenir un indispensable de respecter la lettre lorthographe des contenus des
libell plus lisible que le nom du champ lors de
champs (Neige et non Naige). Par contre, respecter la casse nest pas
lexcution de la requte (par exemple, NomSta-
giaire peut avoir comme alias Nom du stagiaire). indispensable : les trois critres Neige, NEIGE ou neige fonctionneront
de la mme faon.
La figure 11-2 reprsente notre requte en mode Contenu. Nous ny
voyons bien comme souhait que les participants lactivit Neige.
Noubliez surtout pas denregistrer les modifications en fermant la requte.
Figure 112
Les trois participants lactivit Neige
Figure 113
La saisie du critre paramtr Access
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 115
La saisie dun paramtre dune requte
Il est en gnral souhaitable de trier les rsultats dune requte selon un ordre fixe, afin
den faciliter la lecture et lanalyse.
Un tri se paramtre trs facilement en mode Cration/bauche : il suffit de choisir loption
Croissant ou Dcroissant sur la ligne Tri de la colonne du champ souhait. La figure 11-6
illustre sous Base le tri de notre requte StagiairesNeige selon le champ NumeroStagiaire.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 116 Le paramtrage dun tri dans une requte avec Base.
Figure 117
La saisie de deux critres OU (toutes les lignes
disponibles en dessous des critres dj saisis
peuvent recueillir des lignes OU)
Pour appliquer des critres sur plusieurs champs la fois, par exemple
SYNTAXE pour lister les participants de lactivit Goulottes ns avant le 01/01/
Suprieur , strictement suprieur ... 1990, il suffit de saisir les diffrents critres dans les colonnes des
Utilisez = accol > ou < pour spcifier ou champs concerns. La figure 11-8 illustre le paramtrage de la requte
gal : => ou =< listant les participants lactivit Goulottes ns avant le 01/01/1990.
Figure 118
Le paramtrage de critres
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 119 Les critres de chaque champ sont rpts sur chaque ligne Ou
EXHAUSTIF Lister tous les critres Utiliser les critres de slection volus
de slection disponibles
Les SGBDR proposent toute une panoplie de critres volus permet-
Nhsitez pas consulter laide en ligne de vos tant daffiner nos recherches. Il est impossible de tous les lister, tant ils
logiciels prfrs : sont nombreux. Le tableau ci-dessous en donne les principaux pour
Access : taper dans laide les mots cls
Exemple de critres de requte. Access, juste pour vous donner une ide de ce quil sera possible de faire
Base : taper dans laide le mot Critres puis avec de tels critres.
choisir la rubrique bauche de requte.
Tableau 111 Slection de quelques critres de slection volus (Access)
NbCar([NomStagiaire])<=7 Liste les stagiaires dont le nom comporte 10 Exclut Duchemin (8 caractres)
caractres ou moins
Nombre <=500 Renvoie les enregistrements dont la valeur Appliqu au champ NumeroStagiaire, renvoie les
du champ est infrieure ou gale 500 500 premiers inscrits
En (500, 600) Renvoie les enregistrements dont la valeur Appliqu au champ NumeroStagiaire, renvoie les
du champ est gale 500 ou 600 stagiaires compris entre le 500e et le 600e inscrit
Comme"*,99" Renvoie les enregistrements dont la valeur Pas dexemple dans notre base
du champ se termine par ,99
Date #23/03/1980# Renvoie les enregistrements dats du 23 Appliqu au champ DateNaissanceStagiaire, ren-
mars 1980 voie lenregistrement de Dupont Albert
PartDate("m", Renvoie les enregistrements des anniversai- Appliqu au champ DateNaissanceStagiaire, ren-
[DateNaissanceStagiaire]) = 3 res survenant en mars (troisime mois de voie lenregistrement de Dupont Albert
lanne)
Figure 1111
Illustration dune non-correspondance : Chlo
nencadre pas dactivit puisque son identi-
fiant de la table matre nest pas prsent dans
la table esclave.
Attention : ces donnes ne correspondent pas
celles du cas pratique...
Figure 1112
Louverture de lassistant Requte
de non-correspondance sous Access 2003
Figure 1114
La slection de la table de non-correspondance
Figure 1115
La slection du champ de non-correspondance
Figure 1116
Tous les champs de la table source
Guides sont slectionns.
Figure 1117
La fin de lassistant Requte de non-correspon-
dance (le nom de requte a t modifi)
Figure 1118
Seul Pierre Tairraz nencadre pas dactivit
Figure 1120
Seuls les numros de guide 1, 3 et 4
sont prsents dans la table Activites.
Le guide 2 est donc guide de secours.
Figure 1121
Le paramtrage de la requte de non-corres-
pondance en mode Cration
Figure 1122
La requte GuidesDeSecours en mode SQL
Nous y visualisons le code gnr SQL gnr par lassistant dans notre
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
exemple :
SELECT Stagiaires.NumeroStagiaire, Stagiaires.NomStagiaire,
Stagiaires.PrenomStagiaire, Stagiaires.DateNaissanceStagiaire,
Stagiaires.TelStagiaire
FROM Stagiaires LEFT JOIN Inscriptions
ON Stagiaires.[NumeroStagiaire] = Inscriptions.[NumeroStagiaire]
WHERE (((Inscriptions.NumeroStagiaire) Is Null))
Code Signification
SELECT Guides.NumeroGuide, Guides.NomGuide, Linstruction SELECT permet de spcifier les champs afficher.
Guides.PrenomGuide, Guides.BureauGuide Les noms de la table et du champ sont spars par un point (.) ; par
exemple, Guides.NumeroGuide signifie champ NumeroGuide de
la table des Guides .
FROM Guides LEFT JOIN Activites ON Guides.NumeroGuide Linstruction FROM dsigne la table matre du couple matre/esclave (ici
= Activites.NumeroGuide Guides).
Linstruction LEFT JOIN dsigne la table esclave (ici Activites).
Linstruction ON dsigne les champs mettant les deux tables en relation,
ici le champ NumeroGuide.
WHERE (((Activites.NumeroGuide) Is Null)) Linstruction WHERE permet dintroduire une condition dans notre code
SQL. La condition est ici que le guide de secours possde un Numero-
Guide qui ne se retrouve pas dans la table des Activites.
semblables.
La syntaxe dun code SQL Base diffre lgrement de celle de son
homologue Access. Nous allons donc commencer par rcrire le code
SQL de notre requte de non-correspondance avant de lappliquer une
requte vierge en mode SQL.
Nous allons maintenant crer une requte Base en mode SQL pour y
placer ce code. Et le tour sera jou...
Les clients ayant pass plus dune commande (il y a alors doublon sur
le champ NumeroClient de la table des Commandes).
Les chques encaisss par erreur deux fois dans les fichiers compta-
bles de lentreprise (il y a alors doublon sur le champ NumeroCheque
de la table des MouvementsComptables).
Dans notre cas pratique, nous allons chercher identifier les stagiaires
qui se sont inscrits plusieurs activits. Afin peut-tre de les chou-
chouter un peu plus...
Il est frquent dutiliser des donnes dj existantes pour crer une table Access ou Base,
notamment en important un tableau Excel ou Calc (page 150). Ces donnes peuvent par-
fois contenir par erreur des doublons sur un champ susceptible de devenir cl primaire.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Tant que ces doublons ne seront pas reprs et limins, cette opration ne sera pas pos-
sible puisquune cl primaire nadmet pas de doublon. Il sera alors trs utile dutiliser une
requte de recherche de doublons pour les isoler et les traiter.
Figure 1124
Le stagiaire n1 est inscrit quatre activits,
les n2 et n3 deux activits
et le n4 une seule.
Figure 1125
Choix de la table Inscriptions
qui est susceptible de contenir des doublons
Figure 1126
Le champ NumeroStagiaire
de la table Inscriptions contient les doublons
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 1127
Lassistant propose de rajouter
les autres champs de la table source
Figure 1128
Ne jamais oublier de changer le nom
par dfaut dune requte. Noter que
loption Modifier la structure est coche.
Figure 1129
Seuls les numros de stagiaires inscrits plusieurs activits saffichent
dans la requte de non-correspondance directement issue de lassistant Access.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Cliquer sur une cellule de la requte disposant dune liste de choix, figure 11-30, met en
vidence le fait quil soit possible de modifier les donnes de la requte. Nous en avonc
dj parl (page 245), mais il faut le rpter : utiliser une requte pour modifier les don-
nes est trs dangereux et ne doit tre rserv qu des cas exceptionnels, comme la
requte spcifique de saisie des inscriptions que nous avons dveloppe au chapitre .
Figure 1131
La table des Stagiaires napparat pas
dans les tables disponibles pour la requte.
Figure 1132
Lajout des tables manquantes
dans une requte en mode
Cration/bauche.
Ajouter les diffrentes tables
et cliquer sur Fermer.
DateInscription :
1 Cliquez sur NomStagiaire dans la table des Stagiaires.
2 Glissez-le au-dessus du champ DateInscription. TRUC Dplacer les colonnes dune requte
3 Relchez le clic. Pour dplacer les colonnes dune requte, il suffit,
La figure 11-34 montre la requte modifie dfinitive. Il suffit de lex- comme avec un tableur, de cliquer sur len-tte de
la colonne (donc du champ) et de la glisser o lon
cuter pour connatre la liste des trois stagiaires concerns, figure 11-35.
veut.
Noubliez pas de lenregistrer en la fermant.
Figure 1134 La requte dfinitive Rechercher les doublons. Remarquez le critre de slection pour le champ NumeroStagiaire.
Figure 1135
Les trois stagiaires inscrits plusieurs activits.
ALLER PLUS LOIN Le code SQL Access de notre requte de recherche de doublons
Le code gnr par lassistant Access de notre cas pratique est le suivant :
SELECT Inscriptions.NumeroStagiaire, Stagiaires.NomStagiaire,
Stagiaires.PrenomStagiaire, Inscriptions.DateInscription,
Inscriptions.NomActivite
FROM Stagiaires INNER JOIN Inscriptions
ON (Stagiaires.NumeroStagiaire = Inscriptions.NumeroStagiaire)
AND (Stagiaires.NumeroStagiaire = Inscriptions.NumeroStagiaire)
WHERE (((Inscriptions.NumeroStagiaire)
In (SELECT [NumeroStagiaire] FROM [Inscriptions] As Tmp
GROUP BY [NumeroStagiaire] HAVING Count(*)>1 )))
ORDER BY Inscriptions.NumeroStagiaire;
Sans entrer dans le dtail, il sanalyse ainsi :
SELECT... : spcifie les champs participant la requte ;
FROM... : dcrit les relations entre les tables de la requte ;
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
esclave)
Choix du champ de non-correspondance (cl NumeroGuide
primaire et secondaire)
Slection des champs afficher NomGuide et PrenomGuide
Fin de lassistant Noubliez pas de donner un nom significatif
la requte
Tableau 114 tapes pour la cration dune requte Rechercher les doublons (Access)
chapitre
SOMMAIRE
B Prendre en compte
une modification
Au menu de ce chapitre, le meilleur des requtes : jongler
du cahier des charges
avec les chanes de caractres pour des mailings impeccables,
B Crer des champs calculs
effectuer des calculs pour savoir qui nous doit de largent, etc.
B Raliser des synthses
Nous saurons ainsi crer des requtes contenant des champs avec une requte
calculs, un peu la manire dun tableur, mais dans une base B Organiser son travail
de donnes ! avec les requtes
MOTS-CLS
B Cascade de modifications
B Requte calcul
B Champ calcul
B Oprateur arithmtiques
B Concatnation de chane
de caractres
B Test logique VraiFaux()
B Requte de synthse Somme,
Minimum, Maximum, Moyenne
La prise en compte des cotisations selon les rgles que nous venons de
dfinir ont en fait trois consquences dans les tables de notre cas
pratique :
Le montant de la cotisation est fixe par activit ; cest donc dans la
table Activites que nous devons crer le champ Cotisation.
La ristourne potentielle est un droit personnel du stagiaire ; il faut
donc intgrer le champ Ristourne dans la table des Stagiaires.
Enfin, comme chaque stagiaire doit payer pour toute activit
laquelle il sinscrit, nous allons intgrer un champ CotisationOk (de
type Oui/Non) dans la table des Inscriptions, et par lequel nous spci-
fierons si le stagiaire est jour dans ses cotisations pour lactivit con-
cerne.
Le tableau ci-dessous rsume les modifications intgrer dans notre
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Nous aimerions probablement tester nos modifications sur une nouvelle version de la base
en gardant lancienne intacte afin de pouvoir y revenir le cas chant (si jamais par
exemple nous narrivions pas passer correctement nos modifications). Ou mme pour
grer sparment ces deux modles. Avec un tableur ou un traitement de texte, le plus
simple pour conserver des versions antrieures dun fichier est souvent dutiliser loption
Enregistrer sous du menu Fichier. Ce nest pas possible avec Access ou Base, car cette
option nest pas disponible. Il faut alors effectuer un copier/coller de la base dans lexplo-
rateur Windows et travailler sur la copie. Prcisons quil faut alors tre trs vigilant quant
la gestion de ces copies, et quen particulier, ds que les tests sont termins, il faut sup-
primer toute version nayant plus dutilit : le risque de confusion est trop important.
Figure 121 Le champ Cotisation dans Access Figure 122 Le champ Ristourne dans Access
Figure 123 Le champ CotisationOk dans Access Figure 124 Le champ Cotisation dans Base
Figure 125 Le champ Ristourne dans Base Figure 126 Le champ CotisationOk dans Base
Figure 127
Lajout du champ Cotisation
dans le formulaire Activites en mode Cration
Figure 128
Loutil Liste des champs
dun formulaire en mode Cration
Sous Base :
1 Ouvrez le formulaire en mode bauche.
2 Ouvrez le volet Liste des champs avec loutil Ajouter des champs
(figure 12-9).
3 Glissez le champ souhait lendroit voulu du formulaire.
4 Positionnez et dimensionnez finement le contrle.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 129
Loutil Liste des champs
dun formulaire en mode bauche
Reste enfin, une fois les tables et les formulaires mis niveau, actua-
liser les donnes. En situation relle, avec des tables dj alimentes de
nombreux enregistrements, reprendre un par un chaque enregistrement
de chaque table pour alimenter un champ additionnel peut rapidement
tre fastidieux, beaucoup plus en tout cas que si le champ avait t
intgr ds le dpart au dessin de la base de donnes. Cette simple cons-
tatation confirme quel point ce type de situation est viter.
En ce qui concerne notre cas pratique, saisissez donc dans les champs
Cotisation (table Activites) et Ristourne (table des Stagiaires) les don-
nes de la page 285. Utilisez cet effet soit les formulaires rectifis soit
les tables en mode Contenu. Concernant le champ CotisationOk (de
type Oui/Non) de la table des Inscriptions, la figure 12-10 dtaille les
donnes que nous vous proposons de saisir dans votre base.
Figure 1210
La table Inscriptions en mode Contenu.
Le champ CotisationOk coch signifie
que la cotisation a t rgle.
tables, soit partir dautres champs calculs. On peut ainsi crer, exacte-
ment comme sous tableur, une chane de calculs en cascade. Par
exemple, partir du montant total de la livraison pour un produit, on
pourra calculer sur la mme requte (ou sur une autre) le montant d par
le client en faisant intervenir le taux de ristourne auquel ce client a droit.
Les chanes de calcul et leurs possibilits sont vritablement trs tendues,
et il est impossible de les lister toutes. Nous avons choisi de vous prsenter :
une requte de calcul arithmtique ;
une requte de manipulation de texte ;
une requte de calcul avec test conditionnel.
Mais, avant de dtailler la cration de ces trois exemples, prenons quel-
ques instants pour savoir comment crer une requte calcul avec un
champ calcul.
Figure 1211
Un exemple de cration de champ calcul
Remarquez sur cette figure 12-11 que les noms de champs participant au
calcul du champ calcul apparaissent entre crochets [ ]. Par ailleurs, sur
la ligne Table, aucun nom de table napparat pour le champ calcul parce
que ce champ nappartient aucune table (il vient juste dtre calcul ici).
Avant daborder la cration dun champ calcul, terminons cette prsen-
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 1212
La saisie du champ calcul
Access : le nom du champ suivi
de : et de la formule
de calcul, le tout sans espaces
Il suffit ensuite de cliquer sur une case vide de la requte, par exemple
juste en dessous. La formule est alors valide et modifie : des espaces
sont insrs et les noms de champs sont mis entre crochets, comme sur la
figure 12-13. Le code dorigine devient CotisationRistournee:
[Cotisation]*(1-[Ristourne]).
Figure 1213 Laspect dfinitif dun champ calcul Access, avec les noms de champs entre crochets
Figure 1214
Le champ CotisationRistournee
montre bien une cotisation
allge de 10 % pour
Josette Duchemin.
Depuis le dbut de notre tude des SGBDR, nous avons scrupuleusement respect la rgle
dor : des noms de champs sans espaces. Nous en voyons la justification lors de la saisie
des formules.
Dans notre exercice, la syntaxe relle dAccess exige des crochets [ ] autour des noms de
champs. Ce nest que parce que nous avons utilis des noms de champs sans espaces que
nous avons pu nous dispenser de saisir ces crochets et quAccess les a rajout lui-mme.
En dautres termes, si le champ Ristourne stait appel par exemple Taux de ristourne
(avec des espaces dans le nom de champ), il aurait fallu saisir la formule comme ceci, avec
les crochets :
CotisationRistournee:[Cotisation]*(1-[Taux de ristourne])
Crer des noms de champs sans espaces simplifie donc sensiblement la saisie des for-
mules de champs calculs !
Figure 1215 La syntaxe dun champ calcul Base : les noms de champ entre , le nom du champ calcul sur la ligne Alias
Figure 1216
Les proprits dun champ calcul (ici, format sans dcimale)
Figure 1217
Ce message qui apparat lorsque la requte est excute
signifie que le champ Ristourne est inconnu. Normal,
on a oubli le s de Ristourne dans la formule.
SMANTIQUE Champ Oui/Non Reste enfin, dans notre cas pratique, ne slectionner que les cotisations
sous Access et Base
impayes, car la requte actuelle liste toutes les cotisations, payes ou
Sous Access, le critre Oui slectionne les enregis- non. Il suffit de modifier la requte MauvaisPayeurs en spcifiant, pour
trements pour lesquels le champ Oui/Non corres-
pondant est Oui (case coche), et Non linverse.
le champ CotisationOk, le critre Non pour Access (figure 12-18) et 0
Sous Base, le critre 1 slectionne les enregistre- pour Base (figure 12-19). La figure 12-20 donne le rsultat de la requte
ments pour lesquels le champ Oui/Non correspon- modifie avec uniquement les cotisations dues ce jour. Nous navons
dant est Oui (case coche), et 0 linverse. plus qu prendre notre tlphone !
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 1218 Access : le critre Non filtre un champ Oui/Non la valeur Non (case non coche).
Figure 1219 Base : le critre 0 filtre un champ Oui/Non la valeur Non (case non coche).
Figure 1220 La requte des mauvais payeurs termine (sous Base) : seules les cotisations ristournes encore dues apparaissent.
Figure 1221
La concatnation
de deux champs de type Texte
Une des grandes joies des tableurs est la clbre fonction Si() qui permet
de raliser des tests conditionnels du style Si... alors...sinon... . Un
must parmi les must. Son quivalent Access sappelle (ne nous
demandez pas pourquoi) VraiFaux(). Sa syntaxe est semblable son alter
ego Excel Si() : VraiFaux(Test;ValeurSiVrai;ValeurSiFaux) dans
laquelle :
Test reprsente le test logique (vrai ou faux) effectuer.
ValeurSiVrai reprsente la valeur que la fonction VraiFaux() doit
retourner si le test est vrai.
ValeurSiFaux reprsente la valeur que la fonction VraiFaux() doit
retourner si le test est faux.
Figure 1225
Louverture du gnrateur dexpression
Access 2003
Figure 1226
Le dtail du code dun champ calcul avec la fonction VraiFaux()
Dans la formule de la figure 12-26, les seuils et les pourcentages sont entrs comme des
valeurs numriques. Le jour o les conditions de commissionnement changent, il faudra
changer la formule, sauf si, dans la formule, on fait directement appel une table avec les Figure 1227
champs spcifiques Seuil (gal 25 000 ), TauxSiInferieur (gal 1 %) et TauxSiSupe- La commission est bien calcule
rieur (gal 5 %) en entrant le code Commission:VraiFaux([CA]<[Seuil]; selon les rgles fixes
[CA]*[TauxSiInferieur];[CA]*[TauxSiSuperieur]). Il suffira alors de
changer la valeur des champs pour mettre jour automatiquement tous les calculs qui en
dpendent, ce qui est beaucoup plus logique et rapide.
Dans notre cas pratique, nous allons exprimenter cette fonction Vrai-
Faux() pour rsoudre dune autre manire un problme dont nous avons
dj trouv une solution. Vous vous rappelez certainement, dans le calcul
des cotisations, que certains stagiaires ( Josette Duchemin en loccur-
rence) bnficient de 10 % de rduction sur leur cotisation.
Nous avons rsolu cet exercice en crant un champ Ristourne dans la
table des Stagiaires et en crant un champ calcul gal Cotisation * (1
Ristourne). La fonction VraiFaux() offre une alternative cette faon
Figure 1228
Une application de la fonction
VraiFaux() pour calculer une ristourne
Il suffit cet effet de crer une nouvelle requte en mode Cration (figure
12-28) avec les champs NumeroStagiaire, NomStagiaire, PrenomStagiaire,
DateInscription, NomActivite, Cotisation et dy ajouter le champ calcul
CotisRistournee selon le code spcifi. Remarquez le nom du champ utilis
pour viter toute confusion avec le champ CotisationRistournee dj calcul,
page 294. La figure 12-29 montre les rsultats de cette requte qui sont bien
videmment conformes celles de la page page 294.
Figure 1229
Seule Duchemin Josette
bnficie dune ristourne
Figure 1230
Slectionner loption Synthse et cliquer
sur le bouton Options de synthse (sinon
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
OBSERVEZ
Les diffrentes options de synthse Le paramtrage des options de synthse est trs simple : il suffit de
Access propose de calculer Somme, Minimum, dterminer lopration effectuer ainsi que le champ auquel elle sera
Maximum ou Moyenne pour chaque champ num- applique. Cochons ici Somme dans la colonne du champ CotisationRis-
rique. Il est possible galement de compter le tournee, figure 12-31. Validons notre choix par Ok, la bote de dialogue
nombre denregistrements.
de la figure 12-30 saffiche nouveau.
Figure 1231
Le choix des options de synthse
Figure 1232
La requte de synthse
des mauvais payeurs : le total
par stagiaire, sans le dtail.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 1233 Loutil et la ligne Oprations dans une requte Synthse en mode Cration
Il se trouve dans la barre doutils (figure 12-34), juste gauche de loutil Ajouter une table.
Nous nous apercevons ainsi que nous aurions trs bien pu crer cette
requte en mode Cration. Il aurait suffi dy insrer tous les champs
ncessaires de la requte source, de cliquer sur loutil (pour afficher la
ligne Opration) et de slectionner les paramtres de la figure 1233.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
telle et telle date ou encore, dans notre cas pratique, les stagiaires qui
ne se sont plus inscrits une quelconque activit depuis telle date).
Lintrt de cette manipulation est alors dallger les tables des don-
nes qui nont plus dutilit relle.
les requtes Ajout ont un fonctionnement oppos celui des prc-
dentes. Au lieu denlever des enregistrements dune table, elles per-
mettent den ajouter, par exemple en provenance dune autre table,
dune requte, ou mme de donnes externes.
Figure 1236
En haut, la requte Ajout extrait les clients
anciens pour les archiver et la requte
Suppression limine ceux de Gorgie.
En bas, il ne reste que deux tables, les clients
rcents et les clients anciens ; les clients
gorgiens sont dfinitivement limins.
Figure 1237
Des champs calculs un peu partout,
cest la pagaille
chapitre
SOMMAIRE
B Crer un tat/rapport
en trente secondes
Ce chapitre conclut notre tude des bases de donnes
relationnelles par les tats et les rapports, objets indispensables B Crer un tat de synthse
avec Access
pour visualiser, diter et imprimer de faon professionnelle
B Modifier un tat existant
tables et requtes. avec Access
MOTS-CLS
B Assistant cration dtat/rapport
B Niveaux de regroupement
B tat de synthse et options
de synthse
B Mode Cration dun tat
B Zones en-tte/pied dtat,
en-tte/pied de page,
en-tte/pied de groupe, dtail
B Contrle et tiquette de
contrle : cration, suppression,
modification, redimensionne-
ment, dplacement
B Proprit dun contrle
B Rapport statique et dynamique
Les requtes que nous venons dapprendre crer sont puissantes et perfor-
mantes, certes. Mais elles prsentent un inconvnient majeur : leur lisibilit
est trs discutable. Prenons lexemple de notre requte StagiairesParActivi-
teParGuide de la figure 13-1 : il nest pas trs facile de la lire, surtout si on
limagine avec cinq cent enregistrements... Et cette abscence de lisibilit se
retrouve galement pour toute table en mode Cration.
Cest l quinterviennent les tats/rapports. Ils permettent de crer, partir
de tables ou de requtes, de superbes tats de prsentation laspect pro-
fessionnel et parfaitement lisibles, destins la visualisation sur cran ou
limpression. La figure 13-2 illustre un tat cr en trente secondes partir
de la requte de la figure 13-1. Apprciez la diffrence...
Nous apprendrons dans ce chapitre crer rapidement un tat avec
lassistant. Nous dcouvrirons les techniques pour agrmenter sa prsen-
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
tation. Enfin, nous utiliserons lassistant tat Access pour crer un tat
de synthse, avec des totalisations de donnes numriques.
Figure 131
Une requte nest pas trs lisible
Figure 132
Un tat/rapport est bien plus lisible
que sa requte source
Figure 133
Tous les champs de la requte
StagiairesParActivitesParGuides
sont slectionns pour cet tat.
Figure 134
Lassistant Cration dtat Access comprend
la structure de la requte source et propose
automatiquement des niveaux
de regroupement adapts.
Figure 135
Lassistant Access offre la possibilit dajouter
de nouveaux niveaux de regroupements.
Figure 136
Les stagiaires participant une activit
encadre par un guide seront tris
par numro croissant.
Quand un tat est paramtr avec des niveaux de regroupement, les valeurs des diffrents
niveaux de regroupement vont seffectuer en ordre croissant selon le champ utilis comme
niveau de regroupement. Par exemple, dans notre tat, les guides, objet du premier
niveau de regroupement, vont tre tris par ordre croissant de NumeroGuide, puisque ce
champ a t utilis comme champ de regroupement. Bien entendu, ce paramtrage par
dfaut est modifiable en ouvrant ltat en mode Cration.
Le paramtrage du tri en cours dassistant cration dtat (dont nous parlons ici) ne con-
cerne que les enregistrements qui figureront dans la section Dtail de ltat (ici, les don-
nes des Stagiaires, dernire table ayant t slectionne dans la requte source).
Concrtement, dans notre exemple dtat, selon le paramtrage de regroupement et de
tri que nous venons dappliquer :
Les Guides seront tris par ordre de NumeroGuide croissant.
Les activits dun guide seront classes par ordre alphabtique croissant sur NomActivite.
Enfin, les stagiaires participant une activit seront classs par ordre de NumeroStagiaire.
Figure 137
Les choix idaux dans la prsentation
dun tat dans la plupart des cas
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
ACCESS 2003 Choix du style dtat Il sagit ensuite de choisir le style du futur tat. Difficile dapporter des
Access 2003 offre sensiblement moins de choix de conseils ce stade, chaque prsentation particulire tant plus ou moins
style dtat. Ce nest pas forcment rdhibitoire... adapte ses gots propres, au contexte de lentreprise (stricte ou dcon-
tract) ou encore au type de donnes prsenter. Testez les diffrentes
possibilits puis cliquez sur Suivant.
ACCESS 2007 Mode tat Le dernier cran de lassistant (figure 13-8) sert nommer ltat et
ou Aperu avant impression
choisir son mode douverture (pour le modifier ou pour le visualiser).
Access 2007 ouvre par dfaut un tat en mode Pour le premier point, lidal est de donner ltat le nom de la requte
tat, mode qui nest pas ncessairement le plus
dont il dpend : il sera ainsi beaucoup plus facile didentifier la requte
pratique. Il est plutt conseill de demander son
affichage en mode Aperu avant impression, qui source dun tat particulier quand il sagira dy apporter des modifica-
donne une vision beaucoup plus synthtique de tions. Enfin, puisque nous sommes curieux den voir tout de suite le
ltat. cet effet, par un clic droit sur un tat du rsultat, choisissons loption Aperu de ltat comme sur la figure 13-8.
volet de navigation, accdez loption Aperu Il suffit maintenant de cliquer sur Terminer, et cen est fini de la cration
avant impression.
de notre tat.
Figure 138
Il est trs important de renommer ltat
dun nom efficace, par exemple
du nom de la requte source
Figure 139
Ltat directement issu de lassistant
cration dtat (Access 2007)
Figure 1310
Aperu avant impression
de ltat Access 2003
port. Cest une exclusivit Base (avec Access, il faut modifier manuelle-
ment les tiquettes en mode Cration). Cette option permet de
remplacer les noms de champs par des tiquettes plus lisibles et plus
esthtiques comme nous lavons fait dans la figure 13-11.
Figure 1311
La modification des tiquettes
dun rapport avec lassistant Base
Figure 1312
Le paramtrage des niveaux de regroupement
nest pas automatique pour un rapport Base.
Figure 1313
Les paramtres classiques
de composition dun rapport Base
que peu dintrt, Base ne prenant alors en compte que les donnes pr-
sentes au moment de la cration du rapport, sans prendre en compte les
modifications ultrieures : prfrer donc sans hsiter loption Rapport
dynamique. Enfin, nous avons le choix de visualiser le rapport immdia-
tement ou de louvrir en mode bauche. Comme nous sommes curieux
du rsultat, choisissons loption Crer un rapport maintenant.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Figure 1314
La cration finale du rapport
avec lassistant Base
Figure 1318 La requte des mauvais payeurs ne fournit pas le montant d par chacun (elle nest dailleurs mme pas trie par stagiaire).
Notre tat sera bas sur la requte des MauvaisPayeurs, puisque celle-ci
effectue le calcul de la cotisation diminue de la ristourne et ne slec-
tionne que les cotisations non rgles.
Stricto sensu, nous pourrions parfaitement intgrer lensemble des
champs de cette requte ltat. Cependant, lexprience montre que
plus un tat comporte de champs, moins il est lisible. Essayons donc
dtre plus slectifs dans notre choix de champs intgrer ltat. Dans
notre exemple, certains champs de la requte sont inutiles dans ltat :
Le champ CotisationOk est indispensable la requte des mauvais
payeurs (pour effectuer le filtre sur les cotisations qui ne sont pas
jour), mais il ne lest plus dans ltat parce que la slection sera ex-
cute par la requte en amont.
Le champ Cotisation nest prsent dans notre requte que pour per-
mettre de calculer le champ CotisationRistournee, sa prsence alour-
dirait inutilement notre tat.
Nous vous proposons donc dintgrer dans ltat les seuls champs
suivants :
NumeroStagiaire, NomStagiaire, PrenomStagiaire et Ristourne
(pour comprendre pourquoi sa cotisation ne correspond pas au tarif
normal) ;
DateInscription et NomActivite ;
et enfin CotisationRistournee.
Nous pouvons maintenant lancer lassistant de cration dtat comme
expos prcdemment. La premire tape consiste en la dtermination
des champs participant ltat, indiquons-y les champs que nous venons
de dterminer. Les tapes suivantes ncessitent quelques commentaires.
Figure 1319
Aucun niveau de regroupement nest demand. Cliquer
sur la flche > rajoutera un regroupement selon le champ
slectionn gauche, ici NumeroStagiaire, figure 13-20.
Figure 1320
Nous venons de cliquer sur la flche > de la figure 13-19.
Le champ alors slectionn gauche est maintenant utilis
comme niveau de regroupement.
ristourne ventuelle) se trouvent isols en dessous, avait des sous-activits). Les outils et servent alors permuter lordre des regroupe-
ce qui obligera effectuer une modification ments, NumeroStagiaire puis NomActivite ou NomActivite puis NumeroStagiaire. Remar-
manuelle de ltat une fois quil sera cr. quez galement que les autres champs relatifs au stagiaire (nom, prnom, ristourne) sont
encore plus mal placs que prcdemment...
Concernant les calculs de synthse de notre cas pratique, nos totaux par
stagiaire, il faut faire appeler la bote de dialogue spcifique ; cliquons
cet effet sur le bouton Options de synthse... pour faire apparatre la bote
de dialogue de la figure 13-23. Elle nous propose de choisir, parmi les
oprations disponibles, celle que nous dsirons appliquer aux champs
numriques quelle a dtect dans la requte source. Remarquez gale-
ment la possibilit de nafficher que ce calcul ou encore celle dditer en
prime les % du total. Contentons-nous, en ce qui nous concerne, de
reproduire laffichage de la figure 13-23.
Figure 1323
Une totalisation par Somme est demande pour ldition du dtail
et de la synthse du champ CotisationRistourne.
Figure 1325 Les principaux dfauts dun tat gnr automatiquement par lassistant :
titre peu lisible, parpillement des donnes, alignements discutables, lignes de totalisation formates trangement
Notre tat comporte sept zones horizontales les unes sous les autres :
Len-tte dtat qui napparat quune fois en haut de ltat.
Len-tte de page qui apparat en haut de chaque page.
Len-tte de groupe (uniquement si il y a un niveau de regroupement).
Si il y a plusieurs niveaux de regroupements, il y aura autant de couples
en-tte de groupe/pied de groupe que de niveaux de regroupements.
La zone Dtail (qui contient les enregistrements de ltat).
Le pied de groupe (si il y a un en-tte de groupe).
Le pied de page qui apparatra en bas de chaque page.
Le pied dtat, qui napparatra quune seule fois en bas dtat.
Figure 1326 La structure des diffrentes zones dun tat en mode Cration avec Access
Afin damliorer la prsentation dun tat, ses contrles peuvent tre Il nest pas facile darriver du premier coup modi-
fier un tat sans faire de mauvaise manipulation. Il
slectionns, modifis, dplacs, redimensionns et supprims.
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Dplacer un contrle
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Tableau 132 Crer un tat avec regroupement et calcul sur donnes numriques avec Access
Les outils que nous vous avons propos en matire de modlisation sont inspirs de la
mthode Merise, mthode globale dapproche des systmes dorganisation. Cette
mthode a eu son heure de gloire dans les annes soixante. Elle na pas eu de vritable
successeur, du moins dans notre environnement franco-franais, au point que, malgr une
certaine dsaffection, elle sert encore de rfrence dans le milieu enseignant pour ses
qualits pdagogiques videntes. Vous pourrez utilement vous rfrer quelques sites
dinformations sur cette mthode :
http://www.commentcamarche.net/merise/concintro.php3
http://sqlpro.developpez.com/cours/modelisation/merise/
http://fr.wikipedia.org/wiki/Merise_(informatique)
Figure A1
Le schma thorique de lcole de parapente
Ce schma comporte, de plus, non pas un mais deux nombres cls entre
chaque cercle et chaque rectangle. Le seul nombre cl dont nous avons
parl jusqu prsent correspond au second nombre. Pour comprendre
quoi correspondent ces nouveaux couples, commenons par expliquer
celui entre Pilote et Vol : 1,N.
* Cette double relation est dun type particulier, un et un seul : chaque para-
pente du club correspond un et un seul modle de la fdration.
chacun de voler sur son parapente personnel) et une seconde fois toujours
Pilote par Parapente (pour permettre dutiliser un parapente du club).
Sil tait obligatoire dutiliser un parapente du club, le schma thorique
serait celui de la figure A2, sans boucle cette fois-ci.
Figure A2
Une organisation diffrente de lcole
supprime la boucle du schma thorique.
Figure A3
Le schma rel de lcole de parapente
comporte exceptionnellement une boucle.
Nous allons, dans cette annexe, rflchir aux problmes poss par le
fichage informatique des donnes personnelles, aux obligations lgales
dun gestionnaire de base de donnes et aux droits de chaque citoyen
face lutilisation de ses donnes personnelles.
La loi intervient, et cest heureux, pour encadrer le traitement des bases
de donnes et en viter une utilisation abusive ou attentatoire aux
liberts individuelles ou lordre public. Chacun a en mmoire ces
affaires troubles de fichage de candidats des offres demploi selon des
critres de race ou de nationalit. Parler des bases de donnes informati-
ques ne pouvait se faire en omettant dvoquer les obligations et les
droits de chacun en la matire.
La CNIL est lautorit de contrle franaise en matire de protection des donnes person-
nelles. Son site, trs bien fait, regorge dune multitude dinformations tout fait pratiques
pour tout citoyen responsable. http://www.cnil.fr.
le droit dopposition ;
le droit daccs ;
le droit de rectification.
Le non-respect de ces droits est sanctionn pnalement.
(Source CNIL) En cas de difficult dans lexercice de vos droits, vous pouvez saisir la
B http://www.cnil.fr/index.php?id=21 CNIL.
Le droit linformation
Toute personne a le droit de savoir si elle est fiche et dans quels fichiers
elle est recense.
Maintenant, face ce droit, la ralit pose de nombreuses limites. Comment
un individu peut-il savoir qui stocke des donnes le concernant, surtout si
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
Le droit dopposition
Ce droit dopposition est beaucoup plus puissant. Il stipule que :
Chacun peut sopposer, pour des motifs lgitimes, figurer dans un
fichier (sauf dans un fichier lgal comme les fichiers dtat civil, fis-
caux, militaires, lectoraux, judiciaires, etc).
Chacun peut sopposer, sans avoir se justifier, figurer dans un
fichier de prospection commerciale.
Concrtement, cela veut dire que si vous tes importun par des dmar-
chages commerciaux non sollicits, vous tes en droit dexiger de lmet-
teur quil cesse.
Le droit daccs
Toute personne justifiant de son identit a le droit dinterroger le res-
ponsable dun fichier ou dun traitement pour savoir sil dtient des
informations sur celle-ci et, le cas chant, den obtenir communication.
Ce droit, consquence immdiate du droit dinformation, est l encore
bien thorique. Qui interroger quand on ne sait pas qui dtient des
informations personnelles sur soi ? Qui plus est, la loi stipule que ce
droit ne sexerce pas si la demande est manifestement abusive ou si les
donnes sont conserves sous une forme ne prsentant aucun risque
datteinte la vie prive ou pendant une dure nexcdant pas celle
ncessaire ltablissement de statistiques.
Vous ne voulez plus recevoir de publicits. tion abusive de donnes personnelles, un pros-
Vous ne voulez plus recevoir de coups de tlphone ou de SMS non pectus dpos dans votre bote aux lettres constitue
une dmarchage non sollicit. Si vous voulez vous
sollicits. en dbarasser, demandez votre mairie lautocol-
Vous voulez tre radi dun fichier. lant officiel apposer sur votre bote. Il remplacera
aventageusement le pige souris...
Vous vous opposez la cession de vos donnes personnelles.
Voici ce que vous pouvez faire :
Demander votre inscription auprs de votre oprateur tlphonique
en liste orange. Nul ne pourra alors utiliser votre numro pour un
phoning. Notez quen ce cas seule sera interdite lutilisation de votre
numro provenant dun fichier de prospection commerciale ; on
pourra continuer vous tlphoner en utilisant simplement
lannuaire (sauf si vous demandez votre inscription en liste rouge,
puisque vous ne figurerez plus sur lannuaire). Remarquez ce sujet
que linscription en liste rouge est payante et quelle entre donc en
contradiction avec le principe de gratuit de lexercice de vos droits.
Rien nest vraiment trs simple ds quon aborde ce type de sujet...
tre vigilant sur Internet et cocher systmatiquement la case stipu-
lant que vous vous opposez lutilisation de vos donnes par le res-
ponsable du site ou ses partenaires. Le souci est que cette case,
normalement obligatoire, est souvent bien cache.
Rpondre aux courriels et aux textos non sollicits en demandant expli-
citement que vous souhaitez ne plus en recevoir. Le contrevenant, sil
persiste, sexposera des poursuites, contactez une association de con-
sommateurs ou directement la CNIL. Bien entendu, cette remarque ne
sapplique pas aux spams auxquels il ne faut jamais rpondre !
Utiliser le gnrateur de courrier de la CNIL (http://www.cnil.fr/
index.php?id=1651) qui offre plusieurs modles de lettre pour appuyer sa
demande de faon plus officielle, figure B1.
Figure B1
Le modle de courrier officiel de la CNIL
SPAMS Conduite tenir face aux spams Ne jamais ouvrir un spam. Pour ce faire, Outlook et Thunderbird
proposent une option trs utile consistant ne tlcharger que les
Les spams sont ces courriels non sollicits qui inondent votre bote aux
en-ttes des messages. Il suffit alors de les consulter pour sup-
lettres lectronique. Ils sont en gnral facile reconnatre : ds quon
primer trs rapidement les spams. Vous ne tlchargez ensuite
vous promet fortune, gloire, beaut ou satisfaction sexuelle ahuris-
que le contenu des messages qui vous intressent.
sante, ou que lon vous propose des Rolex ou des Cartier au prix dune
Paramtrer votre logiciel de messagerie pour ne recevoir que les
Swatch, ou encore quon vous demande de fournir numro et code de
messages provenant de contacts rpertoris dans votre carnet
carte bleue parce que votre banque les a perdus, mfiance mfiance !
dadresse (dans ce cas, attention : si un inconnu vous adressait
Inutile dans ce cas de vous adresser la CNIL pour faire cesser ces e-
une message important, vous nen seriez pas averti...).
mails, pour la simple raison que ces spams vous parviennent parce que
Utiliser plusieurs adresses, par exemple une pour votre travail,
votre adresse lectronique a t vole ou mme simule. Interdiction de
une pour vos amis et une autre pour laisser vos coordonnes sur
rpondre en demandant leur arrt, cela confirmerait lexpditeur que
Internet dans les sites dachat en ligne ou autres.
votre adresse est valide, ce qui multiplierait encore les spams.
Ne jamais laisser son adresse sur un site douteux, ne la confier
Ce qui motive les spammeurs ? Ce qui fait tourner le monde depuis lori-
qu des sites ayant pignon sur rue.
gine, lappt dun gain facile et le simple plaisir dennuyer son prochain.
Ne jamais laisser son adresse son son site perso ou son blog, ou
On peut regretter la mollesse avec laquelle les fournisseurs daccs
alors en la modifiant par un trucage du style
Internet luttent contre cette plaie. Le problme nest certainement
robert.marcelENLEVER_CES_CARACTERES@toto.fr. Votre interlo-
techniquement pas simple, tant les spammeurs rivalisent dingnio-
cuteur comprendra quil ne doit utiliser que robert.marcel@toto.fr,
sit pour maquiller leurs envois (par exemple en remplaant pnis
un robot de recherche malententionn et un peu primaire, non.
pas pn!s ). Continuer pourtant recevoir des messages dont
Utiliser une adresse maquille. Si vous avez un nom trs rpandu,
lobjet est Sales 75% OFF Pfizer ou Patek Philippe Watches
John Smith ou Jean Martin, sachez quil existe des gnrateurs
jette un doute sur la volont des FAI lutter contre ces spams.
dadresses qui essayent ce type dadresses par combinaison auto-
Que faire face cette huitime plaie de linformatique :
matique de caractres et de noms. Rusez donc en transformant
Utiliser un filtre antispam ou utiliser Mozilla Thunderbird la
votre adresse par john_smmith@titi.de ou jeean.maartin75@toto.fr.
place dOutlook.
Mais il nexiste pas de recette miracle ! Le jour o votre bote aux let-
Ne jamais rpondre un spam.
tres sera submerge de spams, ce qui est quasiment invitable, il ne
vous restera qu arrter de la consulter et en changer.
G (Excel 2007) 36 O
gnrateur dexpression 298 Voir filtre 4, 49, 50, 51, 53, 55, 57 objets 101
graphique crois dynamique 80, 84 Voir fonction 42, 68, 70 ouvrir une base de donnes 128
Voir graphique crois dynamique 80,
I 84 P
importer Voir rgle 19, 24, 25, 26, 28, 29 PartDate() 262
carnet dadresses 155 Voir sous-total 60, 61, 64, 66 Pas comme 262
donnes 150 Voir tableau crois dynamique 71, 72, phrase cl 110
Index 181 74, 75, 77, 79, 80 proprit
integer 141 Voir tri 43, 44, 47 case cocher 286
intgrit rfrentielle pourcentage 286
Access 183, 185 M proprit de champ
Base 188 Maintenant() 169 chane vide autorise 144
matre (table) 97 cl primaire, dfinir 142
L masque de saisie 137 date 145
Les comptoirs (base exemple) 96 limiter liste 174
Ce document est la proprit exclusive de bagi alfred (chrbl6192@gmail.com) - 26 Octobre 2009 12:30
mmo 145
limiter liste 174 menu daccueil 218 masque de saisie 137, 145
liste de choix Merise 333 mmo 145
avec un formulaire Base 210 mettre jour en cascade... 185 null interdit 137
limiter (Access) 173 mise en forme conditionnelle de liste de numrotation automatique 136, 141
manuelle (Access) 171 donnes 32 tlphone 148
par rapport une table (Access) 175 mode texte 144
valeur par dfaut 174 types 142
assistant 256
liste de donnes proprits dun contrle dtat 327
Contenu 156
acclrer sa saisie 46
Cration 156
cas pratique 8 R
cration 256
dfinition 18 rapport
bauche 256
effacer la mise en forme conditionnelle assistant cration 316
page 208
(Excel 2007) 36 dynamique 317
filtrer 50 SQL 256 niveaux de regroupement 316
filtres volus 52 modlisation statique 317
format conditionnel (Calc) 38 nombre cl 115 recherche de doublons 271
identifier les valeurs extrmes (Excel phrase cl 110 rgle
2007) 34 relation 118 annulation 29
insrer un saut de page (Calc) 68 schma rel 114 applicable un nombre 26
isoler un lment (Excel 2007) 33 schma thorique 109 de construction 19
limiter les entres aux valeurs dune modifier de validation 24
liste 27 donnes 227 personnalise 28
limites 90 formulaire 205 relation 94, 118
message derreur 30 requte 234
messages daide la saisie 29 N ajout 237
mise en forme conditionnelle 32, 37 NbCar 262 assistant Access 238
mode de saisie assiste 22 niveaux de regroupement calcul 291
numroter les lignes 21 tat 312 calcul arithmtique 292
surlignage automatique (Excel rapport 316 case cocher 296
2007) 23 nom de champ 135 champ calcul 291
totalisation par slection de cellules 61 nombre cl 115 combinaison de critres 260
trier 44 non-correspondance 262 critres de slection 262
selon un ordre personnalis 44 Northwind (base exemple) 96 filtre 245
sur plusieurs champs 47 null interdit 137 mode Contenu 244
visualiser un lment dans une srie numrotation automatique 136, 141 mode Cration/bauche 241