Professional Documents
Culture Documents
Sommaire
CHAPITRE 1 ACCESS 2007, BASE DE DONNEES ET OBJETS _________________ 3
FONDAMENTAUX OFFICE 2007 ________________________________________________________________________ 3
1. ACCESS, ACCEDER _____________________________________________________________________________________ 3
2. ACCESS EST UN SGBDR _______________________________________________________________________________ 3
3. LA BASE DE DONNEES : UN DOMAINE, UN FICHIER _______________________________________________ 4
4. BASE DE DONNEES ET OBJETS _______________________________________________________________________ 4
5. CREER, FERMER, OUVRIR UNE BASE ________________________________________________________________ 5
6. LE VOLET DE NAVIGATION DACCESS 2007 ________________________________________________________ 7
7. PARAMETRAGE DU LOGICIEL ________________________________________________________________________ 9
10
11
13
13
14
16
18
18
18
52
52
55
58
61
72
74
75
76
78
79
81
81
86
86
87
90
1. ACCESS, ACCEDER
Access est un logiciel qui permet daccder rapidement aux informations souhaites
concernant des ensembles de donnes. Ce programme est dautant plus utile que les donnes
grer sont nombreuses, donc difficiles traiter la main .
Extension
Les fichiers de bases de donnes cres sous Access 2007 portent communment
lextension .accdb. Ce sigle signifie access database, cest--dire base de donnes Access.
Exemple : bibliotheque.accdb.
Sous Access 2003, les fichiers de bases de donnes ont lextension .mdb. Ce sigle signifie microsoft
database, cest--dire base de donnes Microsoft.
Exemple : bibliotheque.mdb.
Les tables
Les tables constituent les lments essentiels. Elles sont la charpente de la base.
Chaque table reprsente un ensemble homogne de donnes.
Exemple : la base de donnes concernant la facturation des clients dune entreprise
pourra contenir les tables Client, Produit, Facture et Commande.
Les requtes
Dans le langage courant, faire une requte consiste demander quelque chose.
Dans une base de donnes, on ralise principalement des requtes pour interroger la base
afin de slectionner et dobtenir les informations souhaites (requtes de slection).
Exemple : dans la base de donnes de facturation dune entreprise, on peut effectuer
une requte afin dobtenir la liste des clients ayant pass une commande dans lanne en
cours.
On peut galement crer une requte pour agir sur les valeurs ou sur les tables de la
base (requte daction).
Les formulaires
Sil affiche des donnes de la base, la fonction principale dun formulaire consiste
faciliter la saisie des donnes.
Les tats
Macros et modules
On effectue une macro pour automatiser simplement une ou plusieurs actions basiques.
Exemple : ralisation dune macro permettant, par un clic sur un bouton, dafficher un
formulaire.
Un module est un programme crit en VBA (Visual Basic for Applications). Son tude
ressort du domaine de la programmation.
Si la fentre Prise en main de Microsoft Office Access est affiche, cliquez sur
Base de donnes vide . Sinon cliquez sur le bouton Office (en haut, gauche) >
Nouveau.
La fentre Base de donnes vide apparait.
Gardez lextension .accdb, caractristique des fichiers de bases crs sous Access
2007.
-
Aprs avoir nomm le fichier de la future base de donnes, et indiqu son dossier
dinsertion, il reste crer la base. Pour cela, dans la fentre Base de donnes
vide , cliquez sur Crer. La fentre dAccess saffiche. Au chapitre suivant, nous
verrons comment crer des tables.
Pour fermer la base de donns seulement (sans quitter Access) : cliquez sur le bouton
Office > Fermer la base de donnes.
Pour fermer la base (seule ouverte) et quitter Access : cliquez sur la croix, en haut
droite de lcran .
Pour fermer une ou plusieurs bases et quitter Access : bouton Office > Quitter.
Double-cliquez sur le dossier dans lequel se trouve le fichier. Son adresse saffichera
dans la zone de saisie suprieure.
Le type de fichier recherch est Microsoft Office Access (zone de saisie situe
droite du nom du fichier).
Cliquez sur le nom du fichier recherch. Il saffichera dans la zone de saisie
infrieure.
Cliquez sur Ouvrir, ou bien, dans le cadre principal, double-cliquez sur le nom du
fichier.
Soit avec le bouton Office : cliquez sur la rubrique Documents rcents , puis sur le
nom du fichier souhait.
Si le nom napparait pas, affichez comme prcdemment la fentre Ouvrir , en
cliquant gauche sur Ouvrir. Renseignez-la comme indiqu prcdemment.
Ouvrir est loption la plus permissive : la base est ouverte en mode partag. Cest
loption par dfaut. La base peut tre consulte et modifie par quiconque.
Ouvrir en lecture seule : les utilisateurs ne peuvent ouvrir la base quen mode
Lecture (ils ne peuvent donc pas la modifier).
Ouvrir en exclusif : pendant que vous utilisez la base, personne dautre ne peut y
accder.
Ouvrir en mode lecture seule exclusif : cette option combine les deux options
prcdentes. Dune part, vous ne pouvez ouvrir la base quen mode Lecture ;
dautre part, pendant que vous lutilisez, personne ne peut y accder.
Cliquez sur le bouton flch en haut du Volet : pour le rduire, pour llargir.
Pour afficher ou masquer les objets dun groupe du Volet, cliquez sur la double flche
situe dans la ligne den-tte du groupe : pour afficher les objets du groupe, pour les
masquer.
Objets masqus
Renommer un objet
Pour renommer un objet :
- Dans le Volet de navigation, faites un clic droit sur lobjet > Renommer ;
- Saisissez le nouveau nom, puis validez.
Supprimer un objet
Pour supprimer un objet :
- Dans le Volet de navigation, faites un clic droit sur lobjet > Supprimez ;
- Confirmez.
7. PARAMETRAGE DU LOGICIEL
Certaines caractristiques du logiciel sont paramtrables. Pour modifier ces paramtres,
et personnaliser ainsi le logiciel, affichez la fentre Options Access : activez le bouton
Office > Options Access .
Exemples
Les fichiers de bases de donnes cres sous Access, sont par dfaut enregistrs dans
le dossier Documents.
Pour que toute nouvelle base soit enregistre par dfaut dans un autre dossier :
- Dans la fentre Options Access , choisissez gauche la rubrique Standard .
Renseignez la zone Dossier de base de donnes par dfaut .
- Vous pouvez utiliser le bouton Parcourir pour rechercher, puis slectionner le
dossier pralablement cr pour ranger les fichiers de base. Validez (OK ou
touche Entre).
Par dfaut, on double-clique sur un objet du Volet de navigation pour ouvrir cet
objet.
Pour quun simple clic permette douvrir un objet dans le Volet :
- Dans la fentre Options Access , choisissez gauche la rubrique Base de
donnes active .
- Cliquez sur le bouton Options de navigation de la zone titre Navigation .
- Cochez la case correspondant Ouvrir les objets avec un simple clic .
- Validez la fentre Options de navigation , galement la fentre Options
Access .
1. ANALYSE PREALABLE
Comme on la dit au chapitre prcdent, les tables constituent le pivot central dune base
de donnes. Les formulaires, les requtes et les tats sont raliss partir des tables. La
qualit des tables conditionne la qualit de la base.
Un consciencieux travail danalyse du domaine informatiser simpose, pralablement
la cration des tables avec Access.
Rfrence du jouet
Nom du jouet
Poids du jouet
Prix du jouet
Nom du client
Prnom du client
Adresse du client
En pratique
Il est pratique de procder ainsi :
- Dlimitez le domaine informatiser et laborez la liste de toutes les informations
prendre en considration ;
10
Faites la liste des sujets du domaine, puis numrotez-les. Chaque sujet doit
correspondre un ensemble homogne dinformations ;
A ct de chaque information, prcisez le n de sujet quelle concerne.
Analyse pralable
On souhaite constituer la base de donnes dune bibliothque (cela peut tre nos propres
livres). On suppose quune personne ne peut emprunter quune seule fois un mme livre.
On relvera les informations suivantes, affiches la colonne gauche du tableau :
Informations
Titre du livre
Nom de lauteur
Prnom de lauteur
Date demprunt
Date retour
Nom de lemprunteur
Nom de lditeur
Adresse de lemprunteur
N de sujet
1
2
2
3
3
4
1
4
On classe les informations releves en quatre sujets, qui sont numrots : Livre 1,
Auteur 2, Emprunt 3 et Personne 4.
On appelle ainsi ce dernier sujet car, une fois le livre rendu, une personne nest plus
qualifiable demprunteur.
On obtient les valeurs affiches la colonne droite du tableau.
AUTEUR
noauteur
nomA
prenomA
EMPRUNT
nolivre
nopersonne
dateemprunt
dateretour
PERSONNE
nopersonne
nomP
adresseP
11
Champs identifiants
On a ajout les champs nolivre, noauteur et nopersonne. Ils signifient numro de livre,
numro dauteur et numro de personne. Ces champs permettent didentifier sans risque
dhomonymie un livre, un auteur ou une personne. Ils sont qualifis didentifiants.
Une table doit toujours contenir un champ ou un groupe de champs identifiant :
-
On verra limportance des champs identifiants dans la dfinition des cls primaires, et
leur rle essentiel pour relier les tables entre elles.
Enregistrements
Dans une table, un enregistrement est constitu de lensemble de ses valeurs de champs.
Dans une table en Mode Feuille de donnes, un enregistrement correspond donc une
ligne de valeurs des champs.
Exemple
Voici les deux enregistrements de la table LIVRE correspondant aux numros de
livres 15 et 182 :
nolivre
titre
15 Un arc-en-ciel dans la nuit
182 120 exercices malins
noauteur
editeur
27 Robert Laffont
3 Guy Trdaniel
Remarque :
Lors de la saisie des valeurs des champs, vous pouvez utiliser la touche Tab ou la
touche Entre pour passer dune colonne la suivante. Vous pouvez galement utiliser les
touches flches du clavier.
12
Les tables sont des objets inclus dans une base de donnes.
Avant de crer une table, il convient donc de crer dabord la base de donnes. La
cration dune base de donnes a t tudie au chapitre 1 5 Crer, fermer et ouvrir une
base .
Vous pouvez commencer par crer une base de donnes vide, puis lenregistrer.
Une table nomme Table1 est propose par dfaut. Elle est ouverte en Mode Feuille de
donnes, mode mentionn dans le paragraphe ci-aprs.
On passe facilement de lun lautre de ces deux modes : cf. ci-aprs au 4 Passage
dun mode daffichage lautre .
En important la structure dune table provenant dune autre base de donnes (cf. 7).
Si ncessaire, on importe galement les donnes de la table issue de lautre base.
A partir dun modle (cf. 8) : Access 2007 propose des modles de tables, qui
peuvent ensuite tre personnaliss.
13
Avec le ruban
Ouvrez longlet Accueil > cliquez sur la partie suprieure du bouton Affichage. On
retrouve les icnes prcdentes : la grille pour le Mode Feuille de donnes ou lquerre pour
le Mode Cration.
Type de donnes
NumroAuto
Texte
Numrique
Montaire
Description
Rfrence du jouet
Prix HT du jouet
14
Nom du champ
Dans une mme table, on ne peut pas donner le mme nom deux champs.
Il est prfrable dviter les espaces et les accents.
Utilis dans un formulaire ou dans un tat, objets principalement utiliss une fois la base
cre, le champ peut porter un autre libell.
Exemple : dans la table JOUET, le champ correspondant au poids du jouet peut tre
nomm par exemple poidsjouet, poidsJ ou encore pdsJ. Dans un formulaire, ce mme champ
peut tre libell Poids du jouet.
Type de donnes
Lexpression type de champ qui est souvent utilise, dsigne en fait le type des donnes
se rapportant au champ.
Pour saisir un Type de donnes, on utilise la liste droulante proposant les diffrents
types possibles : activez une cellule de la colonne titre Type de donnes, puis cliquez sur .
Dix types de donnes sont proposs :
-
Texte : le texte dune donne peut compter jusqu 255 caractres. Il sagit du type
de donnes par dfaut.
Exemples dinformations concernes par ce type : nom, adresse, tlphone.
Mmo : le texte dune donne peut compter jusqu 65 535 caractres. Les retours
la ligne sont possibles ; le texte peut donc comporter des paragraphes.
Exemples : commentaires, remarques.
Numrique : des calculs peuvent tre effectus sur les donnes de ce type.
Remarque : a contrario, on choisira le type Texte pour les champs stockant par
exemple des codes postaux ou des numros de tlphone ; ds lors quaucun
calcul ne sera ralis sur ces donnes, il est en effet inutile de choisir le type
Numrique, qui requiert plus de place en mmoire.
15
Date/Heure : les donnes stockes seront des dates ou des heures. Une donne
peut galement tre compose dune date suivie dune heure.
Description
16
Exemple
N
Champ1
1 textile
(Nouv.)
Champ2
velours
Champ3
Champ4
350 rouge
Une table cre sous le Mode Feuille de Donnes, est dote demble dune structure
dfinie par Access 2007. Cest ce qui la diffrencie dune table cre sous le Mode Cration.
Doffice, Access propose de taper une premire valeur dans la 2me colonne, donc dans
le 2me champ de la table. Access appellera ce champ Champ1, ds que la saisie sera valide.
En effet, Access a dj nomm N le 1er champ, et il lui a attribu le type NumroAuto
(cf. ce chapitre, 5 Type de donnes ).
Access dfinit galement ce premier champ comme champ identifiant, et il le dote dune
cl primaire : on le voit par laffichage de licne dune cl en case den-tte, si on passe en
Mode Cration (nous dsignerons licne de la cl
)
Au fur et mesure de la saisie des valeurs du premier enregistrement (sur la premire
ligne), Access nomme les champs suivants : Champ2, Champ3, etc.
En fonction de la donne saisie, Access dote galement le champ du type de donnes qui
lui semble appropri.
Exemples : le champ dans la colonne duquel on saisit lexpression jeu de ballon ,
sera dot du type Texte. Si on saisit le nombre 16, Access donnera au champ le type de
donnes Numrique.
Le type de donnes dun champ peut tre modifi : activez longlet Feuille de donnes,
puis dans le groupe Type de donnes et mise en forme , ouvrez le menu droulant de la
zone de saisie du bouton Type de donnes. Choisissez le type de champ souhait.
17
18
Soit vous crez et ouvrez une nouvelle table en mode Feuille de donnes : dans le
ruban, activez longlet Crer > dans le groupe Tables, cliquez sur le 1er bouton
Table, dont licne est une grille . Une table, nomme Table1, est ouverte en
Mode Feuille de donnes.
Soit, la table tant affiche en Mode Cration, vous passez en Mode Feuille de
donnes : cf. chapitre 2 4 Passage dun mode daffichage lautre .
Le nom de la table : il est crit sur longlet actif, dont la couleur diffre.
Les en-ttes des colonnes : ils constituent la liste des champs de la table.
Dans la feuille de donnes, un champ est dsign :
Les lignes, contenant les valeurs des champs. Chaque ligne correspond un
enregistrement.
Dit autrement : chaque cellule contient la valeur, quand elle existe, du champ de
len-tte pour lenregistrement de la ligne.
19
Exemple
Extrait dune table nomme ANIMAL, affiche en Mode Feuille de donnes :
NumAnimal
10
11
12
Nom de lanimal
Frimousse
Bandit
Choupette
Date de naissance
10/09/2010
08/01/2007
13/04/2005
NumProprietaire
2
3
1
Pour saisir une nouvelle valeur de champ ou un nouvel enregistrement, il est rapide
dutiliser la touche Tab ou la touche Entre.
Les valeurs dun champ de type NumroAuto sont attribues par Access 2007. Par
dfaut, elles sont incrmentes de 1.
Pour saisir la valeur dun champ de type Date/Heure, on dispose dun calendrier :
cliquez sur son icne, qui apparat droite de la zone de saisie.
Par dfaut, le calendrier affiche le mois de lanne en cours.
Vous pouvez vous servir du calendrier mme, des flches et, ainsi que du bouton
tiquet Aujourdhui . Si vous cliquez sur une date du calendrier, elle saffichera dans la
cellule. Les flches et permettent de passer au mois prcdent ou au mois suivant.
20
Pour afficher le calendrier du mois dune date (vous pouvez ainsi connatre le jour dune
date quelconque, comme celui de votre anne de naissance) : saisissez la date, cliquez hors
de la cellule pour valider la saisie, puis cliquez nouveau dans la cellule et activez le
calendrier.
La saisie dune adresse email permet, louverture du lien, dafficher la fentre
Nouveau message , dans laquelle est indique comme adresse du destinataire celle qui a
t mentionne dans la cellule.
Pour tre sr de saisir lurl exacte dun site internet :
Ouvrez le site, et copiez son adresse (exemple : http://www.coursbardonmicrosoftoffice.fr),
Puis collez-la dans la cellule.
Pas de panique ! Les valeurs sont toujours l. Il suffit dailleurs de cliquer dans une
cellule contenant des dises pour afficher nouveau la valeur saisie.
Une ligne de dises ##### apparat dans une cellule contenant une valeur de type
Numrique, Date/Heure ou Montaire lorsque la colonne nest pas assez large.
Cliquez-glissez sur le bord droit de la case den-tte de la colonne pour largir celle-ci.
Le pointeur prend la forme dune double-flche . Quand la colonne est suffisamment large,
les signes dises laissent place la valeur saisie.
On peut ajouter une table des enregistrements en provenance dune autre table, en
utilisant une requte dajout denregistrements (cf. chapitre 12 1 Ajout denregistrements).
Trois astuces
21
Pour modifier la mise en forme des caractres, servez-vous des boutons du ruban
dAccess 2007 : sous longlet Accueil, utilisez les boutons du groupe Police.
En cliquant sur le lanceur du groupe
( droite du nom du groupe), vous pouvez
afficher la fentre Mise en forme de la feuille de donnes . Elle offre davantage de
possibilits de mise en forme, par exemple leffet 3D. Renseignez-la convenance, puis
validez (OK ou touche Entre) pour appliquer la nouvelle mise en forme aux donnes de la
table active.
Astuce : le nombre de polices proposes tant lev, il peut tre prfrable, au lieu de
cliquer sur un nom, de saisir son ou ses premiers caractres. Par exemple, il suffit de saisir la
lettre V pour obtenir la police Verdana.
Pour changer la mise en forme propose par dfaut par Access 2007 :
- Activez le bouton Office > Options Access.
- Cliquez gauche sur Feuille de donnes, puis modifiez les paramtres de mise en
forme.
Avec la souris
En utilisant les raccourcis clavier
En utilisant les boutons de dplacement situs en bas de la feuille de donnes.
Pour atteindre
Le 1 enregistrement
Lenregistrement prcdent
Lenregistrement suivant
Le dernier enregistrement
er
Raccourcis clavier
Ctrl + Dbut (HOME) (premier champ)
Flche haut
Flche bas
Ctrl + fin (End ou ) (dernier champ)
Boutons de dplacement
I(mme champ)
I (mme champ)
22
Suppression denregistrements
Slectionnez les enregistrements supprimer. Puis appuyez sur la touche Suppr (ou Del
qui signifie Delete, cest--dire supprimer). Access demande la confirmation de la
suppression.
Pour supprimer des enregistrements en fonction de critres dfinis, on utilise une
requte de suppression denregistrements (cf. chapitre 12 1 Suppression denregistrements).
Si la table est en relation avec une autre table, la suppression dun enregistrement peut
ncessiter au pralable la suppression de cette relation. Les relations entre les tables seront
tudies au chapitre 6 RELATIONS ENTRE LES TABLES.
Slectionnez les lignes ou les colonnes dont on souhaite modifier les dimensions.
Pour afficher la fentre Hauteur de ligne (ou Hauteur de colonne ) : faites un clic
droit sur les slecteurs denregistrements (ou slecteurs de champs) > Hauteur de ligne (ou
Largeur de colonne).
23
Champs et colonnes
Renommer un champ
En Mode Feuille de donnes, lajout dun champ correspond lajout dune colonne.
Pour insrer une nouvelle colonne :
- Faire un clic droit dans la case den-tte, droite de la colonne crer > Insrer
une colonne.
- Ou bien, placez le curseur dans la colonne droite de celle crer. Puis, longlet
Feuille de donnes , dans le groupe Champs et colonnes , cliquez sur le
bouton Insrer .
Access nomme le nouveau champ Champ1 . Vous pouvez le renommer (cf.
prcdent Renommer un champ ).
Il est galement possible de choisir un champ prdfini parmi les modles proposs par
Access 2007. Cette mthode est aussi valable pour crer un champ droite des champs
existants.
Pour ajouter un champ prdfini droite de lemplacement du curseur, procdez ainsi :
- Sous longlet Feuille de donnes , dans le groupe Champs et colonnes ,
activez le bouton Nouveau champ .
- Choisissez votre modle. Faites un cliqu-gliss jusqu lemplacement souhait.
Vous pouvez redfinir convenance le champ ainsi cr.
24
Supprimer un champ
Dplacer un champ
Pour figer une colonne : faites un clic droit sur sa case den-tte > Figer les colonnes.
Pour la librer : clic droit > Librer toutes les colonnes.
Plusieurs colonnes peuvent tre figes.
Sans affecter la structure de la table, figer une colonne a deux consquences :
- La colonne fige reste visible, gauche de la fentre, ce qui est pratique quand la
table a de nombreux champs. Par exemple, dans une table PRODUIT, on peut
garder sur la gauche les champs ReferenceProduit et NomProduit.
- Une colonne fige ne peut pas tre dplace par cliqu-gliss. Afin de pouvoir
dplacer la colonne, il faut dabord la librer.
Clic droit sur une case den-tte quelconque de colonne > Afficher les colonnes.
Dans la fentre Afficher les colonnes , cochez les cases correspondant aux
colonnes que vous souhaitez afficher.
25
Pour tre en mode daffichage Aperu avant impression , activez le bouton Aperu
avant impression , dont licne reprsente une loupe sur une feuille :
-
Soit (vous ne souhaitez vraiment pas mettre le bouton prcdent dans la barre
doutils Accs rapide) : cliquez sur le bouton Office > Survolez loption
Imprimer, puis cliquez sur Aperu avant impression .
Affichage du document
Pour modifier la mise en page du document, utilisez les boutons du groupe Mise en
page de la fentre sous longlet Aperu avant impression .
Pour afficher la fentre Mise en page , cliquez sur le lanceur de ce groupe (petit
bouton situ droite du nom du groupe).
Pour fermer la fentre de laperu, cliquez sur le dernier bouton, tiquet Fermer
laperu avant impression .
Impression
26
Importation de donnes
On peut crer une table par importation, et importer soit uniquement sa structure, soit
galement ses donnes : cf. chapitre 2 7 Cration dune table par importation .
Exportation de donnes
On peut aussi exporter des donnes dune base vers un autre fichier.
A longlet Donnes externes , dans le groupe Exporter , cliquez sur le format dans
lequel doivent tre exportes les des donnes. Dautres formats sont disponibles en cliquant
sur le bouton Plus .
La fentre Exportation (type de fichier) saffiche. Slectionnez le nom du fichier,
ventuellement son format, vers lequel seront exportes les donnes. Si ncessaire, cliquez sur
le bouton Parcourir pour ouvrir la fentre Enregistrer afin dy slectionner le fichier de
destination des donnes.
Choisissez si ncessaire les options dexportation.
En activant le bouton PDF ou XPS, on peut enregistrer les donnes sous forme dun
fichier de ce format.
Exemples
On souhaite exporter les donnes dune table dans une feuille de calcul (format
Excel).
Affichez la table en mode Feuille de donnes. A longlet Donnes externes , dans le
groupe Exporter, activez le bouton Excel. Access cre un fichier nomm
(NomDeLaTable).xlsx. Pour le changer demplacement, cliquez sur le bouton Parcourir et
slectionnez le dossier ou le classeur souhait. Cliquez sur Enregistrer. Validez.
Si le fichier est export vers un classeur, une feuille est ajoute ce classeur, contenant les donnes de la
table.
Aprs ouverture du fichier cr, contenant les donnes de la table, vous pouvez directement faire un
copier/coller dans le document Word, ou lenregistrer dabord sous le format Word (activez le bouton Office >
Enregistrer sous > Document Word) avant deffectuer un copier/coller dans le document de destination.
27
Il existe plusieurs mthodes pour rechercher une chane de caractres dans une feuille de
donnes :
- Directement, la main , si ncessaire en utilisant le curseur vertical droite (en
cas de nombreux enregistrements) ou le curseur horizontal en bas de la fentre (en
cas de nombreux champs). Plutt fastidieux
- En utilisant la zone de saisie situe en bas de la feuille (par dfaut, elle affiche
Rechercher ) : tapez la chane recherche. Si celle-ci est prsente sur la feuille,
elle est mise en vidence. Pour une nouvelle recherche de la chane, appuyez sur la
touche Entre.
- Avec la fentre Rechercher et remplacer , longlet Rechercher. Nous allons
voir ci-aprs cette troisime mthode.
O :
- Nimporte o dans le champ : la chane recherche peut constituer une
valeur exacte ou une partie de valeur de champ.
- Champ entier : la chane recherche doit constituer une valeur exacte du
champ pour tre localise. Exemple : si on recherche la chane 05/12/1954, la
date 5/12/1954 ne sera pas repre.
- Dbut de champ : la chane recherche doit tre le dbut dune valeur de
champ, elle peut tre une valeur entire de champ.
Sens :
La recherche est effectue par rapport la position du curseur (barre
clignotante) :
Haut : uniquement avant le curseur / Bas : uniquement aprs le curseur.
Tout : dans tout le champ ou dans toute la table, en fonction de loption choisie
dans Regarder dans .
Renseignez cette fentre, puis activez le bouton Suivant pour lancer la 1re recherche.
Ractivez-le si ncessaire pour des recherches successives.
Localise, la chane est mise en vidence.
29
Tri et filtre
Le tri des enregistrements peut seffectuer sur les donnes dune seule colonne (cest-dire sur un seul champ). Exemple : tri des enregistrements par ordre alphabtique des noms.
On peut galement raliser un tri des enregistrements en fonction des donnes de
plusieurs colonnes (cest--dire sur plusieurs champs). Exemple : tri des enregistrements par
ordre alphabtique des noms, puis par ordre alphabtique des prnoms. Des personnes
portant le mme nom seront classes en fonction de leur prnom. Le tri porte successivement
sur le champ Nom, puis sur le champ Prnom.
Pour effectuer un tri simple, commencez par slectionner la ou les colonnes contenant
les donnes trier : cliquez sur le slecteur (case den-tte) de la colonne, ou cliquez-glissez
sur les slecteurs des colonnes. On ne peut slectionner que des colonnes qui sont
juxtaposes. Pour dplacer une colonne : voir au chapitre 3 1 Champs et colonnes .
Aprs slection, vous pouvez :
- Utiliser les trois boutons de gauche du groupe Trier et Filtrer de longlet
Accueil,
- Ou bien, faire un clic droit sur la slection, puis choisir un tri. Si une seule colonne
a t slectionne, les tris proposs dpendent du type de donnes trier.
Si plusieurs colonnes ont t slectionnes, le tri est effectu de la colonne la plus
gauche vers celle la plus droite.
Pour annuler les tris effectus : sous longlet Accueil, dans le groupe Trier et Filtrer ,
activez le bouton Effacer tous les tris dont licne reprsente une gomme .
30
Si le tri porte sur une ou plusieurs colonnes juxtaposes, sans application de filtre, voir
le paragraphe prcdent.
Pour trier sur une ou plusieurs colonnes quelconques, avec ou sans application de filtre :
longlet Accueil, dans le groupe Trier et filtrer, activez le bouton Options avances >
Filtre/tri avanc .
Une nouvelle fentre appele (nom de la table)Filtre1 saffiche.
Le cadre suprieur affiche la table active avec les noms de ses champs.
Le cadre infrieur comporte quatre lignes :
- Dans la 1re ligne, on indique le champ sur lequel portera le tri et/ou le filtre.
Utilisez le menu droulant .
- Dans la 2me ligne, on peut prciser un type de tri. Utilisez le menu droulant .
- Les 3me et 4me lignes servent indiquer les critres souhaits pour filtrer les
enregistrements. Peu importe la casse (majuscules ou minuscules).
La fentre ayant t renseigne, cliquez sur le bouton Appliquer le filtre du groupe
Trier et filtrer . Son icne reprsente un filtre .
La table rsultat saffiche en Mode Feuille de donnes. En bas de la fentre, apparait un
bouton marqu Filtr , portant la mme icne dun filtre. Cliquez sur ce bouton permet
dafficher la table avec ou sans filtre (il indiquera Filtr ou Non filtr ).
Exemple
Le nom de la table est CONTACT. Nous vous invitons la crer afin de raliser les
exemples qui suivent.
N
22
21
23
24
25
26
27
Nom
Vignaud
Robin
Blondel
Renou
Audon
Texier
Paillat
Prnom
Chlo
Paul
Thierry
Jean
Corinne
Dominique
Thrse
Ville
Lyon
Bordeaux
Paris
Bordeaux
Lyon
Bordeaux
Bordeaux
Age
16
45
19
87
56
28
63
Cliquez sur le bouton Options avances > Filtre/tri avanc . Dans la fentre
ContactFiltre1, on applique tri et filtres suivants :
Champ :
Nom
Tri : Croissant
Critres :
Ou :
Ville
Bordeaux
Lyon
Age
>50
<50
Nom
27 Paillat
24 Renou
22 Vignaud
Prnom
Thrse
Jean
Chlo
Ville
Bordeaux
Bordeaux
Lyon
Age
63
87
16
31
Annulation de tris
Pour annuler un tri, cliquez sur le bouton Effacer tous les tris
filtrer .
du groupe Trier et
Si on filtre en cochant certaines valeurs de champs, seuls les enregistrements ayant ces
valeurs de champs apparatront dans la table rsultat.
Pour effectuer cette mthode de filtrage, procdez ainsi :
- Slectionnez le champ dont on souhaite ne retenir que certaines valeurs : cliquez
sur sa case den-tte ;
- Dans le groupe Trier et filtrer , activez le bouton Filtrer
;
- Dans la fentre qui saffiche, utilisez les cases cocher.
Par dfaut, toutes les cellules du champ sont slectionnes.
Coche, la case (Vides) permet de slectionner les cellules sans donnes.
Cochez les cases correspondant aux valeurs souhaites du champ, puis validez.
32
Exemple
Reprenons la table CONTACT de lexemple prcdent. On ne souhaiter afficher que les
habitants de Lyon et de Paris.
Slectionnez le champ Ville, puis activez le bouton Filtrer.
Dcochez la case Bordeaux (en cliquant dessus) et cochez les cases Lyon et Paris :
Slectionner tout
(Vides)
Bordeaux
Lyon
Paris
Nom
22 Vignaud
23 Blondel
25 Audon
Prnom
Chlo
Thierry
Corinne
Ville
Age
Lyon
Paris
Lyon
16
19
56
On peut filtrer de la mme manire les valeurs dautres champs. Les filtres se
cumuleront, restreignant le nombre denregistrements.
Activation/Dsactivation et annulation de filtres
Cf. fin du 2 de ce chapitre.
Pour filtrer les enregistrements, on peut galement utiliser une expression dpendant des
valeurs dun champ.
Pour filtrer une feuille de donnes en utilisant une ou plusieurs expressions :
- Commencez comme prcdemment par slectionner le champ (cliquez sur sa case
den-tte) ;
- Puis cliquez sur le bouton Filtre du groupe Trier et filtrer .
Dans la fentre, activez loption Filtres de (type de donnes du champ) . Les
oprateurs et expressions proposs diffrent en fonction du type de donnes du champ.
Ils seront par exemple diffrents pour des filtres de texte, des filtres de chiffres et des
filtres de dates.
Pour des chiffres, sont proposs des oprateurs tels que Est gal , Est
plus petit que , Entre .
Pour des dates, sont proposs dautres oprateurs, galement des expressions
telles que Demain , Cette semaine , Lanne prochaine .
Exemple
Reprenons la table CONTACT de lexemple prcdent.
Slectionnez le champ Nom.
Activez le bouton Filtrer > Filtre de texte > Commence par
Dans la zone de saisie de la fentre Filtre personnalis , tapez R, puis validez.
33
Nom
21 Robin
24 Renou
Prnom
Paul
Jean
Ville
Bordeaux
Bordeaux
Age
45
87
Seuls les enregistrements dont le nom commence par la lettre R sont affichs.
Activation/Dsactivation et annulation de filtres
Cf. fin du 2 de ce chapitre.
Pour filtrer les enregistrements dune table en fonction dune valeur ou dune partie de
valeur dun champ, procdez ainsi :
- Slectionnez la valeur ou la partie de valeur souhaite du champ.
- Dans le groupe Trier et filtrer , activez le bouton Slection.
- Diverses options sont proposes en fonction de la slection. Choisissez lune
dentre elles.
- Activez le bouton Appliquer le filtre .
Exemple
Reprenons la table CONTACT de lexemple prcdent.
On souhaite nafficher que les enregistrements correspondant aux habitants de
Bordeaux.
Slectionnez Bordeaux dans le champ Ville.
Dans le groupe Trier et filtrer , cliquez sur le bouton Slection. Choisissez loption
Egal Bordeaux .
Activez le bouton Appliquer le filtre . La table rsultat affiche uniquement les
habitants de Bordeaux.
Si dans la table, il ny a pas dautres villes commenant par B, au lieu de slectionner
tout le mot Bordeaux, il suffit de slectionner la lettre B.
Choisissez alors loption : Commence par B .
34
Chaque cellule de 2me ligne dispose dun menu droulant permettant de choisir une
valeur parmi toutes celles du champ.
Renseignez cette grille en fonction du filtrage des enregistrements souhait. Utilisez si
ncessaire le dernier onglet Ou situ en bas de la fentre.
Validez en activant le bouton Appliquer le filtre du groupe Trier et filtrer .
Pour vrifier, et si ncessaire modifier, les informations saisies dans la grille, servezvous des onglets en bas de la fentre : cliquez sur longlet Rechercher, puis sur les onglets
successifs Ou.
Pour effacer dun bloc toutes les valeurs saisies dans la grille : activez le bouton
Options avances > Effacer la grille .
Exemple
Reprenons la table CONTACT de lexemple prcdent.
On souhaite nafficher que les habitants de Bordeaux de prnom Jean, les habitants de
Lyon de 16 ans et les habitants de nom Paillat.
Cliquez sur le bouton Options avances > Filtrer par formulaire .
La fentre CONTACT : Filtrer par formulaire saffiche, avec les noms des champs de
la table.
- Dans la 1re ligne, cliquez dans la case de la colonne Prnom et choisissez Jean.
Dans la mme ligne, choisissez la ville Bordeaux. Cliquez sur longlet Ou.
- Choisissez lge 16, puis la ville Lyon. Cliquez sur longlet Ou.
- Choisissez le nom Paillat.
Vrifiez les informations saisies dans la grille : cliquez sur longlet Rechercher, puis
successivement sur les deux onglets Ou.
Validez en activant le bouton Appliquer le filtre .
On obtient la table rsultat :
N
Nom
22 Vignaud
24 Renou
27 Paillat
Prnom
Chlo
Jean
Thrse
Ville
Lyon
Bordeaux
Bordeaux
Age
16
87
63
35
36
Slection de champs
La procdure de slection de lignes est similaire celle vue en Mode Feuille de donnes : cf. chapitre 3
1 Slectionner des donnes .
Slection dune ligne : cliquez sur le slecteur du champ (sa case den-tte).
Slection de plusieurs lignes juxtaposes : cliquez-glissez sur les slecteurs de
champ. Ou bien : slectionnez la 1re ligne, puis appuyez sur la touche Maj (Shift) et
slectionnez la dernire ligne.
Dplacement de champs
On peut modifier lordre des champs dune table :
- Slectionnez le(s) champ(s) dplacer ;
- Puis effectuez un cliqu-gliss de la slection jusqu lemplacement souhait.
Suppression de champs
Slectionnez le(s) champ(s) dplacer ;
Puis appuyez sur la touche Suppr.
Pour dfinir les proprits des champs dune table, on louvre ordinairement en Mode
Cration. Les proprits usuelles sont galement dfinissables en Mode Feuille de donnes.
Afin que la liste des proprits dun champ saffiche dans le cadre Proprits du
champ (onglet Gnral), cliquez dans la ligne du champ. Une proprit sapplique
obligatoirement toutes les valeurs du champ sur lequel elle est dfinie.
La liste des proprits dpend du type des donnes du champ. De nombreuses proprits
sont communes plusieurs types de donnes.
Valeur par dfaut : cest une valeur quAccess attribue doffice une proprit de
champ. Exemple : Access limite les valeurs des champs de type Texte un maximum de 255
caractres.
37
Aprs avoir plac le curseur (barre clignotante) dans la zone de saisie, si vous souhaitez
saisir les caractres dans un espace plus important ou avec dautres paramtres de police,
affichez la fentre Zoom : appuyez sur les touches Maj (Shift) et F2.
Les paramtres de police dfinis dans la fentre Zoom ne sappliquent qu la saisie
dans cette fentre. Ils ne modifieront pas ceux des caractres de la table.
La fentre Zoom nest affichable que pour certaines proprits le justifiant. Exemple : on
peut en disposer pour saisir la Description dun champ, mais elle nest pas disponible pour
saisir un Type de donnes.
Pour obtenir ventuellement une explication dtaille dune proprit : cliquez dans sa
ligne, puis appuyez sur la touche F1. Divers documents sont proposs. Vous pouvez aussi
utiliser la zone tiquete Rechercher de la fentre Access Aide .
A. Taille du champ
Les valeurs diffrent en fonction des types de donnes. Cette proprit est applicable
aux types Texte, Numrique et NumroAuto.
La dfinition de la taille dun champ est particulirement importante, pour la saisie et
laffichage.
Exemples
- Si on attribue un champ de type Texte une taille de champ de 10 caractres, on
ne pourra pas saisir plus de 10 caractres.
- Si on attribue un champ de type Numrique la taille de champ Entier, on ne
pourra pas afficher de dcimales (chiffres aprs la virgule), ou bien ces dcimales
ne seront que des zros. Un nombre dcimal est arrondi lentier le plus proche.
Texte
Un champ de type Texte peut comporter jusqu 255 caractres, valeur propose par
dfaut par Access. Vous pouvez la remplacer par une autre valeur. Par exemple, pour un
champ Nom, saisissez 30. Cette modification ne sera effective que sur le champ concern.
Vous pouvez galement choisir une autre valeur par dfaut. Elle doit tre infrieure
255. Affichez la fentre Options Access : activez le bouton Office > Options Access .
Cliquez sur la rubrique Concepteurs dobjets . Dans la zone Cration de table , changez
la Taille de champ de texte par dfaut . La nouvelle valeur par dfaut sappliquera tout
nouveau champ de type Texte.
38
Numrique
La taille dtermine :
- La fourchette des valeurs autorises. Elle doit donc tre choisie en fonction de la
valeur (positive ou ngative), saisie ou saisir, la plus importante.
- Laffichage des dcimales. Un champ de taille correspondant au type de nombre
Octet, Entier ou Entier long ne peut afficher que des nombres sans dcimales (ou
avec dcimales nulles). La valeur saisie est arrondie lentier le plus proche.
Pour saisir des valeurs avec des dcimales (chiffres aprs la virgule), il faut choisir
la taille Rel simple (4 octets), Rel double (8 octets) ou Dcimal (12 octets).
La taille attribue dpend du type de nombre choisi.
Contrairement un champ de type Texte, on ne choisit pas la taille dun champ
Numrique, mais on indique le type de nombre. Access en dduit la taille, cest--dire le
nombre doctets qui sera rserv chaque donne.
Il est prfrable de choisir un type de nombre correspondant le mieux possible aux
valeurs susceptibles de contenir le champ. Une taille infrieure risquera dempcher la saisie
de donnes. Une taille suprieure prendra plus de place en mmoire.
Pour choisir un type de nombre : cliquez dans la zone de saisie, puis utilisez le menu
droulant situ son extrmit.
Exemples :
Nombres entiers compris entre
0 et 255
- 32 768 et 32 767
- 2 147 483 648 et 2 147 483 648
La valeur Entier long est la valeur propose par Access par dfaut.
Pour choisir une autre valeur par dfaut, procdez comme indiqu dans le paragraphe
prcdent traitant de la taille dun champ de type Texte, en modifiant cette fois la Taille de
champ numrique par dfaut .
B. Nouvelles valeurs
La proprit Nouvelles valeurs nest prsente que pour un champ de Type de
donnes NumroAuto.
La valeur par dfaut attribue cette proprit par Access est Incrment. Access
augmente chaque fois de 1 la dernire valeur gnre.
Lautre valeur possible est : Alatoire. Si elle est choisie, Access gnre pour chaque
enregistrement une valeur alatoire, diffrente des valeurs prcdentes.
Les valeurs gnres, par incrmentation ou alatoirement, sont des nombres dont la
Taille du champ correspond au type de nombre Entier long .
39
C. Format
Le format dun champ correspond au mode daffichage de ses donnes. Son choix (sil
est judicieux) est important car il rend plus lisibles les donnes, quelles soient lues sur une
Feuille de donnes, sur un formulaire ou sur un tat.
La proprit Format est propose pour la majorit des types de donnes : Texte,
Mmo, Numrique, Date/Heure, Montaire et Oui/Non.
Les formats applicables diffrent en fonction du type de donnes du champ.
Pour les types Numrique, Date/Heure, Montaire et Oui/Non, la proprit Format peut galement tre
dfinie ou modifie dans la Feuille de donnes.
A longlet Feuille de donnes , dans le groupe Type de donnes et mise en forme , sont proposs :
- Une zone de saisie Format avec un menu droulant
- Trois boutons : le 1er (icne avec pices) permet dappliquer le format Montaire, le 2me (icne
avec %) le format Pourcentage, le 3me (icne avec 000) le format Standard.
Exemples
En fonction du format appliqu, la donne de type Numrique 8234,519 sera affiche (si
la taille du champ et le nombre de dcimales le permettent) :
- 8234,519 si on donne au champ le format Nombre gnral . Il ny a pas de
mise en forme particulire.
- 8 234,52 si on lui donne le format Standard . Un espace est insr en tant que
sparateur de milliers. Le nombre affiche par dfaut deux dcimales.
- 823451,90 % si on lui donne le format Pourcentage .
Pour que les dcimales puissent safficher, attribuez la proprit Taille du champ la
valeur Rel simple, Rel double ou Dcimal. Vrifiez galement le nombre de dcimales
(cf. la proprit Dcimales au paragraphe D).
Des formats personnaliss peuvent tre dfinis dans les champs de type Texte ou Mmo.
Exemples
Si on tape le symbole < comme valeur de Format, toutes les lettres des valeurs du
champ seront en minuscules (le format concerne galement les donnes dj saisies).
Si on tape le symbole >, toutes les lettres saisies dans le champ seront en majuscules.
Dans la ligne de la proprit Format, cliquez sur le menu droulant situ son
extrmit. Considrez les exemples correspondant aux formats proposs, et choisissez le
format souhait.
40
Par dfaut, la valeur dun champ de ce type est saisie au moyen dune case cocher. Si
elle est coche, cela correspond, selon le format appliqu, la valeur Oui, Vrai ou Actif.
A la place des cases, coches ou dcoches, si vous souhaitez que saffichent les valeurs
(enregistres par Access) Oui, Non, Vrai, Faux, Actif ou Inactif, procdez ainsi :
- Affichez, si elle ne lest pas dj, la table en Mode Cration ;
- Cliquez dans la ligne du champ de type Oui/Non ;
- Dans le cadre du bas Proprits du champ , ct de longlet Gnral, cliquez
sur longlet Liste de choix ;
- Cliquez sur la ligne de proprit Afficher le contrle (le contrle est ici la
case cocher). Ouvrez le menu droulant , puis choisissez Zone de texte .
D. Dcimales
On appelle nombre dcimal, ou dcimal, un nombre pouvant avoir une virgule (exemple
38,712).
On appelle dcimales les chiffres situs aprs la virgule (le nombre 38,712 en a trois :
7, 1 et 2). La proprit Dcimales permet de dfinir le nombre de dcimales afficher.
Cette proprit concerne les champs de type Numrique ou Montaire.
Par dfaut, sa valeur est Auto : si les valeurs dfinies dans les proprits Taille du
champ et Format le permettent, les dcimales de la valeur saisie safficheront.
La diminution de dcimales na deffet que sur laffichage. La valeur saisie est
enregistre dans son intgralit.
E. Masque de saisie
Lapplication dun masque de saisie permet de rendre la saisie plus simple et plus
sre.
On dfinit sa valeur laide de certains caractres du clavier. Exemples : 0, 9, #, L, ?, A,
a, &, C.
La proprit Masque de saisie est utilisable pour un champ de type Texte,
Numrique, Date/Heure ou Montaire.
La table est ouverte en Mode Cration.
Pour raliser un masque de saisie, on peut :
- Si le champ est de type Texte ou Date/Heure, utiliser lAssistant Masque de saisie,
- Ou bien saisir directement le masque, en utilisant les caractres appropris, sur la
ligne de proprit Masque de saisie .
41
Cliquez sur la ligne de champ dont les valeurs seront concernes par le masque. Le
champ doit tre de type Texte ou Date/Heure.
Affichez lAssistant : cliquez sur la ligne de la proprit Masque de saisie , puis
activez son extrmit le bouton contenant les points
Le caractre
0
9
#
L
?
A
a
&
C
requiert (obligatoire)
ou permet (sil y a saisie
dun caractre)
requiert
permet
permet
requiert
permet
requiert
permet
requiert
permet
la saisie exclusive de :
un chiffre
un chiffre ou un espace
un chiffre, ou le signe +, ou le signe - , ou un espace
une lettre (A Z, minuscule ou majuscule)
une lettre (A Z, minuscule ou majuscule)
une lettre ou un chiffre
une lettre ou un chiffre
un caractre quelconque (ventuellement un espace)
un caractre quelconque (ventuellement un espace)
Caractre
>
<
\
!
Enfin, certains caractres nont pas besoin dtre prcds du caractre \ pour tre
affichs.
Leur liste dpend des paramtres rgionaux. Ils peuvent tre les suivants : . , : ; - /
Eventuellement, ils sont affichs doffice par Access, prcds du signe \ dans la zone
de saisie de la proprit Masque de saisie .
Exemples de masques de saisie, illustrs dexemples de valeurs affiches possibles.
Masque de saisie
0La
7t
6Y2
3hv
90,09
5,1
28,37
93,4
90-90-\2\0\00
A&9
## ???C
>L<LL\ 00a
15-12-2016
8@2
3-8-2005
20-6-2088
x7
- m
+9abc!
12 %
Ref 32c
Art 651
Mme 95d
F. Lgende
Les lgendes rendent plus lisibles feuilles de donnes, formulaires et tats. Exemple : on
lit plus facilement Numro Client que NoCl .
Le champ dot dune Lgende, y est en effet en dsign par celle-ci, tout en gardant son
nom (voir le Nom du champ de la table ouverte en Mode Cration).
Par dfaut, Access nattribue un champ aucune valeur de Lgende. Le champ est
simplement dsign par son nom, tant quune valeur de Lgende na pas t saisie.
Exemples :
43
Si un champ de type Numrique, on attribue la valeur par dfaut 100, il affichera 100
chaque enregistrement nouveau.
Si un champ de type Date/Heure, on attribue la valeur par dfaut Date(), il affichera
la date du jour de la saisie chaque enregistrement nouveau.
Gnrateur dexpression
La Valeur par dfaut peut tre plus ou moins simple saisir. Si ncessaire, vous pouvez
utiliser le Gnrateur dexpression dAccess 2007.
Pour afficher la fentre Gnrateur dexpression : cliquez sur la ligne de la proprit
Valeur par dfaut , puis cliquez son extrmit sur le bouton contenant des points de
suspension
Le Gnrateur dexpression propose :
Des fonctions intgres : pour y avoir accs, double-cliquez sur le dossier
Fonctions (portant le signe +), puis cliquez sur le dossier Fonctions intgres .
Choisissez au milieu une catgorie de fonctions, puis droite la fonction souhaite.
Les constantes : ChaneVide , Faux, Null et Vrai.
Des oprateurs : choisissez une catgorie au milieu, puis un oprateur droite.
Le 1er bouton Annuler ferme la fentre sans validation.
Le second bouton Annuler efface ce qui a t tap dans la zone de saisie.
Sous la zone de saisie, vous disposez de boutons contenant des lments couramment
utiliss.
Dfinir une proprit Valide si sur un champ permet de contrler la saisie des
valeurs dans ce champ, afin quelles respectent la rgle stipule. Elle ne sapplique pas aux
valeurs dj saisies.
Exemples
Une rgle de validit peut obliger ne saisir que des valeurs infrieures 24.
Une autre rgle peut interdire dentrer la valeur 29/02/2015.
Si la valeur saisie enfreint la rgle de validit, une fentre de message derreur saffiche.
Pour changer ce message et faire apparaitre le vtre, renseignez la proprit Message
si erreur . Inscrivez-y votre propre message derreur (il sera srement plus explicite !).
Pour crer une rgle de validit, cest--dire pour dfinir une valeur la proprit
Valide si , la table doit tre ouverte en Mode Cration.
Cliquez dans la ligne du champ sur lequel vous souhaitez appliquer une rgle de
validit. Dans la zone de saisie de la proprit Valide si , vous pouvez :
- Soit saisir directement lexpression,
- Soit passer par la fentre Gnrateur dexpression .
Pour lafficher, aprs avoir cliqu sur la ligne de la proprit Valide si ,
activez le bouton contenant les points
44
Dans une rgle de validit, les chanes sont places entre guillemets.
Les dates sont doffice encadres entre deux signes dise # et elles sont formates
jj/mm/aaaa.
Exemples de rgles de validit
Valide si
Elments utiliss
- Oprateur <
< Date()
- Fonction Date()
- Oprateurs =, Ou, >, Et,
= 3 Ou (> 7 Et < = 10)
<=
- Oprateurs Entre, Et
Entre #01/01/1960# Et Date()
- Fonction Date()
- Oprateur Pas, Ou
Pas ( violet Ou gris )
- Constante (chane vide)
- Oprateur Comme
Comme bon*
- Constante (chane vide)
Les lments utiliss peuvent tre saisis directement au clavier ou par lintermdiaire du
Gnrateur dexpression.
On peut avoir besoin de plusieurs champs pour dfinir une rgle de validit.
Exemple : rgle de validit obligeant saisir dans le champ Age_Enfant une valeur
infrieure celles des champs Age_Pere et Age_Mere.
Pour dfinir une rgle de validit multi champs, servons-nous du Volet Feuille de
proprits .
- Pour afficher le Volet Feuille de proprits : longlet Cration, dans le groupe
Afficher/Masquer, cliquez sur le bouton Feuille de proprits .
- Dans le Volet, cliquez sur la ligne de proprit Valide si , puis son extrmit
sur le bouton contenant les points
La fentre Gnrateur dexpression saffiche. Elle servira taper la rgle de
validit.
Message derreur
De retour dans le Volet Feuille de proprits , vous pouvez taper un message derreur
dans la zone de saisie de la proprit Message si erreur .
Pensez utiliser le zoom pour disposer dune zone de saisie plus grande : appuyez sur
les touches Maj (Shift) et F2.
Sinon vous pouvez largir le Volet en cliquant-glissant (pointeur en double flche) sur
son bord gauche.
45
Exemple
Reprenons le dernier exemple.
On devra obtenir lexpression suivante :
[Age_Enfant] < [Age_Pere] Et [Age_Enfant] < [Age_Mere]
Le Gnrateur dexpression affiche la table en cours, colonne gauche.
La table tant slectionne, ses champs sont affichs dans la colonne suivante. Doublecliquez sur le nom du champ saisir. Il saffiche alors dans lexpression entre crochets.
Les lments de lexpression peuvent tre saisis directement ou tre prlevs dans le
Gnrateur.
Aprs validation dans le Gnrateur, lexpression apparat dans le Volet de Proprits
comme valeur de la proprit Valide si .
Dans le Volet, cliquez dans la zone de saisie de la proprit Message si erreur . Pour
avoir plus de place pour crire, affichons le zoom : touches Maj (Shift) et F2.
Nous pouvons taper comme valeur de message derreur : Lge dun enfant est infrieur
celui de ses parents.
De retour dans la table affiche en Mode Feuille de donnes, testez.
La table tant ouverte en Mode Cration, vous pouvez faire tester par Access si les
enregistrements saisis respectent tous les rgles de validation, ainsi que les proprits Null
interdit et Chane vide autorise .
Le bouton Tester les rgles de validation est situ longlet Cration, dans le groupe
Outils.
I. Null interdit
Le Null signifie labsence de valeur.
Le Null interdit signifie donc linterdiction dabsence de valeur.
Deux valeurs sont possibles pour la proprit Null interdit : Oui et Non.
Oui : cela quivaut rendre obligatoire, pour chaque enregistrement, une saisie de
valeur dans le champ, ne serait-ce quun espace ou une chane vide , valeurs qui ne seront
pas affiches.
Si on ne saisit aucun caractre, une fentre saffiche indiquant : Vous devez entrer une
valeur dans le champ Table.Champ ( Table.Champ signifie le Champ de la Table).
Non : cela quivaut autoriser labsence de saisie dune valeur dans un champ. Cest
loption par dfaut.
En Mode Feuille de donnes , longlet Feuille de donnes , dans le groupe Type de donnes et
mise en forme , il est propos la case cocher Requis .
Si on la coche, la proprit Null interdit prend la valeur Oui et la proprit Chane vide autorise
prend la valeur Non.
J. Index
Index sur un ou sur plusieurs champs
Si on choisit la valeur Oui pour la proprit Index dun champ, un index est cr sur ce
champ.
46
Lindex dun champ est une table de tri (par dfaut, croissant) sur les valeurs de ce
champ. Elle indique pour chacune de ces valeurs la position de lenregistrement
correspondant dans la Feuille de donnes.
Cette table napparat pas. Lindex est gr par Access comme fonctionne un
programme quand on appuie sur le bouton dune commande.
Un index cr sur un champ permet :
- Dacclrer tris et recherches sur ce champ ;
- Dviter que ce champ ait des valeurs identiques (des doublons ), si cette option
est retenue.
Un index sur un champ ne doit tre cr que sil savre utile.
En effet Access devra le reconstituer chaque ajout, suppression ou modification de
valeur du champ.
Exemple
Reprenons lexemple du chapitre 4 2.
Voici la table CONTACT ouverte en Mode Feuille de donnes :
N
22
21
23
24
25
26
27
Nom
Vignaud
Robin
Blondel
Renou
Audon
Texier
Paillat
Prnom
Chlo
Paul
Thierry
Jean
Corinne
Dominique
Thrse
Ville
Lyon
Bordeaux
Paris
Bordeaux
Lyon
Bordeaux
Bordeaux
Age
16
45
19
87
56
28
63
Ouvrez la table CONTACT en Mode Cration (cliquez sur le dernier bouton du bas
droite).
Cliquez sur la ligne du champ Ville afin dafficher les proprits de ce champ.
Choisissez pour la proprit Index loption Oui Avec doublons . On a choisi
Avec doublons car certaines villes (Bordeaux et Lyon) sont affiches plusieurs fois.
Access cre lindex Ville :
ValeurVille
Bordeaux
Bordeaux
Bordeaux
Bordeaux
Lyon
Lyon
Paris
PositionEnregistrement
2
4
6
7
1
5
3
Par dfaut, les noms des villes sont tris par ordre alphabtique croissant.
Si, par exemple lors dune requte, Access doit rechercher Bordeaux, il va utiliser
lindex cr : Bordeaux est en 2me, 4me, 6me et 7me positions dans la Feuille de donnes.
En Mode Feuille de donnes , longlet Feuille de donnes , dans le groupe Type de donnes et
mise en forme , il est propos la case cocher Unique . Si on la coche, la proprit Index prend la
valeur Oui Sans doublons .
47
Fentre Index
On peut modifier les proprits dun index, en utilisant la fentre Index de la table.
Pour afficher la fentre Index : longlet Cration, dans le groupe Afficher/Masquer,
activez le bouton Index.
La fentre Index: (nom de la table) donne la liste des index de la table active.
Vous pouvez modifier le nom dun index, ainsi que lordre de tri des valeurs du champ.
Cliquez sur la ligne de lindex pour que dautres proprits de lindex apparaissent dans
le cadre infrieur.
Primaire : Oui, si le champ est un champ identifiant de la table, auquel on souhaite
donner une cl primaire (cf. Chapitre 2 2 Champs identifiants ). Sil est le seul champ
identifiant, il ne pourra pas contenir de doublons (plusieurs valeurs identiques).
Unique : Oui, si les doublons ne sont pas autoriss.
Ignorer Nulls : Oui, si lindex ne doit pas prendre en compte les valeurs Null (cest-dire les cellules sans saisie).
K. Aligner le texte
On peut donner la proprit Aligner le texte lune des cinq valeurs suivantes :
- Gnral : cest loption par dfaut. Les donnes de type texte sont alignes
gauche, tandis que les donnes de type nombre sont alignes droite.
- Gauche
- Centre
- Droite
- Distribuer : les caractres sont distribus sur toute la largeur de chaque cellule
du champ, quelle que soit cette largeur.
48
3. LISTES DE CHOIX
Comme son nom lindique, une liste de choix permet de choisir une valeur dans une
liste, au lieu de taper cette valeur.
Cette mthode vise viter les fautes dorthographe et rendre la saisie plus rapide.
Une liste de choix peut tre cre :
- En Mode Cration ou en Mode Feuille de donnes,
- Avec ou sans lAssistant Liste de choix,
- Soit avec des valeurs entres expressment pour la liste, soit avec des valeurs
provenant dune autre table de la base ou des rsultats dune requte sur la base.
Une liste de choix dispose de nombreuses proprits.
Principe
Pour afficher les proprits dune liste : la table tant ouverte en Mode Cration, cliquez
sur la ligne du champ concern, puis activez longlet Liste de choix dans le cadre intitul
Proprits du champ .
Quand on clique sur une ligne de proprit, le cadre de droite affiche une explication de
cette proprit.
49
Liste de choix cre avec des valeurs entres expressment pour la liste
En Mode Cration
La table tant ouverte en Mode Cration, le bouton Colonne de recherche , situ
longlet Cration dans le groupe Outils , permet de crer un champ utilisant une liste de
choix.
50
Liste de choix cre avec des valeurs dune autre table de la base
Cette fois-ci, au lieu de saisir des valeurs exprs pour la liste de choix, on va les prendre
dans un champ dune autre table de la base. On pourra aussi afficher dautres champs de cette
table, source des valeurs.
Si les valeurs des champs de la table source sont modifies, la zone de liste sera
actualise en consquence.
Si ce nest dj fait, ouvrez la table contenant les champs dont les valeurs safficheront
dans la liste de choix.
La table sur le champ de laquelle on va crer une liste de choix est ouverte en Mode
Cration.
Affichez lAssistant Liste de choix : cliquez dans la cellule Type de donnes du
champ, puis ouvrez le menu droulant et choisissez la dernire option Assistant Liste de
choix .
- Dans la fentre de lAssistant, cochez loption Je veux que la liste de choix
recherche les valeurs dans une table . Cliquez sur Suivant .
- Dans la nouvelle fentre, slectionnez la table dont les champs contiennent les valeurs
qui seront celles de la liste de choix. Cliquez sur Suivant .
- Slectionnez les champs de la table. Vous pouvez utilisez les boutons >, >> ,< et <<.
Si vous slectionnez plusieurs champs, les valeurs de chacun constitueront une
colonne de la liste de choix.
Lordre de slection est important : lors de la saisie dans la feuille de donnes, si la
liste de choix comporte plusieurs colonnes, seules les valeurs de la premire sont
affichables dans la cellule de saisie.
- Cliquez sur Suivant .
- Vous pouvez trier les valeurs qui seront affiches, par ordre croissant ou dcroissant,
selon un ou plusieurs champs. Si des tris sont effectus sur plusieurs champs, le tri
dun champ prime sur le tri du champ suivant.
- Dans la fentre suivante, vous pouvez modifier la largeur dune colonne de la liste :
cliquez-glissez ou double-cliquez sur le bord droit dune case den-tte de colonne. Le
pointeur a la forme dune double-flche . Cliquez sur Suivant .
- Gardez le nom de ltiquette.
- Option Autoriser plusieurs valeurs : voir les remarques concernant cette option
dans le paragraphe prcdent Liste de choix cre avec des valeurs entres
expressment.
- Pour valider la liste de choix cre, activez le bouton Terminer .
La table tant ouverte en Mode Cration, cliquez sur la ligne du champ sur lequel
sapplique la liste de choix.
Dans le cadre intitul Proprits du champ , activez longlet Liste de choix .
Choisissez en premire proprit Zone de texte .
51
Champs identifiants
52
Sans que cela soit obligatoire, il est vivement conseill dattribuer une cl primaire
tout champ ou groupe de champs identifiant.
Il est usuel de dsigner alors ce champ ou ce groupe de champ la cl primaire de la
table.
53
La table tant ouverte en Mode Cration, pour attribuer une cl primaire un champ ou
un groupe de champs, procdez ainsi :
-
Sil sagit dun champ identifiant : cliquez sur la ligne de champ concern.
Une icne reprsentant une cl saffiche (nous prendrons le signe pour dsigner la
cl primaire ).
Pour un groupe de champs identifiant : licne saffiche dans la case dentte de chaque champ du groupe. Cest le groupe qui est cl primaire.
Si la table est utilise dans une relation, il faut supprimer dabord la relation (cf. 4 de
ce chapitre Modifier ou supprimer une relation ).
Pour supprimer une cl primaire : en Mode Cration, slectionnez le champ, puis
longlet Cration, dans le groupe Outils, cliquez sur le bouton Cl primaire .
Une cl trangre (ou cl externe) dune table, est un champ analogue une cl primaire
dune autre table. Les valeurs dune cl trangre ont normalement t dabord saisies dans la
cl primaire.
Les deux champs, cl primaire et cl trangre, peuvent porter des noms diffrents.
On nattribue pas de cl trangre, il sagit dune simple dnomination. Contrairement
la cl primaire symbolise par licne reprsentant une cl, un champ qui est cl trangre
nest dot daucun signe particulier.
Une relation est souvent reprsente par une ligne partant dune cl primaire dune table,
et arrivant la cl trangre correspondante dans une autre table.
Souvent , car il nest pas obligatoire (mais fortement conseill) dattribuer une cl primaire au champ
ou groupe de champs identifiant. De plus, une relation peut faire correspondre une cl primaire une autre cl
primaire.
54
Exemple
PROPRIETAIRE
NoPropr
Nom
Adresse
TERRAIN
RefCadastrale
Surface
NoProprietaire
NoVille
Dfinition
Communment, une relation un--plusieurs est reprsentable par une ligne partant de la
cl primaire dune table, et arrivant la cl trangre correspondante dune autre table.
Le premier champ, sil doit tre ncessairement le champ identifiant de la table, nest
pas obligatoirement cl primaire (pour quil le soit, on doit la lui attribuer). Pour plus de
simplicit, on parlera cependant de cl primaire et de cl trangre.
Lexemple prcdent ( 2 in fine) des tables PROPRIETAIRE et TERRAIN illustre une
relation un--plusieurs.
Une relation de type un--plusieurs est telle que :
55
Cts un et ct plusieurs
Une relation un--un peut tre reprsente par une ligne partant de la cl primaire dune
table et arrivant la cl primaire dune autre table.
Les deux cls primaires sont des champs analogues.
A un enregistrement dune table correspond un enregistrement de lautre table, et viceversa. Do le nom de ce type de relation un--un .
Les deux cts de la relation sont ici des cts un .
Si lintgrit rfrentielle est applique la relation (cf. 5), le chiffre 1 est affich prs de chacune des
deux tables sur la ligne de la relation.
LIVRE_PERSO
NumeroLivre
EtatLivre
Appreciation
AGarder(oui/non)
Les cls primaires des deux tables sont les champs analogues, NoLivre et NumeroLivre.
La relation part de la table principale LIVRE et arrive la table secondaire
LIVRE_PERSO.
56
Tables de jonction
Supposons quon souhaite relier deux tables, nommes A et B, telles que :
Par dfinition, cette relation ne peut donc tre ni de type un--plusieurs, ni de type un-un. Si ce type existait, on pourrait lappeler plusieurs--plusieurs.
Ces tables doivent dans ce cas tre relies par lintermdiaire dune troisime table,
nomme table de jonction.
Les tables A et B sont relies chacune la nouvelle table, dite table de jonction. Les
deux relations ainsi cres sont de type un--plusieurs.
Si on dote la table dune cl primaire, comme cest fortement recommand, on lattribue
au groupe de champs compos des cls trangres, correspondants aux cls primaires des
tables A et B.
La table de jonction peut galement comporter dautres champs.
Exemple
On a les deux tables ETUDIANT et COURS :
ETUDIANT
NoEtudiant
NomEtudiant
PrnomEtudiant
COURS
NoCours
NomCours
SUIVRE
NoEtudiant
NoCours
Moyenne
COURS
NoCours
NomCours
57
La fentre Relations
Pour afficher des tables dans la fentre Relations , affichez la fentre Afficher la
table : cliquez sur le bouton Afficher la table du groupe Relations , ou bien faites un
clic droit sur larrire-plan de la fentre > Afficher la table.
Les tables saffichent avec leur barre de nom, suivie des noms des champs, prcds
dune icne de cl , pour ceux qui ont t dots dune cl primaire.
Les champs apparaissent dans le mme ordre que dans la table ouverte en Mode
Cration. Cest le nom du champ qui parat, et non sa lgende comme sur la feuille de
donnes.
- Pour ajouter une table : vous pouvez la slectionner, puis activez le bouton
Ajouter , ou bien double-cliquer sur son nom.
En commandant lajout dune table dj prsente, on obtient laffichage (non la
cration) dune mme table, nomme (nom de la table)_1. On peut ainsi afficher le
nombre de fois souhait une mme table.
-
Pour afficher dun bloc toutes les tables relies, activez le bouton Afficher toutes
les relations du groupe Relations.
Pour slectionner une table dans la fentre Relations : cliquez sur son texte.
La couleur de larrire-plan de lun de ses champs change alors de couleur.
58
Pour dplacer une table : cliquez-glissez sur la barre de son nom jusqu lemplacement
souhait. Il sagit de la mthode habituelle pour dplacer une fentre.
Pour modifier la grandeur dune table, en hauteur ou en largeur : cliquez-glissez sur le
bord souhait (pointeur en double-flche ). Pour garder les proportions hauteur/largeur de la
table, cliquez-glissez sur un angle de la table (pointeur en flche oblique).
Pour afficher toutes les relations dans la fentre : cliquez sur le bouton Afficher
toutes les relations , ou bien faites un clic droit sur larrire-plan de la fentre >
Afficher toutes les relations. Toutes les tables relies sont affiches.
59
Avant de crer une relation entre deux tables, fermez dabord ces tables (clic
droit sur longlet de la table fermer > Fermer), sinon vous ne pourrez pas
appliquer loption dintgrit rfrentielle sur la relation.
Affichez les tables que vous souhaitez relier.
Affichez la fentre Modifier des relations : cliquez sur le bouton Modifier
des relations du groupe Outils .
Affichez la fentre Crer une nouvelle relation : dans la fentre Modifier
les relations , cliquez sur le bouton Nouvelle relation .
Renseignez la fentre Crer une nouvelle relation .
Utilisez les menus droulants pour saisir :
o
A gauche, la table do partira la relation, puis sa cl primaire (sinon le
champ identifiant).
o
A droite, la table o arrivera la relation, puis la cl trangre
correspondante (sinon le champ analogue), ou la cl primaire (sil sagit
dune relation de type un--un).
Validez.
Dans la fentre Modifier des relations , cliquez sur le bouton Crer.
Dans la fentre Relations , une ligne symbolise la relation entre les tables et on peut
visualiser sur quels champs des tables sappuie la relation.
Si on affiche nouveau la fentre Modifier des relations , on peut y voir indiqu le
type de la relation.
Aprs avoir ferm les tables concernes par la relation (cest ncessaire sil y a
application de lintgrit rfrentielle sur la relation), faites un clic droit sur la ligne de la
relation > Supprimer, ou bien slectionnez la relation en cliquant dessus et appuyez sur la
touche Suppr.
Confirmez la demande de suppression.
60
Si elles ne le sont pas, affichez les relations : longlet Outils de base de donnes ,
dans le groupe Afficher/Masquer, activez le bouton Relations.
Dans le groupe Outils de longlet Crer des Outils de relation , cliquez sur le bouton
Rapport de relations .
Pour imprimer ltat des relations, cliquez sur le bouton Imprimer du mode Aperu
avant impression , ou bien activez le bouton Office > Imprimer.
5. INTEGRITE REFERENTIELLE
Caractristique fondamentale de lintgrit rfrentielle : il ne peut y avoir de valeur de
cl trangre qui ne soit pas une valeur de la cl primaire correspondante. On ne peut ni saisir,
ni modifier, ni supprimer une valeur dans la cl trangre, ds lors quil ny aurait pas de
valeur identique dans la cl primaire (en revanche, il peut exister des valeurs de cl primaire
qui ne soient pas valeurs de cl trangre).
Si lintgrit rfrentielle impose quelques contraintes, celles-ci savrent ncessaires au
regard de la cohrence des donnes. Nous conseillons de lappliquer sur les relations de la
base de donnes.
Leffet principal de lintgrit rfrentielle est dempcher quune valeur soit saisie dans
le champ o arrive la relation (ordinairement cl trangre), quand cette valeur na pas sa
contrepartie dans le champ do part la relation (ordinairement cl primaire).
61
NbreHabitants
Dpartement
PERSONNE
NumeroPers
NomPers
Ville
62
Fermer les deux tables lies par la relation (clic droit sur longlet de la table
fermer > Fermer).
Affichez la fentre Relations : longlet Outils de base de donnes , dans
le groupe Afficher/Masquer, activez le bouton Relations. Affichez les deux
tables lies par la relation.
Ne pas confondre une table ouverte (elle affiche un onglet portant son nom) et une table affiche
dans la fentre de cration de la requte. Louverture et cet affichage sont indpendants.
Seulement aprs avoir activ loption Intgrit rfrentielle , en ayant coch la case
correspondante dans la fentre Modifier des relations (cf. prcdent), on dispose de deux
autres options, qui sont proposes juste en-dessous :
- Mettre jour en cascade les enregistrements correspondants
- Effacer en cascade les enregistrements correspondants .
Ces deux dernires options ne pourront sappliquer la relation que si lintgrit
rfrentielle est elle-mme applique.
VILLE
NumroVille
NomVille
NomEtat
Supposons quon ait appliqu cette relation lintgrit rfrentielle, ainsi que la
mise jour en cascade .
63
VILLE
NumroVille
NomVille
NomEtat
CLIENT
NoClient 1
NomClient
Tlphone
NoVille
(etc.)
64
TABLEAU
NoTableau
NomTab
Bois/Toile
DateTab
NoPeintre
NoMusee
MUSEE
NoMusee
NomMusee
Ville
NbVisiteurs
Pour chaque muse, le champ NbVisiteurs a en valeur le nombre de visiteurs par an, indiqu en millions.
Listes de choix
Crez deux listes de choix, lune sur le champ Nationalite, lautre sur le champ
Bois/Toile (cf. chapitre 5 3 Liste de choix cre avec des valeurs entres expressment ) :
65
- Validez.
Procdez de mme pour crer la liste de choix sur le champ Bois/Toile, en ne saisissant
que la valeur bois, la valeur toile tant la valeur par dfaut.
Jan
Nationalite
AnneeNaissance
AnneeDeces
nerlandais
1390
1441
italien
1445
1510
italien
1452
1519
4 Raphal
italien
1483
1520
5 Vronse
italien
1528
1588
2 Botticelli
3 De Vinci
Lonard
6 Bosch
Jrme
belge
1453
1516
7 Bruegel
Pieter
belge
1525
1569
8 Drer
Albrecht
allemand
1471
1528
grec
1541
1614
italien
1570
1610
9 Greco
10 Caravage
11 Hals
Frans
belge
1581
1666
12 Vermeer
Johannes
nerlandais
1632
1675
13 Fragonard
Jean Honor
franais
1732
1806
14 Gricault
Thodore
franais
1791
1824
15 Turner
William
anglais
1775
1851
16 Monet
Claude
franais
1840
1926
17 Renoir
Auguste
franais
1841
1919
18 Van Gogh
Vincent
nerlandais
1853
1890
19 Picasso
Pablo
espagnol
1881
1973
20 Klee
Paul
suisse
1879
1940
66
Table TABLEAU :
NoTableau
NomTab
Bois/Toile
DateTab
NoPeintre NoMusee
bois
1435
12
bois
1434
15
102 Le Printemps
bois
1478
18
103 La Joconde
bois
1507
12
bois
1507
12
toile
1563
12
bois
1505
20
1565
23
bois
1559
23
109 Autoportrait
bois
1498
20
toile
1590
20
toile
1594
10
18
112 La Bohmienne
bois
1630
11
12
bois
1625
11
12
114 L'Atelier
toile
1665
12
23
toile
1776
13
25
116 Le Verrou
toile
1778
13
20
toile
1819
14
20
toile
1820
14
20
toile
1823
14
20
toile
1838
15
15
toile
1872
16
13
toile
1877
17
13
toile
1889
18
13
toile
1890
18
13
125 Guernica
toile
1937
19
20
Table MUSEE :
NoMusee
NomMusee
Ville
NbVisiteurs
12 Louvre
Paris
13 Orsay
Paris
15 National Gallery
Londres
18 Offices
Florence
20 Prado
Madrid
23 Kunsthistorisches
Vienne
25 National Gallery
Washington
67
Requtes slection
Une requte slection permet dinterroger la base de donnes afin dobtenir les
informations souhaites. Elle ne modifie aucunement les donnes de la base.
Une requte slection permet de slectionner, trier et afficher des donnes. Elle permet
galement deffectuer des calculs sur les donnes (exemples : nombre de valeurs dun champ,
somme de ses valeurs).
Lexcution dune requte de slection aboutit laffichage dune table en mode Feuille
de donnes. On nomme cette table la table rsultat , ou plus simplement le rsultat de la
requte. On appelle souvent requte ce qui est en fait le rsultat de la requte.
Si les donnes de la base changent, la requte prend en compte dans son rsultat les
modifications qui ont t apportes.
Une table rsultat est temporaire. Elle est affiche lexcution de la requte, puis
supprime la fermeture de la requte. Libre ensuite dexcuter nouveau la requte pour
retrouver le rsultat, ou encore de crer une table partir de ce rsultat (cf. chapitre 12 1).
On peut baser une requte, un formulaire ou un tat sur une requte de slection. Ainsi,
au lieu dutiliser les donnes brutes dune table pour crer ce nouvel objet, on se sert du
rsultat dune requte pralablement cre.
68
Cette requte affiche les noms des amis prsents dans la table AMI et qui habitent Paris.
champs correspondants.
Le rsultat affiche les dates et les montants des factures adresses au client rfrenc
numro 82 (on suppose que, pour chaque client, il ne peut y avoir quune seule facture par
jour).
Le langage SQL des requtes de slection est tudi au chapitre 11 REQUETE DE
SELECTION EN MODE SQL.
Requtes action
Beaucoup moins utilise que la requte slection, une requte action ajoute, modifie ou
supprime des lments de la base.
Une requte action peut :
- Soit ajouter, modifier ou supprimer des enregistrements
- Soit crer, modifier ou supprimer une table.
Les requtes action font lobjet du chapitre 12 LES REQUETES ACTION.
69
LAssistant Requte est une mthode qui permet dlaborer une requte de slection, en
tant guid tape aprs tape. A chaque tape, on renseigne la fentre correspondante.
Avec cette mthode, on ne peut que crer une nouvelle requte, lAssistant nest en effet
pas utilisable pour modifier une requte existante (il renvoie alors au mode Cration).
LAssistant Requte permet de raliser plusieurs types de requtes. Cest la mthode la
moins puissante des trois. Les possibilits de slection des enregistrements y sont en effet trs
limites.
La cration dune requte de slection avec lAssistant Requte fait lobjet du chapitre 9.
SQL est le sigle de Structured Query Language, qui signifie langage de requte
structure.
Comme son nom lindique, ce langage, apparu dans les annes 1990, a t spcialement
conu pour la cration de requtes.
Cre une requte en mode SQL consiste crire directement la requte dans ce
langage. Dans la zone de saisie prvue pour cela, on tape le code de la requte.
Il sagit de la mthode la plus puissante, la plus cote par les informaticiens, celle qui
permet dcrire les requtes les plus labores.
Connatre le code SQL permet non seulement dcrire directement les requtes, mais
aussi danalyser celles qui ont t enregistres, et si ncessaire de les modifier. Nous vous
conseillons de connatre au moins les rudiments de ce langage simple, utilisant peu
dinstructions.
La cration dune requte en mode SQL fait lobjet du chapitre 11.
70
Access 2007 met notre disposition quatre Assistants, en fonction du type de requte
crer :
Requte simple : tous les enregistrements sont pris en compte dans le rsultat
de la requte. Dans une table, on choisit les champs afficher. Des calculs relatifs
un champ spcifi peuvent tre effectus sur les enregistrements. Ce type de
requte est tudi au 1 de ce chapitre.
Requte analyse croise : les champs dune table peuvent tre positionns
comme dans une feuille de calcul, en ligne ou en colonne. Des calculs relatifs un
champ spcifi sont effectus aux intersections ligne/colonne, ventuellement
galement sur les valeurs dune ligne. Ce type de requte est tudi au 2.
71
Titre dune requte : tapez un titre qui permette de retrouver aisment la requte.
La dernire fentre de lAssistant propose toujours :
- Soit dafficher le rsultat de la requte. Par dfaut, la case correspondant cette
option est coche. La table rsultat apparatra en mode Feuille de donnes.
- Soit de modifier la requte. La requte sera affiche en mode Cration pour tre
modifie (cf. chapitre 10 - REQUETE DE SELECTION EN MODE CREATION).
Go ! Pour crer une requte avec un Assistant, commencez par afficher la fentre
Nouvelle requte : longlet Crer, dans le groupe Autre, activez le bouton Assistant
Requte .
Tables utilises dans les exemples : nous utiliserons les tables dfinies au chapitre 7.
Choisissez le nom de la table, puis les noms des champs dont vous souhaitez afficher les
valeurs.
Si parmi les champs slectionns, lun est de type Numrique (sans tre cl primaire),
une fentre offre de choisir entre une requte Dtaille ou une Synthse . Choisissez la
requte dtaille.
Exemple
Affichez les noms, prnoms et annes de naissance des peintres de la table PEINTRE.
Ouvrez la fentre de lAssistant Requte simple .
Dans la zone de saisie du haut, choisissez la table PEINTRE.
Dans la zone de saisie du bas, affichez droite les champs NomPeintre, PrenomPeintre
et AnneeNaissance.
Dans la fentre suivante, gardez loption par dfaut : une requte dtaille.
Comme titre de la requte, vous pouvez saisir peintre-nom-prenom.
72
Calculs et regroupements
Si lun des champs slectionns est de type Numrique (sans tre cl primaire), la
requte peut effectuer calculs et regroupements, ce que lAssistant appelle Synthse .
Les Options de synthse permettent deffectuer sur les valeurs dun champ dfini,
une ou plusieurs des quatre oprations suivantes : Somme, Moyenne, Minimum ou
Maximum.
Si on coche la case proposant de compter les enregistrements, la table rsultat affiche
galement le nombre denregistrements de chaque regroupement sur lequel porte lopration.
Exemple
Max De NbVisiteurs
Compte De MUSEE
9
Vous pouvez doter les champs dune lgende. Pour cela, il faut dabord passer en mode
Cration (cf. chapitre 10 6 Les proprits des champs dans la table rsultat ).
Dans cet exemple, le regroupement porte sur tous les enregistrements.
La requte permet de savoir que : il y a en moyenne 4,57 millions de visiteurs par an. Le
muse qui a le plus de visiteurs par an en affiche 9 millions. La table MUSEE comporte 7
enregistrements de muses.
Prenom
Pierre
Paul
Jrmie
NoVersement MontantVerse
1
10,00
2
20,00
3
30,00
4
400,00
5
500,00
NumPers
1
1
1
2
2
Elles sont relies, et la relation sappuie sur les champs correspondants des deux tables
NumPers.
73
Faisons une requte avec lAssistant pour afficher le montant touch par chaque
personne (parmi celles qui ont reu un versement), et le nombre de versements pour chacune.
Dans la table VERSEMENT, slectionnez le champ MontantVerse. Sur la mme fentre :
dans la table PERSONNE, slectionnez les champs Nom et Prenom.
En Options de synthse , sur le champ MontantVerse, choisissez Somme. Cochez la
case Compter les enregistrements . Validez. Cliquez sur Terminer .
On obtient le rsultat:
Nom
Prenom
Martin
Pierre
Rivire
Paul
Somme De
MontantVerse
60,00
900,00
Compte De
Versement
3
2
Vous pouvez doter les champs dune lgende. Pour cela, il faut dabord passer en mode
Cration (cf. chapitre10 6 Les proprits des champs dans la table rsultat ).
Prenom
Pierre
Paul
Jrmie
NoVersement
1
2
3
4
5
6
7
8
DateVerse
MontantVerse
20,00
04/01/2010
40,00
04/01/2010
30,00
04/01/2010
100,00
25/05/2010
500,00
25/05/2010
60,00
12/08/2010
200,00
12/08/2010
10,00
12/08/2010
NumPers
1
3
1
2
3
2
3
3
Ralisons une requte Analyse croise afin dafficher pour chaque personne le
montant des sommes reues, par date de versement, ainsi que le montant total reu.
74
Pour cette requte, on a besoin des champs des deux tables. Ne pouvant slectionner
dans la fentre de lAssistant que les champs dune seule table ou dune seule requte,
commenons par crer une requte affichant les champs des deux tables : ouvrez lAssistant
Requte simple , et slectionnez les champs des deux tables en utilisant >> (on
slectionnera plus loin les champs souhaits pour la nouvelle requte). Choisissez
requte Dtaille .
Vous
pouvez
titrer
cette
requte
intermdiaire
Personne_Versement .
Ouvrez lAssistant Requte analyse croise . Cliquez sur la case Requtes , puis
slectionnez la requte prcdente Personne_Versement . Activez le bouton Suivant .
Choisissez comme en-tte de ligne les champs Nom et Prenom. Activez Suivant .
Choisissez comme en-tte de colonne le champ DateVerse. Activez Suivant .
Choisissez un regroupement par Date. Activez Suivant .
Choisissez en intersection ligne/colonne deffectuer des calculs sur le champ
MontantVerse, et en fonction, choisissez Somme. Laissez cocher la case Inclure les sommes
des lignes .
Activez Suivant . Vous pouvez titrer la requte Versement_par_date . Cliquez sur
le bouton Terminer.
On obtient le rsultat :
Nom
Martin
Rivire
Texier
Prenom
Pierre
Paul
Jrmie
Total de
MontantVerse
50
160
750
04/01/2010
12/08/2010
25/05/2010
50
40
60
210
100
500
NomMusee
Orsay
Louvre
75
NomPeintre
20 Klee
PrenomPeintre
Paul
Seul le peintre Paul Klee fait partie de la table PEINTRE, sans avoir de tableau dans la
table TABLEAU.
76
INDICATIONS PRELIMINAIRES
Avant dexcuter la requte, fermez les tables quelle concerne (pour fermer une table :
faites un clic droit sur son onglet > Fermer). Cest ncessaire pour lexcution de nombre de
requtes.
Dans la mesure o la requte est cre en mode Cration, et que son rsultat est affich
en mode Feuille de donnes, il est important de savoir passer dun mode lautre.
Il existe plusieurs mthodes pour passer dun mode daffichage lautre :
Avec les icnes de la barre dtat
Sur la barre dtat (en bas de lcran), droite, cliquez sur :
- Le premier bouton, dont licne reprsente une feuille de donnes
:
passage en Mode Feuille de Donnes.
- Ou bien sur le bouton dont licne comporte une querre
: passage en
Mode Cration.
Avec le ruban
Ouvrez longlet Accueil > cliquez sur la partie suprieure du bouton Affichage.
On retrouve les icnes prcdentes : la reprsentation dune feuille de donnes pour le
Mode Feuille de donnes et celle dune querre pour le Mode Cration.
Clic droit sur longlet de la requte
Faites un clic droit sur longlet de la requte > choisissez le Mode souhait.
77
Pour enregistrer une requte : cliquez sur le bouton Enregistrer de la barre doutils
accs rapide (en haut de lcran). Ou bien : faites un clic droit sur longlet de la requte >
Enregistrer. Ou encore : activez le bouton Office > Enregistrer.
Pour fermer une requte : cliquez sur le bouton Fermer (croix situe droite de
longlet de la fentre de la requte), ou bien : faites un clic droit sur longlet de la requte >
Fermer.
1. FENETRE
CREATION
DELABORATION
DUNE
REQUETE
EN
MODE
Go ! Pour crer une requte en mode Cration, commencez par afficher la fentre de la
requte, comportant la grille de cration : longlet Crer, dans le groupe Autre, activez le
bouton Cration de requte .
La fentre dlaboration dune requte en mode Cration, ainsi que la fentre Afficher
la table apparaissent. Affichez la ou les tables utilises par la nouvelle requte (si ncessaire
vous pourrez ensuite les supprimer ou en ajouter dautres), puis fermez cette fentre.
Access nomme la nouvelle requte Requte1. Vous pouvez la renommer : faites un clic
droit sur son onglet > Enregistrer. Tapez le nom souhait.
La fentre dlaboration de la requte comprend :
78
En haut, la zone daffichage des tables (ou des tables rsultats de requtes).
En bas, la grille de cration. Llaboration de la requte consiste principalement
saisir des informations dans cette grille.
La fentre dlaboration de la requte en mode Cration tant ouverte, faire un clic droit
sur longlet portant le nom de la requte, ou sur la zone daffichage des tables, ou sur la grille
de saisie des informations permet dafficher une liste de commandes, relatives llment sur
lequel on a cliqu.
-
Tables utilises dans les exemples : nous utiliserons les tables dfinies au chapitre 7.
Ne pas confondre une table ouverte (elle affiche un onglet portant son nom) et une table affiche dans la
fentre de cration de la requte. Louverture et cet affichage sont indpendants.
Naffichez que les tables ncessaires la requte. Mais affichez toutes celles quil faut :
on ne peut utiliser que les champs des tables affiches.
Pour afficher une table dans la partie suprieure de la fentre de la requte, on utilise la
fentre Afficher la table .
Concernant laffichage, la slection, le masquage ou le dplacement des tables, les
mthodes sont similaires celles appliques aux tables affiches dans la fentre Relations
(cf. chapitre 6 4 Gestion des tables ).
En rsum :
Pour ajouter une table, commencez par afficher la fentre Afficher la table : clic
droit sur larrire-plan de la fentre > Afficher la table. Double-cliquez sur le nom de la table
afficher.
Pour slectionner une table, cliquez sur son texte.
Pour masquer une table : faites un clic droit sur le texte de la table > Supprimer une
table.
Pour dplacer une table, cliquez-glissez sur la barre de son nom.
Pour largir ou rduire une table, cliquez-glissez sur lun de ses bords.
On saisit les noms des champs utiliss dans la requte la ligne Champs de la grille.
Si ncessaire, on peut saisir un mme champ sur plusieurs colonnes.
Il existe plusieurs mthodes pour saisir un champ, ou bien tous les champs :
- Cliquez dans une cellule de la ligne Champs , puis slectionnez un champ dans
le menu droulant . Sont proposs les champs des tables affiches.
Si on choisit table.*, on slectionne tous les champs de la table.
- Ou bien : partir de la table affiche, cliquez-glissez sur le nom du champ jusqu
une cellule de la ligne Champs .
79
En double-cliquant sur le nom dun champ dune table, il est saisi dans la premire
colonne vide. Si on double-clique sur lastrisque * de la table, on slectionne tous
les champs (on obtient le mme rsultat que le choix prcdent table.*).
On peut galement saisir une slection de plusieurs champs :
- En slectionnant plusieurs champs dans une table affiche : si les champs sont
juxtaposs, cliquez sur le premier, puis appuyez sur la touche Maj (Shift) et
cliquez sur le dernier. Sinon, cliquez sur le premier, puis appuyez sur la touche
Ctrl et cliquez sur les autres champs slectionner ;
- Puis en dplaant la slection dans la cellule souhaite de la grille.
Aprs validation de la saisie (il suffit de cliquer dans une autre cellule), le nom de la
table do vient le champ saffiche en-dessous, dans la ligne Table .
On peut afficher ou masquer cette ligne en activant le bouton Noms des tables , situ
longlet Crer des Outils de requte , dans le groupe Afficher/Masquer.
Un champ utilis dans une requte peut tre affich ou ne pas tre affich dans la table
rsultat de la requte.
Exemple
Considrons la requte portant sur la table PEINTRE (cf. chapitre 7), dont le rsultat
affiche uniquement les champs noms et prnoms des peintres ayant les numros 7 et 18.
La requte utilise les trois champs : NoPeintre, NomPeintre et PrenomPeintre.
Elle affiche seulement les champs NomPeintre et PrenomPeintre.
Si vous souhaitez que les valeurs dun champ apparaissent dans le rsultat dune
requte, laissez coche la case de la ligne Afficher correspondant ce champ (sinon,
cliquez dessus pour la dcocher).
Pour slectionner :
- Une colonne : cliquez sur la case den-tte (le pointeur devient une flche ).
- Plusieurs colonnes juxtaposes : cliquez-glissez sur les cases den-tte des
colonnes. Ou bien : slectionnez une colonne, puis appuyez sur la touche Maj
(Shift) et slectionnez la dernire colonne.
On ne peut pas slectionner des colonnes non juxtaposes.
80
3. TRI
Lapplication dun tri sur un champ permet dafficher les valeurs de ce champ en ordre
croissant ou dcroissant.
La grille de cration comporte une ligne Tri . En cliquant dans une cellule de cette
ligne, et en ouvrant le menu droulant , on peut choisir entre les options : Croissant,
Dcroissant ou (Non tri).
Exemple
Crons une requte affichant les noms des peintres par ordre alphabtique croissant.
Affichez le champ NomPeintre, puis cliquez dans la cellule Tri du champ et choisissez
loption Croissant.
Excutez la requte : longlet Crer des Outils de requte tant activ, cliquez sur le
point dexclamation rouge du groupe Rsultats.
Puis repassez en mode Cration de requte (en cliquant sur le bouton
du groupe
Affichages).
On peut raliser une requte avec un ordre de tri portant sur plusieurs champs. Les
champs doivent appartenir des tables diffrentes.
Lordre de tri dun champ est prioritaire par rapport celui dun champ plac sa droite.
Exemple
On peut imaginer une requte qui affiche par ordre alphabtique croissant les noms des
peintres de la table PEINTRE. De plus, pour chaque peintre, le rsultat affiche par ordre
alphabtique croissant les noms des tableaux, issus de la table TABLEAU.
4. CRITERES
Lapplication dun critre permet de slectionner dans le rsultat de la requte les
enregistrements rpondant ce critre.
Zone de saisie des critres : on dfinit les critres la ligne Critres ou sur les lignes
suivantes (on peut sauter des lignes).
Exemple
Ralisons une requte naffichant en rsultat que les noms des peintres de nationalit
italienne.
Affichez la table PEINTRE. Slectionnez les champs NomPeintre et Nationalite. A la ligne
Critres du champ Nationalite, tapez italien. Ne laissez coche que la case du champ
NomPeintre. Excutez la requte.
Orthographe et syntaxe
La zone de dfinition des critres nayant ni menu droulant, ni case cocher, le critre
doit tre saisi la main , en respectant orthographe et rgles de syntaxe.
81
Orthographe
La casse des lettres (majuscules ou minuscules) nest pas prise en compte. En revanche,
lorthographe est importante pour la reconnaissance des mots par Access.
Exemple
Reprenons lexemple prcdent. Si on tape italienne au lieu ditalien, Access ne
reconnatra pas la valeur du champ. Testez en excutant la nouvelle requte.
Pour quune valeur soit reconnue par Access, il est ncessaire de la saisir exactement
comme elle est crite dans la table affiche en mode Feuille de donnes.
En revanche, le langage SQL dans lequel est traduite la requte, ne reconnat pas la
casse des lettres. Dans lexemple prcdent, on peut crire indiffremment italien, Italien, ou
encore ITALIEN.
Syntaxe
Absence de valeur
Si un enregistrement na pas de valeur (valeur Null) sur le champ auquel est appliqu un
critre, lenregistrement nest pas slectionn.
Exemple
Ralisons la requte affichant les numros, noms et prnoms des peintres, dont le
prnom est diffrent de William.
Affichez la table PEINTRE. Slectionnez les champs NoPeintre, NomPeintre et
PrenomPeintre. A la ligne Afficher , laissez coches les cases des trois champs.
A la ligne Critres du champ PrenomPeintre, tapez <> William (il ne doit pas y
avoir despace entre le signe < et le signe >). Excutez la requte.
Remarque : les peintres de numros 2, 4, 5, 9 et 10 nayant pas de prnom affich dans
la table PEINTRE, ne figurent pas dans le rsultat de la requte.
Les critres sajoutent : on slectionne les enregistrements qui ont ce critre ET cet
autre critre ET ce 3me critre, etc. Plus on ajoute de critres, plus on est mme de
restreindre la slection des enregistrements.
Exemple : dans la table TABLEAU, le rsultat dune requte peut afficher les tableaux de
numro infrieur 115 ET de support bois ET raliss aprs 1500. Trois critres sont ici
ajouts. On les saisit sur une mme ligne de la zone de dfinition des critres. Peu importe
lordre des critres.
82
On peut ajouter des critres volont. A chaque nouveau critre ajout, on restreint, on
resserre lEtau de la slection. Plus on ajoute de critres, plus on est slectif.
On positionne (Etale) les critres qui sajoutent sur une mme ligne de la zone de saisie
des critres.
Exemple
Ralisons la requte slectionnant les peintres de nationalit italienne, ns avant 1600.
Seront affichs les noms des peintres et leur date de naissance.
Le mot ET est sous-entendu : on cherche les peintres de nationalit italienne ET ns
avant 1600. Les deux critres sajoutent, restreignant dautant la slection.
Affichez la table PEINTRE. Slectionnez les champs NomPeintre, Nationalite et
AnneeNaissance. A la ligne Afficher , dcochez la case du champ Nationalite.
Sur une ligne de la zone de saisie des critres, dans la colonne du champ Nationalite,
tapez italien.
Sur la mme ligne, dans la colonne du champ AnneeNaissance, tapez <1600.
Excutez la requte.
Reprenons lexemple. En plus des deux critres prcdents, ajoutez le critre : selon
lordre alphabtique, le nom du peintre doit commencer au moins par la lettre e.
Dfinissez les deux critres prcdents (peintres italiens, ns avant 1600).
Ajoutez le troisime critre sur la mme ligne, dans le champ NomPeintre. Tapez >d*.
Dans ce mme champ, vous pouvez galement appliquer un tri croissant. Excutez la
requte.
83
On obtient le mme rsultat si, au lieu dcrire lexpression dans une seule cellule, on
crit les critres, dans la colonne du champ Nationalite, sur trois lignes diffrentes :
- Sur une ligne de saisie de critres, tapez nerlandais
- A la ligne suivante : tapez belge
- A la ligne en-dessous : tapez grec.
Excutez la requte.
Autre exemple
Ralisons la requte slectionnant les peintres de nationalit grecque ainsi que ceux ns
aprs 1800. La requte affichera les noms et anne de naissance des peintres.
Le ainsi que se traduit par un oprateur OU.
Slectionnez les champs NomPeintre, Nationalite et AnneeNaissance. Laissez coche
leur case Afficher.
A la ligne Critres du champ Nationalite, tapez grec.
A la ligne suivante du champ AnneeNaissance, tapez >1800. Excutez la requte.
NomPeintre
Nationalite
= "italien"
AnneeNaissance
<1500
Nationalite
AnneeNaissance
"belge" Ou "grec"
<1600
On cherche (les peintres italiens ET ns avant 1500) OU (les peintres belges ou grecs
ET ns avant 1600), ce quon traduit ainsi dans la grille de cration de requte :
Les peintres italiens ET ns avant 1500 ont leurs critres dfinis sur une mme ligne.
On change de ligne pour signifier loprateur OU.
Les peintres (belges ou grecs) ET ns avant 1600 ont les critres galement dfinis sur
une mme ligne.
A la ligne Afficher , on ne laisse coches quune fois les cases des champs
Nationalite et AnneeNaissance.
Le Gnrateur dexpression
Pour dfinir un critre, on peut saider du Gnrateur dexpression dAccess 2007. Nous
lavons dj utilis au chapitre 5 G.
Pour afficher le Gnrateur dexpression :
- Cliquez dabord dans la cellule o vous souhaitez dfinir le critre.
84
Oprateur Comme
Ralisons une requte slectionnant le peintre Botticelli, dont on hsite sur
lorthographe du nom : sur une ligne de critres du champ NomPeintre, tapez : Comme bot*,
puis excutez la requte. Lastrisque peut remplacer plusieurs caractres.
Pour slectionner le peintre Fragonard, dont on hsite sur la dernire lettre (t ou d ?),
on peut taper : Fragonar ? Le point dinterrogation remplace un caractre.
Oprateur Pas
Ralisons une requte slectionnant les peintres ni allemand, ni franais, ni anglais.
Slectionnez les champs NomPeintre et Nationalite. Laissez coche leur case
Afficher .
85
Sur une ligne de dfinition des critres, dans la colonne du champ Nationalite, tapez :
pas allemand et pas franais et pas anglais. Peu importe la casse (majuscules ou minuscules)
et les espaces.
MoyenneDeNbVisiteurs
6
CompteDeNbVisiteurs
2
86
87
Pour cela, il utilisera la jointure entre les deux tables, jointure qui sappuie sur les
champs NoPeintre.
Concernant une requte, il ne sagit pas de relation , mais de jointure .
Comme une relation, une jointure relie deux champs analogues (gnralement une cl
primaire et la cl trangre correspondante).
Pour quil ait cration automatique de jointures, loption Access Activez les jointures automatiques
doit tre active. Vrifiez-le :
Cliquez sur le bouton Office > Options Access. Slectionnez la rubrique Concepteurs dobjets . Sous le
titre Cration de requte , vrifiez que la case Activez les jointures automatiques est bien coche. Sinon,
cochez-la.
Une jointure est automatiquement cre par Access dans les cas suivants :
- Une relation existe entre les deux tables.
- Les deux tables comportent deux noms de champs identiques, dont lun est
cl primaire.
Les champs seront joints , mme en labsence de relation entre les
tables. En affichant les deux tables, on peut voir une ligne reliant les deux
champs analogues. Elle reprsente la jointure entre les tables.
Contrairement la relation qui revt un caractre permanent (bien quelle puisse tre
supprime), une jointure est propre une requte, elle nexiste que le temps de la requte.
Si on affiche dans la fentre Relations deux tables jointes dans la fentre de la cration de requte,
mais qui nont pas t relies (cration dune relation entre elles), elles demeurent non relies.
Exemple
On souhaite crer une requte pour afficher les noms de muses o sont affichs les
tableaux peints par Van Eyck (ceux qui sont prsents dans la table TABLEAU).
La requte affichera le nom du peintre, les noms des tableaux et les noms des muses o
ceux-ci sont exposs.
La rponse cette requte ncessite que les trois tables PEINTRE, TABLEAU et MUSEE
soient en jointure deux deux : il y a slection des enregistrements de mme valeur
NoPeintre pour les deux premires tables, et slection des enregistrements de mme valeur
NoMusee pour les deux dernires.
Ralisez la requte. Affichez les trois tables. Slectionnez les champs NomPeintre,
NomTab et NomMusee. Sur une ligne de dfinition des critres du champ NomPeintre, tapez
=Van Eyck. Excutez la requte.
On obtient le rsultat :
NomPeintre
Van Eyck
Van Eyck
NomTab
La Vierge au chancelier
Les Epoux Arnolfini
NomMusee
Louvre
National Gallery
Le nombre de jointures cres est toujours gal au nombre de tables utilises, moins un.
Dans lexemple prcdent, on a trois tables, donc deux jointures.
88
Jointure interne
NomPeintre
NomTab
DateTab
Renoir
Chemin montant ()
1877
Van Gogh
1889
Van Gogh
L'Eglise d'Auvers-sur-Oise
1890
Picasso
Guernica
1937
Ces deux jointures ont des effets analogues. La jointure externe gauche (droite) garde
chaque enregistrement de la table situe gauche ( droite), mme sil ny a pas de valeur de
champ joint identique dans lautre table, en plus des enregistrements pour lesquels les champs
joints sont gaux.
Prenons lexemple de la jointure externe gauche.
89
8. REQUETE PARAMETREE
On peut faire dpendre le critre dun champ de la valeur saisie par lutilisateur de la
requte.
Exemple
Une requte peut demander de saisir le numro de client afin de pouvoir afficher ensuite
les coordonnes de ce client. On dit que la requte est paramtre.
On peut utiliser plusieurs paramtres au sein dune mme requte.
Pour dfinir un paramtre, il suffit de taper le texte de ce paramtre entre crochets.
Exemple : dans lexemple prcdent, la ligne de critres du champ NoClient, on peut
taper : = [Quel est le numro du client ?].
La valeur saisie par lutilisateur remplacera lexpression entre crochets lors de
lexcution de la requte.
Exemple
Ralisons une requte permettant son utilisateur de connatre la nationalit et la date
de naissance dun peintre dont il donnera le nom (le nom devra figurer dans la table
PEINTRE).
Slectionnez les champs NomPeintre, Nationalite et AnneeNaissance.
Sur une ligne de saisie de critres du champ NomPeintre, tapez = [Nom du peintre ?]
Excutez la requte.
90
Pour accder la fentre dans laquelle on tape une requte en mode SQL :
A longlet Crer (situ droite de longlet Accueil), dans le groupe Autre, activez le
bouton Cration de requte . Fermez la fentre Afficher la table .
Puis : soit dans le groupe Rsultats, soit dans la barre dtat, cliquez sur le bouton SQL.
INDICATIONS PRELIMINAIRES
Lors de la saisie dune requte, si la taille des caractres vous semble trop petite ou si
vous souhaitez changer de police, vous pouvez modifier ces paramtres :
Activez le bouton Office (en haut, gauche de lcran) > Options Access. Cliquez sur
Concepteurs dobjets . Dans la zone titre Cration de requte , vous pouvez changer la
taille des caractres ainsi que la police des textes de requtes. Validez.
Les nouveaux paramtres seront pris en compte lors des prochaines requtes.
Casse : SQL ne distingue pas les lettres minuscules des lettres majuscules.
Espaces et paragraphes : on peut insrer volont des espaces et des sauts de
paragraphes (en appuyant sur la touche Entre) pour rendre plus lisible le texte de la requte.
Les clauses
Comme tout langage, SQL utilise des mots qui lui sont propres. Certains sont appels
clauses . On les place gnralement en dbut de paragraphe, afin de rendre la requte plus
lisible. Exemples : select, from, where.
Le point-virgule final ;
A la fin dune requte, il est ncessaire de taper un point-virgule, pour signaler la fin de
la saisie du texte de la requte.
Avant dexcuter une requte, fermez les tables quelle concerne. Pour fermer une
table : faites un clic droit sur son onglet > Fermer.
91
Pour excuter une requte, afin dafficher son rsultat en mode Feuille de donnes (on
:
A longlet Crer des Outils de requte , dans le groupe Rsultats, cliquez :
Soit sur le bouton Excuter, dont licne est un point dexclamation
rouge
Soit sur le bouton Affichage, dont licne symbolise une feuille de
donnes .
utilise les mmes mthodes que pour lexcution dune requte en mode Cration)
Lorsquil sagit dune requte daction, le bouton Affichage permet de visualiser le rsultat avant
dexcuter la requte. Do lexistence des deux boutons Affichage et Excuter, dont lactivation conduit au
mme rsultat pour une requte de slection.
Retour en mode SQL : faites un clic droit sur longlet de la requte > Mode SQL.
Affichage limit des lignes de rsultat dune requte (fonctionnalit identique celle
dune requte en mode Cration)
Enregistrer et fermer une requte (mthodes identiques celles utilises pour une requte en
mode Cration)
Pour enregistrer une requte : cliquez sur le bouton Enregistrer de la barre doutils
accs rapide (en haut de lcran). Ou bien : faites un clic droit sur longlet de la requte >
Enregistrer. Ou encore : activez le bouton Office > Enregistrer.
Pour fermer une requte : cliquez sur le bouton Fermer (croix situe droite de
longlet de la fentre de la requte), ou bien : faites un clic droit sur longlet de la requte >
Fermer.
Les tables sont ainsi affiches dans la fentre Relations (le symbole
cl primaire :
EXPERT
NoExpert
NomExp
TelExp
EXPERTISE
NoExpert
NoTableau
DateExp
PrixEstime
TABLEAU
1
NoPeintre
NomTab
NomPeintre
Bois/Toile
PrenomPeintre
DateTab
NoPeintre
PEINTRE
1
NoTableau
reprsente la
NoMusee
Nationalite
AnneeNaissance
AnneeDeces
MUSEE
1
NoMusee
NomMusee
Ville
NbVisiteurs
On donne au champ TelExp le type Texte (on ny effectue pas de calcul), au champ
DateExp le type Date/Heure et au champ PrixEstime le type Montaire avec le format
Nombre gnral .
Avant de saisir les enregistrements, attribuez les cls primaires. Dans la table
EXPERTISE, slectionnez les trois champs, puis activez le bouton Cl primaire .
La table TABLEAU est relie aux tables EXPERTISE, PEINTRE et MUSEE.
Voici les enregistrements saisis dans les deux nouvelles tables (les prix estims, en
millions de francs, sont imaginaires) :
TABLE EXPERT :
NoExpert
NomExp
TABLE EXPERTISE :
TelExp
NoExpert
NoTableau DateExp
PrixEstime
30 FOUCHER Anne
09 30 40 50 60
30
115
01/06/1960
31 RIGAUD Jean
05 45 46 47 48
30
123
15/02/1990
200
32 BOUTIN Pierre
06 05 04 03 02
31
114
01/08/1980
10
32
116
01/07/1970
32
125
01/01/2000
500
32
116
01/08/1980
40
Saisissez, puis excutez cette requte. Retournez ensuite en mode SQL : clic droit sur
longlet de la requte > Mode SQL.
93
Pour renommer la requte, fermez dabord la requte (clic droit sur longlet portant son
nom > Fermer), puis faites un clic droit sur son nom dans le Volet de navigation >
Renommer. Tapez le nouveau nom et validez.
2) select NomExp, TelExp : ces deux champs sont slectionns. Ils seront les seuls
tre affichs dans le rsultat.
3) Le rsultat est affich en mode Feuille de donnes. Il est le suivant :
NomExp
TelExp
FOUCHER Anne
09 30 40 50 60
RIGAUD Jean
05 45 46 47 48
BOUTIN Pierre
06 05 04 03 02
Le concepteur de la base donne souvent aux champs des noms abrgs, peu
comprhensibles pour lutilisateur de la base.
Sans modifier son nom, on peut donner au champ une autre appellation plus explicite,
une lgende , qui le dsignera dans le rsultat de la requte. On prcde la lgende du mot
as. Une lgende ainsi dfinie, nexiste quau sein de la requte.
Exemple
Reprenons la requte prcdente, en donnant des lgendes aux deux champs.
select NomExp as [Nom de lexpert], TelExp as Tlphone
from EXPERT ;
Comportant des espaces, la lgende Nom de lexpert a t place entre crochets.
Saisissez, puis excutez la requte. Les champs sont dsigns par leur lgende.
Affichez la table Expert en mode Cration. Les noms des champs restent inchangs.
On peut ensuite utiliser le champ en le dsignant par sa lgende.
94
Quand plusieurs enregistrements ont des valeurs identiques pour tous les champs
affichs dans le rsultat, on utilise loprateur distinct si on veut nen garder quun seul, et
viter ainsi les doublons.
Exemple
Ralisons une requte pour afficher les villes de la table MUSEE, chaque ville ne devant
apparatre quune fois : select distinct Ville from MUSEE ;
Testez cette requte avec et sans loprateur distinct. Sans cet oprateur, la ville de
Paris est affiche deux fois.
Autre exemple
Excutons la requte :
Elment
Mer
Arbre
Mer
Mer
Couleur
Bleu
Vert
Bleu
turquoise
Qualificatif
Calme
Majestueux
Agite
Limpide
On obtient le rsultat :
Elment
Arbre
Mer
Mer
Couleur
Vert
Bleu
turquoise
95
2. CHAMPS OPERES
Un champ opr est un nouveau champ, construit partir dun champ de la mme
table, sur les valeurs duquel on a effectu une opration (on est en plein hpital) laide dun
oprateur (non, pas un chirurgien).
La mme opration est applique toutes les valeurs du champ, pour constituer le
nouveau champ, le champ opr. Le champ opr a donc le mme nombre de valeurs que le
champ de rfrence.
On peut construire un champ opr partir de plusieurs champs issus dune ou de
plusieurs tables.
Il convient de donner une lgende au champ opr (cf. 1 de ce chapitre Attribution
dune lgende un champ ).
Un champ opr peut tre construit partir dun champ de type Numrique. On peut
utiliser les oprateurs habituels, en particulier +, -, / et *.
Exemple
Supposons que dans une table, on ait le champ Quantit, de type Numrique. On
souhaite crer un nouveau champ, appel Quantit double, tel que ses valeurs soient le
double de celles du champ Quantit :
select Produit, Quantit * 2 as [Quantit double] from COMMANDE ;
Autre exemple
Ralisons la requte qui affiche pour chaque muse le nombre de visiteurs annuel en
milliers (et non plus en millions) :
select NomMusee, NbVisiteurs * 1000 as [Nombre de visiteurs (milliers)] from MUSEE ;
Excutez cette requte sans, puis avec la lgende du champ opr.
Un champ opr peut galement tre construit partir dun champ de type Texte.
Le signe de lesperluette & sert doprateur pour lier des chanes de caractres, ou
encore pour lier une chane avec une valeur de champ.
Une chane de caractres ajoute doit tre place entre guillemets "chane".
Veillez ce que les guillemets soient affichs ainsi " et non (si vous faites un Copier/Coller partir
dune requte tape sous Word, les guillemets ne seront pas valables).
96
Autre exemple
Sur la table EXPERT, ralisons la requte qui prsente sur une seule colonne le nom et le
numro de tlphone de chaque expert :
select NomExp & " Tel : " & TelExp as Expert from EXPERT ;
Saisissez, puis excutez la requte.
Le champ opr a t construit partir des champs NomExp et TelExp.
3. CHAMP DE FONCTION
Une fonction renvoie une seule valeur. On peut crer un champ, appel champ de
fonction, qui permet dafficher la valeur renvoye par une fonction.
Un champ de fonction est un nouveau champ, comportant une seule valeur. Cette valeur
rsulte dun calcul effectu sur toutes les valeurs dun champ.
Comme pour un champ opr, il convient de donner une lgende au champ de fonction
(cf. 1 de ce chapitre Attribution dune lgende un champ ).
Fonctions usuelles
On utilise communment les fonctions suivantes :
Count (champ) : cette fonction renvoie le nombre de valeurs du champ. Les
cellules non renseignes ne sont pas comptes (quand une cellule nest pas renseigne,
on dit quelle a la valeur Null).
Max (champ) ou Min (champ) : ces fonctions renvoient la valeur maximale ou
minimale des valeurs du champ.
Sum (champ) : cette fonction renvoie la somme des valeurs du champ.
Avg (champ) : cette fonction renvoie la moyenne des valeurs du champ (avg est
le sigle du mot average, qui signifie moyenne).
Un seul enregistrement
Une requte comportant une fonction dans sa clause select, ne peut afficher en rsultat
quun seul enregistrement, constitu de la ou des valeurs des champs de fonction. Le rsultat
peut en effet comporter plusieurs champs de fonction.
Exemples
Nombre de tableaux
26
Ralisons la requte qui affichera des statistiques sur les nombres de visiteurs annuels
des muses de la table MUSEE.
select max(NbVisiteurs) as [Maximum visiteurs dun muse],
sum(NbVisiteurs) as [Total visiteurs],
avg(NbVisiteurs)\1 as [Moyenne visiteurs] from MUSEE ;
Excutez cette requte, qui affiche trois champs de fonction. Enregistrez-la sous le nom
Statvisiteurs.
Aprs la fonction avg, on a tap \1, afin dafficher la valeur entire de la moyenne.
Testez la requte sans cette saisie.
Loprateur \ divise, puis il affiche la partie entire du rsultat. Exemple 7\2 affiche 3.
Moyenne visiteurs
9
Total visiteurs
5
32
Nombre de tableaux
Moyenne visiteurs
26
Total visiteurs
5
32
Sur la table EXPERTISE, ralisons la requte qui affichera les dates dexpertise la plus
ancienne et la plus rcente :
select min(DateExp) as [Expertise la plus ancienne],
max(DateExp) as [Expertise la plus rcente] from EXPERTISE ;
Saisissez, puis excutez la requte.
4. CLAUSE WHERE
La clause where permet de filtrer des enregistrements en fonction de critres dfinis.
Elle peut contenir plusieurs critres, spars par le mot and.
Bien quune requte soit toujours prsente sous la forme select from... where..., SQL
traite dans lordre : dabord la clause from, ensuite la clause where, puis la clause select. Sur
examen des tables (from), les enregistrements sont slectionns (where), puis il y a slection
des champs qui seront affichs (select).
Nous vous conseillons de rdiger la requte dans lordre selon lequel SQL excute les
clauses : dabord from, ensuite where, puis select.
98
On peut slectionner des enregistrements dont les valeurs sont issues de champs de
plusieurs tables.
Exemple : slection des tableaux peints par Bruegel. Cette requte fait appel aux tables
TABLEAU et PEINTRE.
99
Nombre de jointures
Le nombre de jointures est gal au nombre de tables, moins une. Exemple : sil y a 4
tables, il y aura 3 jointures dans la clause where. Dans lexemple prcdent, on a deux
tables, donc une seule jointure.
Le mme nom de champ peut apparatre dans plusieurs tables. Il sagit gnralement des
champs correspondants de deux tables.
SQL exige dans ce cas que soit prcise la table dappartenance du champ.
Exemple
select NomTab, PEINTRE.NoPeintre , NomPeintre
from TABLEAU, PEINTRE
where TABLEAU.NoPeintre = PEINTRE.NoPeintre ;
Le mme nom de champ NoPeintre apparat dans les tables PEINTRE et TABLEAU. On
doit donc prciser la table dappartenance du champ.
Donner un alias une table consiste lui donner un surnom, qui nexistera que dans la
requte. Cest simple et pratique. Lalias est plus rapide taper que le nom de la table (sil est
bien choisi). En revanche, une fois que lalias est dfini, son utilisation devient obligatoire
au sein de la requte, pour dsigner la table.
Souvent, on prend linitiale du nom de la table, si cette lettre nest pas dj prise. Sinon,
lalias comprend plusieurs lettres.
Ecrivons la prcdente requte en utilisant des alias :
select NomTab, P.NoPeintre , NomPeintre
from TABLEAU T, PEINTRE P
where T.NoPeintre = P.NoPeintre ;
Remarque : cette requte est bien la preuve que SQL traite dabord la clause from (o il
y a lalias de la table PEINTRE) avant la clause select (qui utilise lalias de cette table).
100
Remarque : utilisant plusieurs tables, la requte aura au moins une condition de jointure. Elle comportera
donc la clause where, ne serait-ce que pour dfinir cette jointure.
Noms et villes des muses o sont exposs les tableaux du peintre Fragonard
select NomMusee, Ville
from MUSEE M, TABLEAU T, PEINTRE P
where M.NoMusee = T.NoMusee
and T.NoPeintre = P.NoPeintre
and NomPeintre = "Fragonard" ;
Il est ncessaire de mettre Bois/Toile entre crochets, car le nom du champ comporte un caractre spcial
(/). Par ailleurs, aprs loprateur count, il est ncessaire de placer le champ entre parenthses. Do la prsence
ncessaire des parenthses et des crochets.
Numros et noms des peintres dont les tableaux ont t valus par Anne Foucher
select P.NoPeintre, NomPeintre
from PEINTRE P, TABLEAU T, EXPERTISE EE, EXPERT E
where P.NoPeintre = T.NoPeintre
and T.NoTableau = EE.NoTableau
and EE.NoExpert = E.NoExpert
and NomExp = "Foucher Anne" ;
A la dernire ligne, toutes les parenthses sont ncessaires pour lexcution de la requte. Le nombre de
parenthses ouvrantes doit tre gal au nombre de parenthses fermantes.
101
Hormis les oprateurs classiques <, <=, =, >=, > et <> (diffrent ne pas mettre
despace entre les deux signes < et >), trois autres oprateurs savrent particulirement
utiles :
Like (comme) permet de comparer des chanes de caractres. Il est utilis avec les
oprateurs :
* pour remplacer 0, 1 ou plusieurs caractres quelconques.
? pour remplacer un seul caractre.
Exemples
select distinct NomMusee from MUSEE where (NomMusee like "kun*")
or (NomMusee like "National Gal*ery") ;
Testez la requte sans, puis avec loprateur distinct.
In (dans)
Exemple : noms des tableaux qui sont exposs dans les muses nos 13, 18 et 23
select NomTab, M.NoMusee
from TABLEAU T, MUSEE M
where T.NoMusee = M.NoMusee
and M.NoMusee in (13, 18, 23) ;
Le nom du champ NoMusee tant prsent dans les deux tables, il faut prciser sa table.
Il est plus rapide dutiliser ainsi loprateur in, plutt que dcrire :
() and ((M.NoMusee) = 13 or (M.NoMusee) = 18 or (M.NoMusee)) = 23 ;
Les parenthses sont indispensables pour lexcution de la requte.
Quand on dit quun enregistrement na pas de valeur dans un champ, il est sousentendu : pas de valeur indique dans la cellule. Dans ce cas, on dit que sa valeur est Null.
Dans la feuille de donnes dune table, les cellules sans valeur, dites vides , ont la
valeur Null.
Lexpression champ is Null est vrai pour les enregistrements exempts de valeur dans
le champ.
Exemple
Noms des peintres sans indication de prnom, de numro infrieur ou gal 10 :
select NomPeintre from PEINTRE where PrenomPeintre is Null and NoPeintre <=10 ;
102
5. DATES ET HEURES
Dates
Afin que SQL ne traite pas les signes / comme des oprateurs de division, on entoure
les dates de dises #.
Exemple
Nombre dexpertises ralises depuis 1er janvier 1990 :
select count (*) as [Nombre dexpertises depuis le 01/01/1990]
from EXPERTISE
where DateExp > #01/01/1990# ;
On peut indiffremment crire 01/01/1990 ou 1/1/1990.
Date du jour
La fonction Date( ) renvoie la date du jour (lordinateur tant correctement paramtr).
Elle permet de rcuprer la date systme de lordinateur.
Excutez la requte : select distinct date( ) from (table de votre choix) ;
(On ajoute distinct, sinon on obtient toutes les lignes des enregistrements avec la date du jour)
Oprateurs de comparaison et calculs sur les dates
Les dates tant stockes sous forme de nombres entiers (un jour vaut 1), on peut les
comparer comme des nombres, en utilisant les oprateurs <, <=, =, >=, > et <> (cf. lexemple
ci-dessus).
Une date plus rcente (elle correspond un nombre plus grand) est considre
suprieure une date moins rcente.
Quand on gre des dates, il convient de savoir si elles sont en format franais
jj/mm/aaaa, ou en format amricain mm/jj/aaaa. La date 10/03/2000 correspond au 10 mars
2000 en format franais, et au 3 octobre 2000 en format amricain.
Pour connatre le format dune date, il faut dabord distinguer si elle est entoure de
signes dises #.
103
Une date entoure de signes dises de forme #nb1/nb2/aaaa# (nb1 pour 1er nombre et nb2
pour 2 nombre) est considre tre :
Au format amricain mm/jj/aaaa, si nb1 est infrieur ou gal 12
Sinon, au format franais jj/mm/aaaa.
Exemples :
me
day (#11/08/2000#) = 8
La date est place entre dises et 11 est infrieur 12, donc SQL la considre tre au
format amricain mm/jj/aaaa.
day (#13/08/2000#) = 13
La date est place entre dises et 13 est suprieur 12, donc SQL la considre tre au
format franais jj/mm/aaaa.
Une date non entoure de signes dises est considre tre au format franais
jj/mm/aaaa.
Exemples
select DateExp, day(DateExp) as jour, month(DateExp) as mois
from EXPERTISE
where NoExpert = 31 and NoTableau = 114 ;
Non entoure de dises, la date du 1er aot 1980 est considre tre au format
jj/mm/aaaa.
Remarque : il doit y avoir autant de parenthses ouvrantes que de parenthses fermantes (sept de chaque,
dans cet exemple).
Heures
On crit toujours les heures au format hh:mm ou au format hh:mm:ss.
Comme une date, une heure doit tre encadre de dises #.
104
Access stocke galement les heures sous forme de nombres entiers (une heure de la
journe est stocke en nombre de secondes coules depuis minuit). On peut donc utiliser les
oprateurs et effectuer des calculs sur les heures.
Exemples : #15:08#, #07:34:16#
6. REQUETE PARAMETREE
Un paramtre est un lment destin tre remplac. On appelle requte paramtre une
requte qui contient un ou plusieurs paramtres. Lutilisateur est invit entrer une valeur qui
remplacera le paramtre dans la requte.
But de la requte crer : aprs saisie par lutilisateur du nom dune ville (pour que la
requte affiche une valeur, la ville devra se trouver dans la table MUSEE), le rsultat de la
requte affichera les noms des muses de cette ville.
select NomMusee
from MUSEE
where Ville = [Nom de la ville ?] ;
Dans la clause where, au lieu de prciser une valeur de champ Ville, on a plac un
paramtre. Les crochets sont justifis par la prsence despaces et du caractre spcial dans le texte du
Requte :
paramtre (il suffit dun espace ou dun caractre spcial pour les rendre ncessaires).
Autre exemple
Noms et dates des tableaux raliss par un peintre, dont on saisit le nom
select NomTab, DateTab
from TABLEAU T, PEINTRE P
where T.NoPeintre = P.NoPeintre
and NomPeintre = [Veuillez saisir le nom dun peintre] ;
Remarque : dans une requte, quand le nom dun champ est mal orthographi, SQL ne
le reconnaissant pas, le prend pour un paramtre. Exemple : select NomTablo from TABLEAU ;
Le tri des noms de peintre est croissant. Si on le veut dcroissant, on ajoute desc aprs le
champ NomPeintre : order by NomPeintre desc ;
Dans la clause order by, au lieu de rpter le nom dun champ affich dans la clause
select, il suffit de taper le rang quil a dans cette clause :
select NomPeintre, PrenomPeintre from PEINTRE
order by 1 ;
Le chiffre 1 dsigne le rang du champ NomPeintre dans la clause select.
Si le tri porte sur plusieurs champs, le champ de gauche est prioritaire par rapport
celui situ sa droite. Quand il y a galit de valeurs dans un champ, SQL considre le champ
suivant pour raliser le tri.
Exemple
select NoTableau, DateExp, PrixEstime from expertise
order by 1, 2 ;
Il y a tri par NoTableau, puis par DateExp.
106
Excutez cette requte. Testez la nouvelle requte en modifiant ainsi la dernire ligne :
order by 1, 2 desc ; Les enregistrements relatifs au tableau n 116 sont inverss.
Crez une table avec un seul champ de type Texte. Enregistrez-la sous le nom de
NOMBRETEXTE. Saisissez les valeurs suivantes dans son champ :
1, 2, 3, 4, 5, 20, 31, 46, 300, 4000
Excutez une requte triant les nombres de type Texte de cette table :
select * from NOMBRETEXTE
order by 1 ;
Les nombres de type Texte sont tris sous le principe dordre alphabtique :
1, 2, 20, 3, 300, 31, 4, 4000, 46, 5
8. SOUS-REQUTES
Comme le suggre son nom, une sous-requte est une requte contenue dans une autre
requte.
Il ne faut pas confondre une sous-requte, dont on utilise le rsultat dans un critre de la clause where,
avec une requte laquelle on fait appel dans la clause from.
Une requte peut contenir des sous-requtes, qui elles-mmes peuvent contenir dautres
sous-requtes, etc. Il convient de bien prsenter (utilisation dalinas) la requte principale
contenant les autres requtes, de sorte quelle soit lisible.
Une sous-requte ne peut avoir quun seul champ en rsultat.
Mthode : on labore dabord la ou les sous-requtes, puis on ralise la requte
principale.
On place la sous-requte entre parenthses, et on ne tape pas de point-virgule final.
Exemples
Noms et prnoms des peintres de mme nationalit quun peintre dont le nom est
saisi en paramtre
La dernire ligne de la requte permet dviter que le peintre dont le nom est saisi en
paramtre, fasse partie du rsultat.
107
Noms des tableaux peints aprs le tableau La Joconde , tris par numros
Oprateur all
108
Oprateur any
9. REQUETES DE REGROUPEMENTS
Au paragraphe 3 de ce chapitre, on a vu quune fonction, applique un champ, permet
de renvoyer le rsultat dun calcul effectu sur toutes les valeurs de ce champ.
Exemple : count(champ) renvoie le nombre de toutes les valeurs (non Null) du champ.
109
Exemples
(On a ordonn les enregistrements par ordre alphabtique des noms dexperts)
Nombre de tableaux raliss par peintre, les noms des peintres commenant par la
lettre B ou V
On peut dfinir des critres sur les groupes denregistrements. Un critre non respect
par un groupe limine ce groupe du rsultat de la requte.
Dans le fonctionnement de la requte (voir ci-dessus tape 4 bis), la clause
facultative having est prise en compte par SQL juste aprs la clause group by, crant les
regroupements.
Par dfinition, il ne peut y avoir une clause having sans la clause pralable group by.
Les enregistrements sont regroups selon des valeurs identiques de champs (group by), puis
ne sont gards que les groupes ayant certains critres (having).
110
Exemples
Reprenons certains exemples en ajoutant des conditions respecter par les groupes
denregistrements.
Nombre des peintres par nationalit, parmi ceux qui ne sont pas franais
select Nationalite, count(*) as [Nombre de peintres]
from PEINTRE
group by Nationalite
having Nationalite <> "franais"
order by 1 ;
(Ne pas mettre despace entre les deux signes < et > de loprateur diffrent <>)
visiteurs
select Ville, count(*) as [Nombre muses], sum(NbVisiteurs) as [Nombre visiteurs]
from MUSEE
group by Ville
having sum(NbVisiteurs) > 3 ;
Nombre de tableaux raliss par peintre, les noms des peintres commenant par la
lettre B ou V
Le mme rsultat que celui de la requte prcdente peut tre obtenu en utilisant la
clause having :
select NomPeintre, count(NomTab) as [Nombre de tableaux]
from PEINTRE P, TABLEAU T
where P.NoPeintre = T.NoPeintre
group by NomPeintre
having (NomPeintre like "B*") or (NomPeintre like "V*")
order by 1 ;
Nombre de tableaux par peintre, des peintres ayant ralis au moins deux tableaux
(table TABLEAU)
111
Affichage et excution
Avant dexcuter une requte action, on peut visualiser son action en mode Feuille de
donnes : cliquez sur le bouton Affichage (onglet Crer des Outils de requte ).
Pour excuter la requte action : retournez si ncessaire en mode Cration (clic droit sur
longlet de la requte > Mode Cration), et cliquez sur le bouton Excuter .
Cration de table
On a cr une requte slection, et on souhaite crer une table analogue son rsultat.
Une requte de type Cration de table permet de crer cette table.
Exemple
On utilisera la table PEINTRE dfinie au chapitre 7.
Nous raliserons la requte de slection qui renvoie les peintres de numros 1 10, ni
grecs et ni allemands. Seront affichs les numros, les noms et les nationalits des peintres.
Puis nous crerons une table analogue au rsultat de la requte.
1) En mode Cration, ralisez la requte slection :
Affichez la table PEINTRE.
Affichez le champ NoPeintre. Sur sa ligne Critres , tapez : entre 1 et 10.
Affichez le champ NomPeintre.
112
Affichez le champ Nationalite. Sur sa ligne Critres , tapez : pas grec et pas
allemand.
Laissez coches les trois cases de la ligne Afficher .
Enregistrez la requte.
2) Transformez la requte slection en requte action de type Cration de table :
- Affichez la fentre Cration de table : longlet Crer des Outils de
requte , dans le groupe Type de requte , activez le bouton Cration
de table .
- Dans la fentre Cration de table , saisissez un nom. Validez.
3) Affichage et excution :
- Si vous le souhaitez, affichez dabord le rsultat de la requte action. Puis
repassez en mode Cration pour excuter la requte.
- Excutez la requte slection en activant le bouton Excuter .
Dans le Volet de navigation, sont affichs :
- Le nom de la nouvelle table
- Le nom de la requte action avec un point dexclamation et licne dune
table avec un flash (symbolisant un nouvel lment).
Si on modifie cette requte action (par exemple, en ajoutant sur le champ
AnneeNaissance le critre : < 1500), puis si on lexcute nouveau, la table sera modifie en
consquence. Testez.
4) Affichage et excution :
- Si vous le souhaitez, affichez dabord la requte. Elle prsente la table des
enregistrements qui seront modifis (dans lexemple : les enregistrements
des peintres de nationalit nerlandaise). Repassez en mode Cration pour
excuter la requte.
- Excutez la requte.
Dans le Volet de navigation, le nom de la requte action apparat avec un point
dexclamation et licne dun crayon (symbolisant une modification).
Ouvrez la table PEINTRE, vrifiez que la mise jour a bien t effectue.
On peut se servir de la requte action pour effectuer de nouvelles modifications.
Exemple : Modifiez la table PEINTRE pour obtenir nouveau la table dorigine :
- Ouvrez la requte action en mode Cration.
A la ligne Critres, tapez hollandais.
- A la ligne Mise jour , tapez nerlandais.
- Excutez la nouvelle requte action.
Ajout denregistrements
NomTab
()
Le Tmraire
La Pie
Les Baigneuses
()
Bois/Toile
()
toile
toile
toile
()
DateTab
NoPeintre
()
()
1838
15
1869
16
1918
17
()
()
NoMusee
()
15
13
13
()
114
Suppression denregistrements
115
En mode SQL, il est possible de crer une table, en constituant sa structure : noms et
types des champs, attribution ventuelle dune cl primaire.
Pour attribuer une cl primaire un champ, tapez primary key juste aprs le type du
champ.
Exemple
Pour crer la table PERSONNE constitue des champs : NoPersonne, Nom,
DateNaissance et Poids, excutez la requte :
create table PERSONNE
(NoPersonne counter primary key, Nom char (20), [Date Naissance] date, Poids float) ;
Un objet table ou champ comportant un espace ou un caractre spcial, doit tre plac entre crochets.
Ouvrez la table PERSONNE en mode Cration. Vrifiez les lments dfinis dans la
requte : les types de donnes des champs, la taille du champ Nom ainsi que la prsence de la
cl primaire sur le champ NoPersonne.
116
Modifier un champ
On ne peut modifier quun seul champ la fois. La modification peut porter sur le type
du champ ou sur lattribution dune cl primaire.
La syntaxe dune requte de modification dun champ est :
alter table (Nom de la table)
alter column champ type ;
(alter signifie changer)
Si on change le type dun champ, le nouveau type doit tre compatible avec les valeurs
contenues dans le champ.
Exemple : si le champ contient des nos de tlphone de type integer, on peut lui attribuer
le type char. Par contre, si un champ contient du texte, on ne peut pas lui attribuer le type
integer, ni le type float.
Exemple
Dans la table PERSONNE, le champ Nom a une longueur maximale de 20 caractres.
Attribuons-lui une nouvelle longueur maximale de 50 caractres :
alter table PERSONNE
alter column Nom char (50) ;
Ouvrez la table PERSONNE en mode Cration, et vrifiez la nouvelle taille du champ.
Ajouter un champ
On peut ajouter plusieurs champs la fois, galement dfinir une cl primaire en tapant
lexpression primary key juste aprs le type du champ.
La syntaxe dajout dun champ est :
alter table (nom de la table)
add column champ1 type1, champ2 type2 ;
(add signifie ajouter)
Exemple
Ajoutez le champ Ville et le champ Nombre denfants la table PERSONNE :
alter table PERSONNE
add column Ville char (30), [Nombre denfants] integer ;
Ouvrez la table PERSONNE en mode Cration, et vrifiez la prsence et les types des
deux nouveaux champs.
Supprimer un champ
Exemple
Supprimez le champ Poids de la table PERSONNE :
117
Fermez la table (clic droit sur son onglet > Fermer), avant de la supprimer.
La syntaxe de la requte de suppression dune table est :
drop table (nom de la table) ;
Exemple
Supprimez la table PERSONNE :
drop table PERSONNE ;
Vrifiez que son nom nest plus affich dans le Volet de navigation.
118
Cration dune table nomme CONTACT et saisie denregistrements dans cette table :
On peut modifier des enregistrements, y compris des enregistrements dont les valeurs de
champs appartiennent des tables diffrentes (la requte contiendra alors des jointures).
La syntaxe dune requte de modification denregistrements est :
update table1, table2,
set champ1 = valeur1,
champ2 = valeur2,
where
119
Exemple
On utilisera les tables PEINTRE et TABLEAU dfinies au chapitre 7.
Attribuons le prnom Sandro au peintre Botticelli et modifions la date de ralisation
du tableau Le Printemps :
update PEINTRE P, TABLEAU T
set PrenomPeintre = "Sandro",
DateTab = 1479
where P.NoPeintre = T.NoPeintre and NomPeintre = "Botticelli"
and NomTab = "Le Printemps" ;
Remarque : un seul tableau de Botticelli tant prsent dans la table TABLEAU, les modifications seraient
galement effectues sans la prcision NomTab = "Le Printemps".
Suppression denregistrements
Si la requte na pas de clause where, tous les enregistrements de la table sont effacs.
Exemple
Supprimons les enregistrements prcdemment ajouts la table PERSONNE :
delete
from PERSONNE
where Nom in ("Tina", "Fanny") ;
120
1. CREER UN FORMULAIRE
Raliser un formulaire consiste prioritairement insrer des champs sur une feuille
vierge. Ces champs peuvent provenir de tables ou de rsultats de requtes.
Linsertion dun champ se traduit par laffichage sur le formulaire de deux contrles :
- Une tiquette portant la lgende, sinon le nom du champ, pour indiquer
lutilisateur ce qui a t saisi, ou ce quil doit saisir dans le contrle associ.
- Le contrle associ permettant dafficher ou de saisir une valeur du champ.
En fonction du type de donnes du champ, il est une zone de texte, une zone de
liste ou une case cocher.
Ce contrle hrite des proprits du champ, en particulier des proprits Lgende,
Format et Masque de saisie.
Il existe plusieurs mthodes de cration dun formulaire, que nous dtaillons plus loin :
- Le Formulaire vierge
- Cration rapide en deux clics
- L Assistant Formulaire
- Le mode Cration, mthode par excellence de cration dun formulaire.
Le formulaire ayant t cr, son nom saffiche dans le Volet de navigation.
Tables utilises dans les exemples : nous utiliserons les tables dfinies au chapitre 7.
121
Formulaire vierge
Il sagit dune mthode simple, quon peut utiliser ds lors quil y a peu de champs
insrer dans le formulaire. Elle permet dinsrer les champs souhaits, dans lordre souhait.
Pour crer un formulaire :
- A longlet Crer, dans le groupe Formulaires, activez le bouton Formulaire
vierge . Un formulaire vide est cr, affich en mode Page.
- Utilisez le volet, titr Liste de champs , pour insrer les champs souhaits dans
le formulaire. Cliquez sur le signe + dune table pour louvrir. Pour insrer un
champ : cliquez-glissez sur son nom jusquau formulaire, ou bien double-cliquez
sur son nom.
Le formulaire affiche louverture les valeurs du premier enregistrement.
Si on insre galement un champ dune table issue de la zone Champs disponibles
dans les tables associes , les valeurs correspondantes de ce champ saffichent en
dessous, en prsentation analogue celle dune Feuille de donnes. Cest un sousformulaire.
Exemple
Nous utiliserons les tables PEINTRE et TABLEAU dfinies au chapitre 7.
Aprs avoir activ le bouton Formulaire vierge , ouvrez la table PEINTRE, puis
double-cliquez sur les champs NoPeintre, NomPeintre, PrenomPeintre et Nationalite.
Ouvrez la table associe TABLEAU (une relation existe entre les tables PEINTRE et
TABLEAU, elle sappuie sur les champs correspondants NoPeintre). Cliquez-glissez sur le
champ NomTab jusquau formulaire.
On obtient :
NoPeintre:
NomPeintre:
PrenomPeintre:
Nationalite:
1
Van Eyck
Jan
Nerlandais
NomTab
La Vierge au chancelier
Les Epoux Arnolfini
Lexistence dune relation entre les tables PEINTRE et TABLEAU a permis la cration
automatique du sous-formulaire. Il affiche les noms des tableaux raliss par le peintre
indiqu au-dessus, dans le formulaire.
En bas de lcran, deux barres de boutons de dplacement permettent de passer dun
enregistrement un autre, galement de saisir un nouvel enregistrement ou de rechercher un
enregistrement. La barre infrieure est relative aux enregistrements du formulaire, et la barre
juste au-dessus concerne les enregistrements du sous-formulaire.
122
Formulaire
Tous les champs de la source de donnes (table ou requte) sont doffice insrs, avec
cration ventuelle dun sous-formulaire.
Exemple
Nous utiliserons les tables PEINTRE et TABLEAU dfinies au chapitre 7.
Cliquez sur la table PEINTRE (relie la table TABLEAU), puis activez le bouton
Formulaire . Il y a cration automatique dun sous-formulaire, dans lequel ont t insrs
les contrles correspondant aux champs de la table TABLEAU.
La prsentation est similaire celle du formulaire cr aprs activation du bouton
Formulaire vierge (voir paragraphe prcdent Formulaire vierge ).
Plusieurs lments
Plusieurs lments (enregistrements) sont affichs : il ny a pas un enregistrement
par page comme prcdemment, mais un enregistrement par ligne. La prsentation ressemble
celle dune Feuille de donnes, en tant beaucoup plus paramtrable.
Feuille de donnes
En cliquant sur le bouton Plus de formulaires , puis en choisissant loption Feuille
de donnes , un formulaire est gnr avec une prsentation analogue celle de la Feuille de
donnes.
Cette mthode permet une prsentation plus personnalise que les prcdentes.
Commencez par prciser la source de donnes du formulaire : dans le Volet de
navigation, cliquez sur une table ou sur une requte.
Puis affichez la fentre Assistant formulaire : longlet Crer, dans le groupe
Formulaires, activez le bouton Plus de formulaires , et choisissez Assistant Formulaire .
LAssistant pose des questions, et gnre le formulaire correspondant aux informations
donnes en rponses.
1re tape : Slection des champs
A laide des boutons >, >>, <, <<, ou bien par double-clic, slectionnez les champs que
vous souhaitez insrer dans le formulaire.
Vous pouvez slectionner des champs de plusieurs tables ou requtes.
Exemple : dans la table PEINTRE, slectionnez les champs NoPeintre, NomPeintre,
PrenomPeintre, Nationalite et dans la table TABLEAU, slectionnez les champs NomTab et
DateTab.
123
Sinon, les champs provenant de plusieurs tables relies, lAssistant propose un affichage
des donnes en un formulaire unique, en un formulaire avec sous-formulaire(s) (sur une
mme page) ou en formulaires, attachs. Quand cette dernire option est choisie, deux
formulaires sont crs, et le formulaire principal indique le formulaire attach.
Exemple : choisissez formulaire avec sous-formulaire.
3me tape : Disposition des champs
- Si les champs proviennent dune seule table, quatre dispositions sont
proposes pour le formulaire : Colonne simple, Tabulaire (cest--dire en forme de
tableau), Feuille de donnes et Justifi. En cochant sur une case doption, on peut
visualiser la disposition correspondante.
- Si les champs proviennent de plusieurs tables relies, deux dispositions sont
proposes pour le sous-formulaire : Tabulaire ou Feuille de donnes.
Exemple : laissez la case Feuille de donnes coche.
124
Nom du champ:
(tiquette)
Nom du champ
(zone de saisie)
Exemple : insrez les champs de la table PEINTRE, puis cliquez sur le bouton Affichage
pour ouvrir le formulaire en mode Formulaire.
Trois modes daffichage supplmentaires
Ralis en mode Cration, un formulaire dispose de trois modes daffichage
supplmentaires : le mode Feuille de donnes, le mode Tableau crois dynamique et le mode
Graphique crois dynamique.
Raccourcis clavier
Boutons de dplacement
Ctrl + Dbut (HOME) (premier champ)
I (mme champ)
125
Sur un formulaire avec une prsentation des enregistrements sur lignes successives, la
navigation seffectue comme sur une feuille de donnes (cf. chapitre 3 1).
Dans la barre, est indique la position de lenregistrement courant sur le nombre total
denregistrements. On peut cliquer sur cette zone, saisir le rang dun enregistrement, puis
valider pour afficher lenregistrement correspondant.
permet dajouter
La zone de saisie titre Rechercher permet de saisir une valeur ou une valeur
partielle de champ, qui sera mise alors en vidence dans le formulaire.
Si plusieurs champs ou enregistrements contiennent la chane de caractres recherche,
appuyez sur la touche Entre pour les atteindre successivement.
Cliquez dans la zone de saisie de la valeur modifier. Licne dun crayon saffiche
gauche de lenregistrement.
Pour annuler une modification avant validation, appuyez sur la touche Echap (Esc).
Pour modifier la valeur dun champ de type Lien hypertexte , affichez la fentre
Insrer un lien hypertexte : clic droit dans la cellule > Lien hypertexte > Modifier le lien
hypertexte.
126
On a suppos que le numro du peintre ajout tait 21, en type NumroAuto. Sinon, sil est de type
Numrique, tapez 21 en valeur de champ NoPeintre.
Le fichier tant affich en mode Formulaire, on utilise les boutons placs dans les
groupes Trier et filtrer et Rechercher de longlet Accueil.
On applique les mmes mthodes que celles appliques aux donnes dune table
affiche en mode Feuille de donnes (cf. chapitre 4 TABLE : RECHERCHER ET REMPLACER,
TRIER ET FILTRER).
Jusqu prsent, nous navons utilis que la section Dtail , qui est la section
principale du formulaire. Les enregistrements sont affichs sur cette section.
Un formulaire comporte quatre autres sections, dont lusage est facultatif.
Un clic droit sur la barre de titre dune section donne accs plusieurs commandes :
- Affichage des rgles ou de la grille, qui facilitent le positionnement des contrles
- Affichage dautres sections
- Affichage de la Feuille de proprits de la section.
Inutile dessayer dcrire dans une section (testez !). Tout se fait par insertion de
contrles.
Len-tte et le pied de formulaire
Len-tte peut notamment contenir le titre du formulaire.
Pour quun en-tte ou un pied de formulaire napparaisse pas en mode Formulaire,
donnez la valeur Non sa proprit Visible : affichez sa feuille de proprits en faisant un clic
droit sur sa barre de titre > Proprits, puis slectionnez Non sur la ligne de la proprit
Visible (onglet Format).
127
Feuille de proprits
4. LES CONTROLES
Affichons un formulaire en mode Cration.
A longlet Cration, le groupe Contrles propose de nombreux contrles.
Pour insrer lun deux sur le formulaire, cliquez sur le bouton correspondant pour le
slectionner, puis cliquez-glissez en diagonale sur le formulaire. Vous pourrez ensuite
dplacer le contrle et lui donner une autre taille (voir le paragraphe Gestion des contrles
dans ce 4).
128
Pour insrer plusieurs fois de suite le mme contrle, double-cliquez dessus pour le
slectionner (au lieu dun simple clic). En fin dutilisation, appuyez sur la touche Echap (Esc)
ou appuyez nouveau sur le bouton du contrle.
Crez un formulaire vierge ( longlet Crer, cliquez sur le bouton Formulaire
vierge ), puis passez en mode Cration, et testez les boutons de contrles du groupe
Contrles.
Linsertion de certains contrles entrane laffichage dune fentre, qui peut tre un
Assistant. Sil ne lest pas dj, activez le bouton Utiliser les Assistants Contrle plac
dans le groupe Contrles. Cela permet quAccess puisse lancer si ncessaire un Assistant.
LAssistant aide paramtrer certains contrles. On peut ensuite complter ou modifier le
paramtrage ainsi effectu.
Pour afficher la Feuille de proprits dun contrle, double-cliquez sur le contrle si une
Feuille de proprits nest pas dj affiche, sinon un simple clic sur le contrle suffit
louvrir.
Vrifiez toujours quil sagit bien de la Feuille de proprits du contrle (et non de son tiquette, erreur
frquente) : vrifiez le Type de slection et juste en dessous, le nom du contrle (ce nom est galement
affich longlet Autres de la Feuille de proprits du contrle).
Contrle indpendant
Contrle dpendant
Un contrle dpendant est utilis pour insrer des champs provenant dune table ou
dune requte.
Lors de linsertion dun champ sur le formulaire, Access choisit le contrle le plus
adapt au Type de donnes du champ : zone de texte, zone de liste droulante ou case
cocher.
Zone de texte : insr dans un formulaire, un champ de type Texte, sur lequel on na
pas dfini de liste de choix, entrane laffichage dune tiquette associe une zone de texte.
En mode Formulaire, le texte de ltiquette ne change pas, tandis que la valeur de la zone de
texte dpend de la valeur du champ de lenregistrement.
Zone de liste droulante : insr dans un formulaire, un champ de type Texte, sur
lequel on a dfini une liste de choix, entrane laffichage dune tiquette associe une zone
de liste droulante.
valeur par dfaut de la proprit Afficher le contrle , prsente longlet Liste de choix nait pas t
modifie et remplace par la valeur zone de texte ou zone de liste droulante - cf. chapitre 5 1 C
Format dun champ de type Oui/Non ).
129
En revanche si on insre directement dans un formulaire une zone de texte, une zone de liste ou une case
cocher, le contrle ntant reli aucun champ, il est indpendant. Dans sa Feuille de proprits, sa proprit
Source contrle (onglet Donnes) est vide.
N.B. : Dans une Source contrle, on ne peut saisir valablement un nom de champ disponible, que si
celui-ci a t insr dans le formulaire (quitte supprimer ensuite ltiquette correspondante et donner la valeur
Non la proprit Visible du contrle associ).
En contrles dpendants, sont galement souvent utilises la zone de liste et les cases
doption :
Zone de liste : elle se diffrencie de la zone droulante par son absence de zone dans
laquelle on peut taper une valeur. On ne peut effectuer une saisie quen cliquant sur une
valeur de la liste affiche.
Au lieu de proposer une liste de valeurs, on peut prfrer, lorsque les valeurs sont fixes
et peu nombreuses, prsenter un groupe de cases doption.
Lexemple frquemment cit, est celui de la civilit, o trois cases doption sont
proposes :
Civilit:
M.
Mme
Melle
Autre exemple
Dans un formulaire ralis partir de la table TABLEAU, nous allons crer un groupe
de cases doption pour le champ Bois/Toile. Il remplacera la zone de liste et son tiquette
associe.
1) Cration du formulaire.
Cliquez sur le bouton Cration du formulaire . Dans la Feuille de proprits du
formulaire vide, slectionnez la table TABLEAU en proprit Source (onglet Donnes).
Puis activez le bouton Ajouter des champs existants , et insrez dans le formulaire
tous les champs de la table.
2) Cration du groupe de cases doption
Nous utiliserons lAssistant Groupe doptions. Dans le groupe Contrles, activez le
bouton Groupe doptions , puis cliquez-glissez en diagonale sur le formulaire pour insrer
le contrle.
En noms dtiquettes des cases doption, tapez Bois, puis Toile. En valeur par dfaut,
slectionnez Toile.
Gardez les valeurs 1 et 2. Ce seront les valeurs respectivement stockes dans le champ
Bois/Toile correspondant aux saisies Bois et Toile .
La fentre suivante, choisissez Stocker la valeur dans ce champ , et slectionnez le
champ Bois/Toile. Validez.
Slectionnez ltiquette du groupe doptions. Saisissez en proprit Lgende (onglet
Format) : Support: . Si ncessaire, largissez ltiquette (cliquez-glissez sur un ct).
Testez les cases doption en mode Formulaire.
Affichez le formulaire en mode Feuille de donnes : ce sont bien les valeurs 1 et 2 qui sont stockes,
correspondant aux saisies respectives Bois et Toile.
130
Contrle calcul
Un contrle calcul est une zone de texte contenant dans sa proprit Source
contrle une expression prcde du signe gal =. Lexpression peut dpendre de plusieurs
champs du formulaire.
Il existe trois mthodes pour saisir une expression :
- Soit directement dans la Feuille de proprits, la ligne Source contrle ,
- Soit on clique sur les points au bout de la ligne Source contrle et on saisit
lexpression dans la fentre du Gnrateur dexpression,
- Soit on la saisit dans la zone de texte elle-mme.
Les champs utiliss dans une expression doivent avoir t insrs dans le formulaire.
Si on ne veut pas quapparaissent sur le formulaire ltiquette et le contrle associ dun champ insr, il
suffit de supprimer son tiquette et dattribuer la valeur Non la proprit Visible (onglet Format) du
contrle associ.
Pour ajouter des champs, utilisez longlet Cration, dans le groupe Outils , le
bouton Ajouter des champs existants .
Exemple
Crons un formulaire dans lequel nous insrerons deux contrles calculs, crs
partir de champs de la table PEINTRE.
Crons un formulaire vierge : longlet Crer, dans le groupe Formulaires, activez le
bouton Formulaire vierge . Affichez-le en mode Formulaire.
Insrons dans ce formulaire deux contrles calculs :
- Le premier contrle utilisera les champs NomPeintre et PrenomPeintre. Il
convient donc dinsrer dabord ces champs dans le formulaire.
On peut ensuite supprimer les deux tiquettes des champs et donner la valeur Non la proprit
Visible (onglet Format) des deux zones de texte associes.
Lutilisateur nayant pas saisir de valeur, ltiquette est supprime et la zone de texte est rendue
invisible lutilisateur (en donnant la valeur Non sa proprit Visible).
131
Exemple
Ralisons un formulaire en mode Cration (activez le bouton Cration du
formulaire , cf. 1 de ce chapitre Raliser un formulaire en mode Cration ) dans lequel
nous insrons les champs NoPeintre, NomPeintre de la table PEINTRE et les champs NomTab
et NoPeintre de la table TABLEAU.
Dans la zone de texte dpendant du champ NoPeintre de TABLEAU, effacez le nom et
tapez sa place lexpression = NoPeintre.
Passez en mode Formulaire, et saisissez un nouvel enregistrement. La zone de texte,
contrle calcul, est automatiquement renseigne, ds validation de la saisie dun numro de
peintre.
Supprimez ltiquette du champ NoPeintre, et donnez la valeur Non la proprit
Visible de la zone de texte associe.
Dplacement de contrles
Tailles de contrles
132
Nous prciserons les commandes utiliser sur le ruban. Il est galement possible de
procder en faisant un clic droit sur la slection, puis en choisissant loption souhaite.
- Ajustement de hauteurs de contrles par rapport la hauteur dun autre : aprs
slection des contrles, activez longlet Rorganiser, groupe Taille, lun des
quatre boutons suivants : Au plus grand , Au plus petit , Au plus large ,
Au plus troit .
Exemple : Ajuster Au plus grand donne tous les contrles slectionns la
hauteur du plus grand.
- Ajustement de la taille dun contrle indpendant, par rapport son contenu :
aprs slection du contrle, activez dans le groupe Taille le bouton Au
contenu . Cet ajustement ne peut sappliquer qu un contrle indpendant
(exemple : une tiquette).
Nous prciserons les commandes utiliser sur le ruban. Il est galement possible de
procder en faisant un clic droit sur la slection, puis en choisissant loption souhaite.
On utilise longlet Rorganiser, les commandes du groupe Alignement du contrle
ou celles du groupe Position .
Alignement de plusieurs contrles
Aprs slection des contrles, activez lun des boutons suivants du groupe Alignement
du contrle : Gauche, Droite, Haut, Bas.
Exemple : aligner Gauche permet daligner les contrles slectionns au niveau du
bord gauche du contrle le plus gauche, excepts les contrles se situant sur la mme ligne
de la grille que le contrle le plus gauche. Ces derniers seront placs bord bord,
gauche.
133
Aprs slection de contrles, on peut modifier leur mise en forme en utilisant des
commandes du groupe Police longlet Cration.
On peut modifier les paramtres : police, taille, gras, italique, soulign, alignement
(gauche, centre, droite), couleur du texte (par dfaut noir), couleur de larrire-plan (par
dfaut blanc).
Mise en forme conditionnelle
On peut appliquer sur une slection de contrles une mise en forme conditionnelle,
jusqu concurrence de trois conditions. Utilisez la fentre Mise en forme conditionnelle .
Pour lafficher, activez le bouton du mme nom.
134
5. CREER UN SOUS-FORMULAIRE
Un sous-formulaire est un formulaire inclus dans un autre formulaire, quon appelle
formulaire principal.
Communment, un sous-formulaire affiche les donnes dune table contenant la cl
trangre, champ correspondant la cl primaire contenue dans une autre table, dont le
formulaire principal affiche les donnes.
Exemple : on peut crer le formulaire principal insrant les champs de la table PEINTRE
(cl primaire NoPeintre) et son sous-formulaire insrant les champs de la table relie
TABLEAU (cl trangre NoPeintre).
Il existe deux mthodes de cration de sous-formulaire :
- Soit on cre conjointement un formulaire et son sous-formulaire, avec lAssistant
- Soit, un formulaire tant cr, on lui ajoute un sous-formulaire (dj cr ou que
lon cre).
A longlet Cration, dans le groupe Contrles, vrifiez que le bouton Utiliser les Assistants Contrle
est activ, afin quune fentre Assistant puisse souvrir. Sinon, cliquez dessus.
135
Par dfaut, le nom de la table do sont issus les champs, est donn au sousformulaire. Vous pouvez saisir un autre nom.
Appelez le sous-formulaire de notre exemple : ssformTableau.
Validez.
136
1. CREER UN ETAT
Il existe plusieurs mthodes de cration dun tat :
- L Etat vide
- Cration rapide en deux clics
- L Assistant Etat
- Le mode Cration.
Access 2007 dispose galement dun Assistant Etiquette . Comme son nom
lindique, cet Assistant permet de crer un tat affichant des tiquettes.
Etat vide
Il sagit dune mthode simple, quon peut utiliser ds lors quil y a peu de champs
insrer dans ltat. Elle permet de choisir les champs insrer, ainsi que leur ordre daffichage
dans ltat.
Pour raliser un tat :
1) Cration dun tat vierge : longlet Crer, groupe Etats, activez le bouton Etat
vide . Un tat vide est cr, affich en mode Page.
2) Insertion des champs dans ltat :
Si le volet Liste de champs nest pas affich, cliquez longlet Format, groupe
Contrles, sur le bouton Ajouter des champs existants .
Utilisez ce volet pour insrer des champs dans ltat. Cliquez sur le signe + dune
table pour louvrir. Pour insrer un champ : double-cliquez sur son nom, ou bien
cliquez-glissez sur son nom jusqu ltat.
Ltat affiche la liste des enregistrements, en mode Page.
Exemple
Nous utiliserons les tables PEINTRE et TABLEAU dfinies au chapitre 7.
Crez un tat vierge : activez le bouton Etat vide .
Insrez les champs dans ltat : ouvrez la table PEINTRE, puis double-cliquez sur les
champs NoPeintre, NomPeintre, PrenomPeintre. Ouvrez la table TABLEAU, puis doublecliquez sur le champ NomTab.
137
NomPeintre
Van Eyck
Van Eyck
Botticelli
De Vinci
PrenomPeintre
Jan
Jan
Lonard
NomTab
La Vierge au chancelier
Les Epoux Arnolfini
Le Printemps
La Joconde
Si les noms des tableaux ne saffichent pas en entier, passez en mode Cration (un clic droit sur longlet
de ltat > Mode Cration). Cliquez-glissez sur le bord droit de la zone de texte NomTab pour llargir. Puis
repassez en mode Page, ou passez en mode Etat.
Chaque en-tte de colonne est une tiquette portant la lgende, sinon le nom dun
champ. En dessous, les valeurs des champs sont affiches dans des zones de texte.
Le nom du nouvel tat apparat dans le Volet de navigation.
138
NomPeintre
Drer
Turner
Bosch
Bruegel
Hals
Picasso
PrenomPeintre
Albrecht
William
Jrme
Pieter
Frans
Pablo
139
L Assistant Etiquette
140
Modes daffichage
Un tat peut tre ouvert en mode Cration, en mode Etat, en mode Page ou en mode
Aperu avant impression .
Pour modifier le mode daffichage, on peut :
- Utiliser le bouton Affichage, longlet Accueil
- Ou faire un clic droit sur longlet de ltat, ou sur son nom dans le Volet de
navigation, puis choisir le mode daffichage souhait
- Ou encore utiliser le bouton de mode daffichage, situ sur la barre dtat (en
bas, droite).
Quand on double-clique sur le nom dun tat dans le Volet de navigation, il souvre en
mode Etat.
Mode Cration
Mode Etat
Ce mode permet de vrifier les donnes qui sont affiches dans ltat.
Pour en faciliter la lecture, on peut marquer temporairement une ligne en cliquant prs
de son bord infrieur (pointeur en forme de flche blanche ).
Mode Page
Il est conseill de placer le bouton indispensable Aperu avant impression sur la barre doutils Accs
rapide (en haut gauche). Sil ny est pas, cliquez sur le menu droulant droite de la barre, et cochez Aperu
avant impression .
141
Cest en utilisant ce mode daffichage, quon peut zoomer sur ltat, galement
afficher les sauts de page.
En bas de la fentre, une barre de boutons de dplacement permet dafficher facilement
la page souhaite. Son fonctionnement est similaire celui de la barre affiche dans un
formulaire, pour passer dun enregistrement un autre (cf. chapitre 13 LES FORMULAIRES,
2 Gestion des donnes dun formulaire ).
Si ltat comporte un grand nombre denregistrements, on peut prfrer nafficher que
les dix premiers enregistrements (par gain de temps) : affichez ltat en mode Cration, puis
longlet Outils de cration dtat , dans le groupe Outils, activez le bouton Aperu des 10
premiers enregistrements (icne reprsentant une loupe sur une feuille).
Ltat comporte les cinq sections similaires celles tudies au chapitre des
formulaires :
- Dtail , la section principale, qui comporte principalement des tiquettes et des
zones de texte. Cest la seule section obligatoire, les autres tant dusage facultatif.
- LEn-tte dtat, qui contient souvent le titre de ltat, et le Pied dtat, qui parait en
dernire page de ltat, pour afficher par exemple bilan, commentaires ou totaux.
- LEn-tte de page, pouvant contenir les en-ttes de colonnes, et le Pied de page,
contenant par dfaut la date du jour et les numros de pages. Les informations de
ces deux sections sont rptes sur chaque page de ltat, actualises si ncessaire
(le numro de page en particulier change).
142
Pour afficher ou masquer lune de ces deux paires de sections : longlet Rorganiser,
groupe Afficher/Masquer, activez le bouton En-tte/pied de rapport (le rapport est ltat)
ou le bouton En-tte et pied de page .
Pour quune section ne soit visible quen mode Cration, donnez la valeur Non sa
proprit Visible (onglet Format).
Si les enregistrements de ltat ont t regroups, ltat peut galement afficher des
sections En-tte de groupe et Pied de groupe.
On place ordinairement dans la section En-tte de groupe la zone de texte du champ en
fonction des valeurs duquel le regroupement est ralis (nous verrons des exemples plus loin).
La section Pied de groupe contient souvent un ou plusieurs sous-totaux relatifs aux
valeurs du groupe (exemples : somme, moyenne, maximum des valeurs du groupe).
Ltat comportant au moins un regroupement, procdez ainsi, si ncessaire, pour
afficher les sections En-tte de groupe ou Pied de groupe :
- Affichez le volet Regrouper, trier et total : longlet Crer, groupe
Regroupement et totaux , activez le bouton Regrouper et trier . Ou bien,
faites un clic droit sur la barre de titre de la section Dtail > Trier et grouper.
Le volet saffiche sous ltat.
- Dans ce volet, cliquez sur le bouton Plus , dinfo-bulle Autres options .
- Pour afficher la section En-tte de groupe : cliquez sur le menu droulant du
bouton sans section den-tte et slectionnez avec une section den-tte .
Pour afficher la section Pied de groupe : cliquez sur le menu droulant du
bouton sans section de pied de page et slectionnez avec une section de
pied de page .
Elments et mthodes concernant la Feuille de proprits des objets, ainsi que la mise
en forme et les contrles, sont similaires ceux vus au chapitre prcdent traitant des
formulaires (chapitre 13 LES FORMULAIRES). Pour un tat, on utilise les onglets Crer et
Rorganiser des Outils de cration dtat .
Comme lindique son nom, le volet Regrouper, trier et total permet de raliser des
tris, des regroupements et des totaux sur les donnes dun tat.
Pour afficher ce volet : longlet Crer, groupe Regroupement et totaux , activez le
bouton Regrouper et trier . Ou bien, faites un clic droit sur la barre de titre Dtail >
Trier et grouper.
Tri
On trie gnralement les donnes dun tat, au moins en fonction des valeurs dun
champ.
Exemples
Les enregistrements dun tat relatif la table PEINTRE, peuvent tre tris :
- Par ordre alphabtique croissant des noms des peintres (un niveau de tri)
143
- Par nationalit des peintres, puis par nom (deux niveaux de tri).
Ltat tant affich en mode Cration, si on souhaite effectuer un tri :
Sur un seul champ (cas le plus courant)
Il suffit de faire un clic droit sur la zone de texte du champ > choisissez loption Tri
croissant ou loption Tri dcroissant .
Sur plusieurs champs
Ouvrez le volet Regrouper, trier et total pour dfinir les tris successifs.
Pour raliser un tri :
- Dans le volet, activez le bouton Ajouter un tri et slectionnez le champ
concern, ou prcisez une expression.
- Sur la mme ligne, spcifiez lordre du tri (exemple : avec A en haut ).
Si vous souhaitez ajouter un tri sur un autre champ, rptez ces deux oprations ligne
suivante. Dix niveaux de tri sont possibles !
Pour modifier les niveaux de tri : utilisez les boutons flchs lextrmit droite du
volet : Monter et Descendre .
Pour supprimer un tri : cliquez dans le volet sur la ligne du tri, puis cliquez sur la
croix (juste aprs les flches) ou bien appuyez sur la touche Suppr.
Exemple
Crons un tat contenant les champs de la table Peintre : dans le volet de Navigation,
cliquez sur la table Peintre, puis longlet Crer, cliquez sur le bouton Etat .
Affichez ltat en mode Cration. Supprimez les zones de texte AnneeNaissance et
AnneeDeces. Dplacez la zone de texte Nationalite pour la placer en premier.
Nous raliserons un tri par nationalit, puis par nom.
Ouvrez le volet Regrouper, trier et total pour dfinir les deux tris successifs.
- Cliquez sur Ajouter un tri , puis slectionnez le champ Nationalite.
- Cliquez nouveau sur Ajouter un tri , puis slectionnez le champ
NomPeintre.
Affichez ltat en mode Etat. On obtient (extrait de donnes de ltat) :
anglais
belge
belge
belge
espagnol
Turner
Bosch
Bruegel
Hals
Picasso
William
Jrme
Pieter
Frans
Pablo
Regroupements
144
Ltat affiche une section En-tte de groupe, avec indication du champ sur lequel est
effectu le regroupement.
Rptez ces deux oprations (activation du bouton Ajouter un groupe, puis slection
dun champ) si vous souhaitez ajouter un nouveau regroupement. Une autre section En-tte de
groupe sera cre. Dix niveaux de regroupement sont possibles.
Linsertion dune section den-tte de groupe nest pas obligatoire. Elle est cependant
communment utilise pour y placer la zone de texte du champ de regroupement, ce qui
permet laffichage dune seule valeur de ce champ par groupe.
Pour modifier les niveaux de regroupement : utilisez les boutons flchs lextrmit
droite du volet : Monter et Descendre .
Pour supprimer un regroupement : cliquez dans le volet sur la ligne du regroupement,
puis cliquez sur la croix (juste aprs les flches) ou bien appuyez sur la touche Suppr.
Pour attribuer un titre aux groupes dun champ : dans le volet, activez le bouton Plus,
dinfo-bulle Plus doptions , situ sur la ligne du regroupement. A ct de avec titre ,
cliquez sur cliquer pour ajouter . La fentre Zoom apparat. Dans cette fentre, tapez le
titre et modifiez si ncessaire la police des caractres, en activant le bouton Police. Validez.
Exemple
Reprenons ltat prcdent, cr au paragraphe Tri .
Affichons-le en mode Cration.
Nous raliserons un regroupement des enregistrements sur le champ Nationalite.
Dans le volet Regrouper, trier et total , activez le bouton Ajouter un groupe .
Slectionnez le champ Nationalite. Une section nomme En-tte de groupe Nationalite est
insre dans ltat.
Par Couper/Coller, dplaons la zone de texte Nationalite situe dans la section Dtail,
et plaons-la dans la section En-tte de groupe Nationalite : slectionnez la zone de texte,
faites un clic droit dessus > Couper. Puis faites un clic droit sur la section En-tte de groupe
Nationalite, et collez dans cette section la zone de texte.
Affichez ltat en mode Etat. La valeur du champ Nationalite napparat plus quune
seule fois par groupe :
anglais
Turner
William
Bosch
Bruegel
Hals
Jrme
Pieter
Frans
Picasso
Pablo
belge
espagnol
Totaux
Aprs regroupement, des calculs peuvent tre effectus sur chaque groupe. On peut
galement afficher des calculs de synthse ;
Exemple : on peut indiquer, pour chaque groupe de valeurs numriques, la somme, la
moyenne et le maximum de valeurs du champ de regroupement.
145
Il existe plusieurs mthodes pour insrer des totaux sur un tat dans lequel a t ralis
au moins un regroupement :
- Avec le volet Regrouper, trier et total : ouvrez le menu droulant du bouton
avec un total de : . Dans la fentre Totaux, indiquez le champ concern (Total
sur). Indiquez lopration (Type). Choisissez une ou plusieurs options daffichage.
Cest la seule mthode sur les trois qui propose des options daffichage.
- Avec le ruban : cliquez sur la zone de texte du champ sur les valeurs duquel
seffectuera le calcul. A longlet Crer des Outils de cration dtat , groupe
Regroupement et totaux , activez le bouton relatif aux totaux > choisissez le type
dopration effectuer.
- En faisant un clic droit sur la zone de texte concerne par le calcul > Total >
choisissez le type dopration effectuer.
Pour supprimer un sous-total ou un total, affichez ltat en mode Cration et supprimez
la zone de texte correspondante.
Exemple
Reprenons ltat prcdent. Indiquez le nombre de peintres par champ Nationalite,
ainsi que le nombre total de peintres.
Premire mthode, ouvrons le volet Regrouper, trier et total .
Activez le bouton avec un total de . Dans la fentre Totaux, indiquez Total sur
NoPeintre, Type Compter les enregistrements. Cochez les cases doption Afficher le
total gnral et Afficher dans le pied de page du groupe .
En mode Cration, apparat dans la section Pied de groupe Nationalite lexpression
=Compte(*) (elle correspond aux sous-totaux, nombre de peintres par nationalit). La mme
expression apparat dans la section Pied dtat (elle correspond au total gnral, nombre
total de peintres).
Affichez ltat en mode Etat. On obtient (extrait des donnes) :
anglais
Turner
William
Bosch
Bruegel
Hals
Jrme
Pieter
Frans
1
belge
(Etc.)
20
Revenez en mode Cration. Effacez sous-totaux et total de synthse : cliquez sur chaque zone de texte
=Compte(*), puis appuyez sur la touche Suppr chaque fois.
Avec le ruban : cliquez sur la zone de texte NoPeintre, puis activez le bouton Totaux
et choisissez Compter les enregistrements . On obtient le mme affichage en mode Etat que
prcdemment.
Revenez en mode Cration. Effacez sous-totaux et total de synthse : cliquez sur chaque zone de texte
=Compte(*), puis appuyez sur la touche Suppr chaque fois.
Dernire mthode : faites un clic droit sur la zone de texte NoPeintre > Total >
Compter les enregistrements. On obtient le mme affichage en mode Etat que prcdemment.
146
4. CREER UN SOUS-ETAT
Un sous-tat est un tat inclus dans un autre tat, quon appelle tat principal.
La mthode de cration dun sous-tat est similaire celle de cration dun sousformulaire.
Pour crer un sous-tat, ltat tant affich en mode Cration, procdez ainsi (on
utilisera lAssistant) :
A longlet Crer, dans le groupe Contrles, vrifiez que le bouton Utiliser les Assistants Contrle est
activ, afin quune fentre Assistant puisse souvrir. Sinon, cliquez dessus.
La fentre Assistant Sous-tat tant affiche, procdez ainsi, selon que ltat qui
sera sous-tat existe ou quil nexiste pas :
- Sil existe : cochez la case Utiliser un tat ou un formulaire existant , puis
slectionnez ltat utiliser.
- Sil nexiste pas, il faut le crer : cochez la case Utiliser les tables et les requtes
existantes . Puis ltape suivante, slectionnez les champs insrer dans ltat.
Vous venez de crer ltat qui servira de sous-tat.
Par dfaut, le nom de la table ou de la requte do sont issus les champs, est donn
au sous-tat. Vous pouvez le modifier. Validez.
147