You are on page 1of 147

COURS BARDON - ACCESS 2007

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

CHAPITRE 2 TABLES : ANALYSE PREALABLE ET CREATION _____________ 10


1. ANALYSE PREALABLE ______________________________________________________________________________
2. EXEMPLE : ANALYSE, TABLES ET ENREGISTREMENTS _________________________________________
3. TABLES : METHODES DIVERSES DE CREATION __________________________________________________
4. PASSAGE DUN MODE DAFFICHAGE A LAUTRE _________________________________________________
5. CREATION DUNE TABLE EN MODE CREATION __________________________________________________
6. CREATION DUNE TABLE EN MODE FEUILLE DE DONNEES ____________________________________
7. CREATION DUNE TABLE PAR IMPORTATION____________________________________________________
8. CREATION DUNE TABLE A PARTIR DUN MODELE ______________________________________________
9. ENREGISTRER ET FERMER UNE TABLE __________________________________________________________

10
11
13
13
14
16
18
18
18

CHAPITRE 3 TABLE : GESTION DES DONNEES ___________________________ 19


1. DESCRIPTION ET SAISIE EN MODE FEUILLE DE DONNEES _____________________________________ 19
2. MISE EN PAGE ET IMPRESSION DES DONNEES DUNE TABLE _________________________________ 25
3. IMPORTER ET EXPORTER DES DONNEES_________________________________________________________ 27

CHAPITRE 4 TABLE : RECHERCHER ET REMPLACER, TRI ET FILTRE _____ 28


1. RECHERCHER ET REMPLACER UNE CHAINE DE CARACTERES ________________________________ 28
2. TRI SIMPLE OU TRI AVEC FILTRE _________________________________________________________________ 30
3. FILTRER LES DONNEES DUNE TABLE ____________________________________________________________ 32

CHAPITRE 5 TABLE : GESTION APPROFONDIE DES CHAMPS _____________ 36


1. GESTION DES CHAMPS EN MODE CREATION _____________________________________________________ 36
2. PROPRIETES (ONGLET GENERAL )
A. Taille du champ, B. Nouvelles valeurs, C. Format, D. Dcimales, E. Masque de saisie, F. Lgende, G. Valeur par dfaut,
H. Valide si et Message si erreur, I. Null interdit, J. Index, K. Aligner le texte ______________________________________ 37

3. LISTES DE CHOIX ____________________________________________________________________________________ 49

CHAPITRE 6 RELATIONS ENTRE LES TABLES ____________________________ 52


1. LINTERET DE LIER DES TABLES __________________________________________________________________
2. CHAMPS IDENTIFIANTS, CLES PRIMAIRES ET CLES ETRANGERES ____________________________
3. TYPES DE RELATIONS ET TABLES DE JONCTION ________________________________________________
4. CREATION, MODIFICATION ET IMPRESSION DES RELATIONS _________________________________
5. INTEGRITE REFERENTIELLE_______________________________________________________________________

52
52
55
58
61

CHAPITRE 7 TABLES ET ENREGISTREMENTS, EXEMPLES ________________ 65


1. STRUCTURES ET RELATIONS DES TABLES PRISES EN EXEMPLES _____________________________ 65
2. ENREGISTREMENTS DES TABLES PRISES EN EXEMPLES _______________________________________ 66

CHAPITRE 8 LES REQUETES : INTRODUCTION ___________________________ 68


1. REQUETES SELECTION ET REQUETES ACTION __________________________________________________ 68
2. LASSISTANT, LE MODE CREATION ET LE MODE SQL ___________________________________________ 69

Chantal BOURRY, 2010

COURS BARDON - ACCESS 2007

CHAPITRE 9 - REQUETE DE SELECTION AVEC UN ASSISTANT _____________ 71


1. REQUETE SIMPLE AVEC UN ASSISTANT ______________________________________________________
2. REQUETE ANALYSE CROISEE AVEC UN ASSISTANT _________________________________________
3. REQUETE TROUVER LES DOUBLONS AVEC UN ASSISTANT _________________________________
4. REQUETE DE NON CORRESPONDANCE AVEC UN ASSISTANT ______________________________

72
74
75
76

CHAPITRE 10 - REQUETE DE SELECTION EN MODE CREATION ____________ 77


1. FENETRE DELABORATION DUNE REQUETE EN MODE CREATION ___________________________
2. AFFICHAGE DES TABLES ET DES CHAMPS ________________________________________________________
3. TRI ____________________________________________________________________________________________________
4. CRITERES ____________________________________________________________________________________________
5. CALCULS EFFECTUES SUR LES DONNEES_________________________________________________________
6. LES PROPRIETES DES CHAMPS DANS LA TABLE RESULTAT ___________________________________
7. CREATION DUNE JOINTURE ENTRE DEUX TABLES _____________________________________________
8. REQUETE PARAMETREE ___________________________________________________________________________

78
79
81
81
86
86
87
90

CHAPITRE 11 REQUETE DE SELECTION EN MODE SQL ___________________ 91


1. CLAUSES SELECT ET FROM ________________________________________________________________________ 93
2. CHAMPS OPERES ____________________________________________________________________________________ 96
3. CHAMP DE FONCTION ______________________________________________________________________________ 97
4. CLAUSE WHERE _____________________________________________________________________________________ 98
5. DATES ET HEURES _________________________________________________________________________________ 103
6. REQUETE PARAMETREE __________________________________________________________________________ 105
7. TRI DES ENREGISTREMENTS _____________________________________________________________________ 106
8. SOUS-REQUTES ___________________________________________________________________________________ 107
9. REQUETES DE REGROUPEMENTS ________________________________________________________________ 109

CHAPITRE 12 REQUETES ACTION ______________________________________ 112


1. REQUETES ACTION EN MODE CREATION________________________________________________________ 112
2. REQUETES ACTION EN MODE SQL _______________________________________________________________ 116

CHAPITRE 13 LES FORMULAIRES ______________________________________ 121


1. CREER UN FORMULAIRE __________________________________________________________________________ 121
2. GESTION DES DONNEES DUN FORMULAIRE ____________________________________________________ 125
3. PERSONNALISATION DUN FORMULAIRE _______________________________________________________ 127
4. LES CONTROLES ____________________________________________________________________________________ 128
5. CREER UN SOUS-FORMULAIRE ___________________________________________________________________ 135

CHAPITRE 14 LES ETATS _______________________________________________ 137


1. CREER UN ETAT ____________________________________________________________________________________ 137
2. AFFICHAGE, MISE EN PAGE ET IMPRESSION ____________________________________________________ 141
3. PERSONNALISATION DUN ETAT _________________________________________________________________ 142
4. CREER UN SOUS-ETAT _____________________________________________________________________________ 147

COURS BARDON - ACCESS 2007 / CHAPITRE 1

CHAPITRE 1 ACCESS 2007, BASE DE


DONNEES ET OBJETS

FONDAMENTAUX OFFICE 2007


Pour tudier des mthodes et lments essentiels, communs aux logiciels Microsoft
Office 2007, donc applicables Access 2007, voir sur notre site www.coursbardonmicrosoftoffice.fr le document suivant :
FONDAMENTAUX OFFICE 2007
(6 pages tlchargement gratuit)
Vous y verrez en particulier :
- Le rle du bouton Office
- La constitution du ruban
- Lintrt de la barre doutils Accs rapide
- La protection dun fichier par mot de passe.

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 .

Lancement dAccess 2007

Pour dmarrer Access 2007 : cliquez sur le bouton Dmarrer


programmes > Microsoft Office > Microsoft Office Access 2007.
Louverture dune base de donnes lance automatiquement Access.

> Tous les

2. ACCESS EST UN SGBDR


Access est un SGBDR, ce sigle signifie : Systme informatique de Gestion de Bases de
Donnes Relationnel.
Il sagit dun systme relationnel : les donnes sont en effet organises en ensembles
structurs relis entre eux. Ces liaisons permettent de grer les donnes dun ensemble
lautre, et dobtenir les informations souhaites en interrogeant la base de donnes.
Lanc en 1992, Access est le SGBDR le plus utilis actuellement. Il existe dautres
SGBDR plus puissants, parmi lesquels Oracle et SQL Server.

COURS BARDON - ACCESS 2007 / CHAPITRE 1

Lessentiel de ce cours sapplique tout SGBDR.

3. LA BASE DE DONNEES : UN DOMAINE, UN FICHIER


Une base de donnes est un ensemble dinformations structures, qui concerne un
domaine prcis.
Exemples :
On peut crer une base de donnes pour faciliter :
- La gestion des livres dune bibliothque
- La facturation des clients dune entreprise
- Lallocation de panneaux publicitaires.
On enregistre une base de donnes ralise avec Access, sous la forme dun fichier.

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.

Il existe deux autres extensions, spcifiques certains fichiers dAccess 2007 :


- Les fichiers uniquement excutables, qui ne sont pas modifiables, ont lextension
.accde (e comme execute).
- Les fichiers qui sont des modles de bases de donnes portent lextension .accdt
(t comme type, qui signifie modle).

4. BASE DE DONNEES ET OBJETS


Sous Access, on utilise souvent le terme objet pour dsigner un type dlment.
Une base de donnes est un objet, pouvant lui-mme contenir dautres types dobjets.
Les principaux objets dune base sont :

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.

COURS BARDON - ACCESS 2007 / CHAPITRE 1

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

Un tat sert de document rcapitulatif de donnes. Il peut contenir galement des


rsultats, tels que totaux ou moyennes.
Ce document est gnralement ralis pour tre imprim.
Lutilisateur dune base, qui nen est pas le concepteur, ne connat de la base que les
formulaires et les tats. Il ne voit ni les tables, ni les requtes.

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.

5. CREER, FERMER, OUVRIR UNE BASE

Crer une base de donnes


On peut crer une base de donnes :
- Soit vide, cest--dire ne contenant ni donnes, ni objets
- Soit partir dun modle.

Cration dune base de donnes vide

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.

Saisissez le nom de fichier de la future base. Choisissez un nom significatif, afin


de le retrouver ensuite facilement.

COURS BARDON - ACCESS 2007 / CHAPITRE 1

Gardez lextension .accdb, caractristique des fichiers de bases crs sous Access
2007.
-

Choix du dossier qui contiendra le fichier


Par dfaut, il sagit du dossier Documents, dont ladresse est indique sous le nom
du fichier.
Vous pouvez choisir un autre dossier, crer un dossier qui comprendra toutes vos
bases de donnes constitues sous Access 2007 :
Affichez la fentre Fichier Nouvelle base de donnes : cliquez sur le bouton
dont licne est un dossier ouvert et dont linfo-bulle est Cherchez un
emplacement pour votre base de donnes
( droite de la saisie du nom du
fichier).
A partir de cette fentre : soit vous choisissez un dossier pralablement cr, soit
vous crez un nouveau dossier. Pour crer un nouveau dossier : cliquez sur le
bouton reprsentant un dossier, dinfo-bulle Crer un dossier , puis nommez ce
nouveau dossier.

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.

Cration dune base partir dun modle

Cliquez sur le bouton Office > Nouveau.


Pour crer une base partir dun modle :
Cliquez sur la catgorie souhaite ( gauche), puis sur le modle choisi ( droite).

Fermer une base de donnes

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.

Ouvrir une base de donnes

Deux mthodes douverture dune base

On peut ouvrir une base de donnes :


Soit avec la fentre Prise en main de Microsoft Office Access : cliquez droite
sur le fichier souhait.
Si le nom de la base napparait pas (la base nayant pas t rcemment ouverte), activez
le lien Autres pour afficher la fentre Ouvrir qui vous permettra de retrouver, puis douvrir
le fichier de la base. Vous pouvez cliquer-glisser sur le bord droit de la fentre pour
lagrandir.
Dans la fentre Ouvrir :

COURS BARDON - ACCESS 2007 / CHAPITRE 1

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.

Modes douverture dune base

Dans la fentre Ouvrir , la commande Ouvrir propose plusieurs options :

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.

6. LE VOLET DE NAVIGATION DACCESS 2007


Situ gauche de la fentre dAccess 2007, le Volet de navigation permet dafficher les
principaux objets de la base de donnes : tables, requtes, formulaires, tats, macros et
modules. Si vous navez pas cr dobjet dans la base, le Volet est vide.
Double-cliquez sur un objet pour louvrir.
Un clic droit sur un objet permet de faire apparaitre une liste de commandes relatives
cet objet. Exemples de commandes proposes pour une table : Ouvrir (il existe plusieurs
modes douverture), Importer, Renommer, Copier, Supprimer.

Modifier la largeur du Volet de navigation

Pour agrandir ou rduire la largeur du Volet de navigation, on dispose de plusieurs


mthodes :

Cliquez sur le bouton flch en haut du Volet : pour le rduire, pour llargir.

Ou bien : appuyez sur la touche F11 du clavier.

Ou bien : cliquez-glissez sur le bord droit du Volet. Le pointeur prend la forme


dune double flche .

Affichage ou masquage des objets dans le Volet de Navigation

COURS BARDON - ACCESS 2007 / CHAPITRE 1

Options daffichage des objets


Concernant laffichage des objets dans le Volet, on peut modifier :

Le classement des objets : ouvrez le menu droulant de la barre de titre du


Volet, puis cliquez sur loption de classement souhaite. Exemples doptions
proposes : affichage par types ou par dates de cration.
La prsentation des objets : clic droit sous la liste des objets du Volet ou sur un
groupe dobjets > Afficher par. Cliquez sur loption de prsentation souhaite :
Dtails, Icne ou Liste.
Lordre des objets : dans le Volet de navigation, faites un clic droit sous la liste des
objets ou sur un groupe dobjets > Ordre de tri. Cliquez sur le critre de tri
souhait.

Affichage ou masquage des objets

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

Un objet masqu peut, au choix :


- Soit ne pas apparatre dans le Volet de navigation,
- Soit figurer dans le Volet sous la forme dune icne transparente.
Pour changer loption daffichage des objets masqus :
-

Affichez la fentre Options de navigation : faites un clic droit sur la barre


de titre du Volet de navigation > Options de navigation ;
Si la case Afficher les objets masqus nest pas coche, les objets masqus
napparaissent pas dans le Volet.
Si elle est coche, les objets masqus y figurent sous la forme dicnes
transparentes.

Description dun objet dans le Volet de navigation

On peut ajouter une description un objet du Volet.


Cette description saffichera alors dans la prsentation en mode Dtails de lobjet (clic
droit sous la liste des objets ou sur le groupe dobjets > Affichage par > Dtails).
Pour ajouter une description un objet, procdez ainsi :
- Clic droit sur lobjet ;
- Affichez la fentre Proprits de lobjet en cliquant sur Proprits ;
- Dans la zone tiquete Description , saisissez le texte souhait, puis validez
(OK ou appuyez sur la touche Entre).

Copie dun objet

COURS BARDON - ACCESS 2007 / CHAPITRE 1

On dit copie ou duplication .


Il est intressant de copier un objet si on veut en crer un autre qui lui ressemble, ou
encore par scurit, avant de le modifier.
Pour copier un objet :
- Dans le Volet de navigation, faites un clic droit sur lobjet > Copier ;
- Clic droit dans le Volet > Coller ;
- La fentre Coller (type dobjet) sous apparat. Renseignez-la si ncessaire et
validez.

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 .

COURS BARDON - ACCESS 2007 / CHAPITRE 2

CHAPITRE 2 TABLES : ANALYSE PREALABLE


ET CREATION

1. ANALYSE PREALABLE

Ncessit dune analyse pralable

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.

Principe gnral de lanalyse

Une base de donnes porte sur un domaine nettement dlimit.


Il convient danalyser en dtail le domaine traiter, et de reprer toutes les informations
relever.
- Chaque ensemble homogne dinformations, se rapportant un sujet prcis,
correspondra une table de la base de donnes.
- Chaque type dinformation correspondra au champ dune table.
Une table est compose de champs.
Exemple
Constitution dune base de donnes concernant lusine WOODTOYS de fabrication de
jouets en bois.

Voici un extrait du relev des informations, disposes sur trois colonnes :


Nom du fournisseur bois
Adresse du fournisseur bois
Code postal du fournisseur bois
Ville du fournisseur bois

Rfrence du jouet
Nom du jouet
Poids du jouet
Prix du jouet

Nom du client
Prnom du client
Adresse du client

Ces informations concernent trois sujets : Fournisseur du bois, Jouet et Client.


La base de donnes comprendra donc au moins les trois tables : FOURNISSEURBOIS,
JOUET et CLIENT.
Par exemple, la table JOUET peut tre constitue des champs nomms RefJouet,
NomJouet, PoidsJouet et PrixJouet.

En pratique
Il est pratique de procder ainsi :
- Dlimitez le domaine informatiser et laborez la liste de toutes les informations
prendre en considration ;

10

COURS BARDON - ACCESS 2007 / CHAPITRE 2

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.

2. EXEMPLE : ANALYSE, TABLES ET ENREGISTREMENTS

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.

Constitution des tables et champs identifiants

La base de donnes Bibliothque comprendra les quatre tables :


Livre, Auteur, Emprunt et Personne.
Chaque information releve (Titre du livre, Nom de lauteur, etc.) correspondra au
champ dune table.
On obtient les tables suivantes (on a ajout des champs identifiants , voir paragraphe
ci-aprs) :
LIVRE
nolivre
titre
noauteur
editeur

AUTEUR
noauteur
nomA
prenomA

EMPRUNT
nolivre
nopersonne
dateemprunt
dateretour

PERSONNE
nopersonne
nomP
adresseP

11

COURS BARDON - ACCESS 2007 / CHAPITRE 2

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 :
-

Lorsquune table comprend un champ identifiant : une valeur de ce champ


identifie lenregistrement correspondant, permettant de connatre ainsi les valeurs
des autres champs de lenregistrement.
Exemple
Dans la table LIVRE, un numro de livre identifie le livre correspondant. On peut
dduire le titre, le numro dauteur et lditeur de ce livre.

Lorsquune table comprend un groupe de champs identifiant : un ensemble de


valeurs des champs de ce groupe identifie lenregistrement correspondant,
permettant de connatre ainsi les valeurs des autres champs de lenregistrement.
Exemple
La table EMPRUNT a pour identifiant le groupe de champs compos de nolivre et
de nopersonne.
Un numro de livre et un numro de personne sont ncessaires pour identifier
lemprunt correspondant. On peut dduire la date demprunt et la date de retour
de cet emprunt (On a suppos quune personne ne peut emprunter quune seule
fois un mme livre).

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

COURS BARDON - ACCESS 2007 / CHAPITRE 2

3. TABLES : METHODES DIVERSES DE CREATION

Crer dabord la base de donnes

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.

Mthodes de cration de table


Il existe quatre mthodes pour crer une structure de table.

On peut crer une table :


En Mode Cration (cf. 5) : cest le mode le plus utilis car il est le plus puissant.
Cest le mode habituel pour crer une table, do son nom.
En Mode Feuille de donnes (cf. 6) : on entre directement les enregistrements. Par
dfaut, les champs sont nomms : Champ1, Champ2
Les lments quAccess 2007 gnre par dfaut, tels les noms des champs, peuvent
ensuite tre modifis convenance.

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.

4. PASSAGE DUN MODE DAFFICHAGE A LAUTRE


Vous pouvez choisir parmi plusieurs mthodes pour passer du Mode Feuille de donnes
au Mode Cration, ou inversement :
Avec les icnes de la barre dtat
Sur la barre dtat, tout droite, cliquez sur :
la 1re icne, qui reprsente une grille : passage au Mode Feuille de
Donnes
ou bien sur la 4me icne, qui reprsente une querre et une rgle : passage au
Mode Cration

13

COURS BARDON - ACCESS 2007 / CHAPITRE 2

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.

Clic droit sur longlet de la table


Faites un clic droit sur longlet de la table dont on souhaite changer le mode daffichage
> Choisissez le mode souhait : Mode Cration ou Mode Feuille de donnes.

5. CREATION DUNE TABLE EN MODE CREATION


Si vous avez cr une base de donnes vide, commencez par fermer la table propose
Table1. Par dfaut, celle-ci est en effet ouverte en Mode Feuille de donnes.
Pour la fermer, cliquez sur la croix situe tout droite, dans la ligne o est plac longlet
Table1 . Quand on pointe sur cette croix, on peut lire son info-bulle : Fermer Table1 .

Principe de cration dune table en Mode Cration


Pour crer une structure de table en Mode Cration :
1) Dans le ruban, cliquez sur longlet Crer > dans le groupe Tables, activez le
bouton Cration de table. Licne de ce bouton contient une querre et une
rgle ; ils symbolisent des outils servant crer un objet structur.
La fentre de longlet Cration saffiche.
2) Dans cette nouvelle fentre, dfinissez les proprits de chaque champ.

Deux zones de dfinition des proprits dun champ

La nouvelle fentre comporte gauche le Volet de navigation (si ncessaire, pour


llargir, cliquez sur la double flche ), ainsi que deux zones pour dfinir les proprits dun
champ :

Le cadre suprieur : nom, type et description du champ

Le cadre suprieur de la fentre contient trois colonnes, servant dfinir :


Le nom du champ
Son type de donnes
Eventuellement, une description du champ.
Si le nom et le type de donnes sont des proprits fondamentales du champ, la
description est facultative.
Exemple
Nom du champ
refjouet
nomjouet
poidsjouet
prixjouet

Type de donnes
NumroAuto
Texte
Numrique
Montaire

Description
Rfrence du jouet

Prix HT du jouet

14

COURS BARDON - ACCESS 2007 / CHAPITRE 2

Le cadre infrieur : les autres proprits

Le cadre infrieur de la fentre permet de dfinir de nombreuses autres proprits pour


chaque champ dune table. Exemples : Taille du champ, Lgende, Valeur par dfaut.
Elles seront tudies au chapitre 5 TABLE : GESTION APPROFONDIE DES CHAMPS.
Quelques prcisions concernant la saisie du Nom du champ, le choix du Type de
donnes et lutilisation de la zone Description :

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.

Choix dun autre type de donnes par dfaut


On peut choisir un autre type de donnes par dfaut que le type Texte.
Affichez dabord la fentre Options Access : activez le bouton Office > Options
Access . Ouvrez la rubrique Concepteurs dobjets . Dans la zone Cration de table ,
choisissez dans la zone de saisie avec le Type de champ par dfaut.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 2

Date/Heure : les donnes stockes seront des dates ou des heures. Une donne
peut galement tre compose dune date suivie dune heure.

Montaire : les donnes stockes seront des valeurs montaires.

NumroAuto : NumroAuto est labrviation de Numro automatique.


Ce type est spcial : en effet, dans un champ dot de ce type, cest Access 2007 qui
gnre automatiquement la donne.
Par dfaut, la donne est un nombre incrment de 1 chaque nouvel
enregistrement. On ne peut pas modifier ce numro. Mme si un enregistrement
est supprim, lincrmentation continue comme sil ny avait pas eu de
suppression.
Ce type de donnes est souvent choisi pour les champs identifiants des tables.
Exemple : dans la table JOUET, on pourra doter le champ refjouet du type
NumroAuto.

Oui/Non : les donnes stockes seront des valeurs boolennes.


Exemples : oui/non, vrai/faux

Objet OLE : les donnes stockes seront des objets OLE.


Exemples : documents Word, feuilles de calcul Excel, images.

Lien hypertexte : les donnes stockes seront des liens hypertexte.


Exemples : adresse email, url de site internet.

Pice jointe : les donnes stockes seront des fichiers.

Description

Contrairement aux deux proprits prcdentes, la description dun champ est


facultative. Le texte saisi peut compter jusqu 255 caractres.
Quand on donne une description un champ, elle apparat dans la barre dtat (en bas
dcran) quand la table est ouverte en Mode Feuille de donnes et que le curseur (barre
clignotante) est dans le champ dcrit.

6. CREATION DUNE TABLE EN MODE FEUILLE DE DONNEES


Comme on la dit prcdemment, une table tant lobjet dune base, une base doit
pralablement tre cre.
Quand on cre une base de donnes vide, Access propose une table, ouverte en Mode
Feuille de donnes.
Sinon, pour crer une 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.
On obtient une grille invitant entrer directement les enregistrements.

16

COURS BARDON - ACCESS 2007 / CHAPITRE 2

Exemple
N

Champ1
1 textile
(Nouv.)

Champ2
velours

Champ3
Champ4
350 rouge

Ajouter un nouveau champ


|

Attributions automatiques dAccess : noms, types des champs, cl primaire

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.

Noms des champs

Gnralement, on renomme convenance les champs : clic droit sur le nom de la


colonne > Renommer la colonne.
Ou bien, sous longlet Feuille de donnes, dans le groupe Champs et colonnes ,
activez le bouton Renommer.
Exemples : dans la table JOUET, le champ N sera renomm refjouet ; le champ Champ1
sera renomm nomjouet.

Type de donnes des champs

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.

Proprits des champs

On a vu prcdemment ( ci-avant Noms des champs ) quon pouvait renommer les


champs en tant en affichage Mode Feuille de Donnes.
En rgle gnrale, pour analyser et modifier les proprits des champs, on passe en
Mode Cration (voir procdures de passage dun mode daffichage lautre au 4 de ce
chapitre).

17

COURS BARDON - ACCESS 2007 / CHAPITRE 2

7. CREATION DUNE TABLE PAR IMPORTATION


Pour crer une table, on peut galement copier la structure dune table provenant dune
autre base. Si ncessaire, on importe galement les donnes de la table importe.
Aprs ouverture de la base dans laquelle on souhaite crer la table, procdez ainsi :
- Dans le ruban, activez longlet Donnes externes > dans le groupe Importer,
cliquez sur lapplication do provient la table copier.
- Importez la base. La fentre Importer des objets saffiche.
Slectionnez la ou les tables importer.
Access 2007 importe par dfaut la structure et les donnes de la table. Pour
nimporter que la structure : dans le cadre Importer les tables , cochez la case
Dfinition uniquement . Validez.

8. CREATION DUNE TABLE A PARTIR DUN MODELE


Access 2007 propose des modles de tables, qui sont ensuite personnalisables, par
exemple en ajoutant ou en supprimant des champs.
Pour crer une table partir dun modle :
- Dans le ruban, ouvrez longlet Crer > dans le groupe Tables, cliquez sur
Modles de tables ;
- Choisissez un modle dans la liste propose.
La nouvelle table saffiche en Mode Feuille de donnes.

9. ENREGISTRER ET FERMER UNE TABLE


Pour fermer une table : faites un clic droit sur son onglet > Fermer.
Pour fermer une table active, on peut cliquer sur la croix situe droite de sa ligne de
titre.
Si la table est enregistre pour la premire fois, la fentre Enregistrer sous est
affiche. On peut y renommer la table.
Sil vous est propos de crer une cl primaire, refusez pour linstant. Il est ncessaire
dattribuer certains champs une cl primaire pour pouvoir tablir des relations entre les
tables. Relations et cls primaires seront tudies chapitre 6 RELATIONS ENTRE LES TABLES.
Pour enregistrer la table les fois suivantes, cliquez sur le bouton Enregistrer de la
barre doutils Accs rapide (tout en haut de la fentre), ou bien cliquez sur le bouton Office >
Enregistrer.

18

COURS BARDON - ACCESS 2007 / CHAPITRE 3

CHAPITRE 3 TABLE : GESTION DES DONNEES

1. DESCRIPTION ET SAISIE EN MODE FEUILLE DE DONNEES

Afficher et saisir des donnes

On peut afficher et saisir des donnes :


- Dans une table, affiche en Mode Feuille de donnes : voir ce chapitre.
- Dans un formulaire : voir chapitre 13 LES FORMULAIRES

Ouvrir une table en Mode Feuille de donnes

Pour ouvrir une table en Mode Feuille de donnes :

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 .

Description de la feuille de donnes dune table


La feuille de donnes dune table comporte :
o

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 :

soit par son nom,

soit par sa lgende si cette proprit a t dfinie (dans ce cas, le champ


a un nom et une lgende).
Cette proprit Lgende est dfinie en Mode Cration, sous longlet
Gnral du cadre Proprits du champ .

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

COURS BARDON - ACCESS 2007 / CHAPITRE 3

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

Il y a quatre champs : NumAnimal, Nom de lanimal, Date de naissance et


NumPropritaire. Trois enregistrements sont affichs.
On peut dire par exemple que la donne Choupette est la valeur du
champ Nom de lanimal de lenregistrement affich en dernire ligne, qui est
identifi par NumAnimal = 12.
o

La ligne de boutons en bas de la feuille de donnes


Elle comporte :

Des boutons permettant de se dplacer dun enregistrement un autre.


Le rang de lenregistrement actif sur le nombre denregistrements. Exemple :
12/30.
Le bouton dinfo-bulle Nouvel enregistrement (vide) :
Une indication prcisant si un filtre a t appliqu aux donnes.
Une zone de saisie permettant la recherche dune donne dans la feuille :
crivez-y la donne recherche. Si elle est prsente sur la feuille, elle apparait
en surbrillance. Pour une nouvelle recherche de la mme donne, appuyez sur
la touche Entre.
Quand le nombre de champs devient important (occupant toute la feuille), un
curseur ainsi que deux flches et apparaissent, permettant de
naviguer vers la gauche ou vers la droite de la feuille.

Saisie dune valeur de champ ou dun enregistrement la table

Pour saisir une nouvelle valeur de champ ou un nouvel enregistrement, il est rapide
dutiliser la touche Tab ou la touche Entre.

Saisie de donnes de type NumroAuto, Date/Heure et Lien hypertexte

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

COURS BARDON - ACCESS 2007 / CHAPITRE 3

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.

Affichage dune ligne de dises ##### la place de la valeur saisie

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.

Ajout denregistrements en provenance dune autre table

On peut ajouter une table des enregistrements en provenance dune autre table, en
utilisant une requte dajout denregistrements (cf. chapitre 12 1 Ajout denregistrements).

Modification et mise en forme de donnes dans une table


Cliquez dans la cellule contenant la valeur modifier, puis effectuez la modification.

Trois astuces

Pour annuler une ou plusieurs modifications effectues sur les valeurs de


lenregistrement actif, avant sa validation : appuyez sur la touche Echap (Esc ou Escape).
Pour saisir dans une case la mme valeur que celle de lenregistrement prcdent
(mme champ, donc case juste au-dessus) : appuyez sur les touches Ctrl et
apostrophe (Ctrl + ).
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.

Modification de la mise en forme des caractres

Les modifications effectues affectent automatiquement toutes les donnes de la feuille


de donnes active, et seulement cette feuille. Exemple : si vous changez la taille de la police
dun seul caractre dune donne, toutes les donnes de la feuille acquerront cette taille.
Testez diffrentes mises en forme.
Exemples : vous pouvez mettre les donnes en gras, centrer les donnes dans les
cellules, changer la couleur des caractres.

21

COURS BARDON - ACCESS 2007 / CHAPITRE 3

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.

Navigation dun enregistrement un autre


On peut atteindre un enregistrement :
-

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)

Slectionner des donnes

La slection est une opration pralable divers traitements, comme la modification ou


la suppression de donnes.
Slection dune chane de caractres : cliquez-glissez sur les caractres slectionner.
Slection dune valeur dans un champ : placez le pointeur sur un bord intrieur de la
cellule contenant la valeur slectionner. Quand il prend la forme dune croix blanche,
cliquez.
Slection dun rectangle de valeurs juxtaposes : slectionnez une valeur comme
indiqu prcdemment, puis glissez sur les autres valeurs slectionner (ne cliquez pas
nouveau).
Slection dune ligne (une ligne correspond un enregistrement) : cliquez sur la case
den-tte de la ligne (le pointeur prend la forme ).

22

COURS BARDON - ACCESS 2007 / CHAPITRE 3

Cette case est appele slecteur denregistrement.


On ne peut pas slectionner une ligne vide.
Slection dune colonne (une colonne correspond toutes les valeurs prises par le
champ dans la table) : la procdure est similaire la prcdente. Cliquez sur la case den-tte
de la colonne (le pointeur prend la forme ).
Cette case est appele slecteur de champ.
On ne peut pas slectionner une colonne vide.
Slection de lignes ou de colonnes juxtaposes : cliquez-glissez sur les slecteurs (cest-dire sur les cases den-tte). Ou bien slectionnez une ligne (ou une colonne), puis appuyez
sur la touche Maj (Shift) et slectionnez la dernire ligne (ou colonne).
On ne peut pas slectionner des lignes ou des colonnes non juxtaposes.
Slection de toutes les lignes, de toutes les colonnes : faites Ctrl + A, ou bien cliquez sur
la case den-tte de la 1re ligne, o sont inscrits les noms des champs.

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.

Hauteur de ligne et largeur de colonne


Il existe deux mthodes pour modifier la hauteur des lignes ou la largeur dune colonne :

Par cliqu-gliss (le pointeur prend la forme dune double flche)

Hauteur des lignes de la feuille : en effectuant un cliqu-gliss entre deux


slecteurs denregistrements (cases den-tte des lignes), on modifie toutes les
hauteurs des lignes.

Largeur dune colonne : en effectuant un cliqu-gliss sur le bord droit du


slecteur du champ (case den-tte du champ), on modifie la largeur de la colonne
de ce champ. Les largeurs des autres colonnes restent inchanges.

Avec la fentre Hauteur de ligne ou la fentre Hauteur de colonne

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

COURS BARDON - ACCESS 2007 / CHAPITRE 3

Renseignez la fentre, puis validez.

Champs et colonnes

La fentre de longlet Feuille de donnes comprend le groupe Champs et


colonnes .
Les trois premires actions (Renommer un champ, Ajouter ou Supprimer un champ) qui
seront tudies ci-aprs modifient la table.
Les trois actions suivantes (Dplacer un champ, Figer ou Masquer une colonne)
modifient uniquement la prsentation des donnes sur la feuille.
Vous pouvez le vrifier en affichant la table en Mode Cration (cliquez sur la dernire
icne de la barre dtat, en bas droite ; pour revenir en Mode Feuille de donnes, cliquez
sur la 1re icne de la barre dtat ).

Renommer un champ

Pour renommer un champ :


- Double-cliquez sur le slecteur du champ (case den-tte de la colonne).
- Ou bien, placez le curseur (barre clignotante) dans le champ. Puis, longlet
Feuille de donnes , dans le groupe Champs et colonnes , cliquez sur le
bouton Renommer .
Saisissez le nouveau nom du champ.
La valeur de la proprit Nom du champ a t modifi. Les autres proprits du
champ, notamment sa lgende, restent inchanges. Vous pouvez le vrifier en ouvrant la table
en Mode Cration.

Ajouter un nouveau 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

COURS BARDON - ACCESS 2007 / CHAPITRE 3

Supprimer un champ

Slectionnez les champs supprimer, puis :


- Appuyez sur la touche Suppr (ou Del).
- Ou bien longlet Feuille de donnes , dans le groupe Champs et colonnes ,
cliquez sur le bouton Supprimer .
La confirmation de la suppression est demande.

Dplacer un champ

Pour dplacer un champ, procdez en deux tapes :


- Cliquez sur le slecteur du champ (la case den-tte correspondant sa colonne).
Le champ est ainsi slectionn.
- Puis cliquez-glissez jusqu lemplacement souhait (une barre noire saffiche).
Le dplacement dun champ dans la feuille de donnes naffecte pas la structure de la
table. Le champ garde sa position au sein de la table.

Figer une colonne

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.

Masquer une colonne

Pour masquer une ou plusieurs colonnes :


- Slectionnez-les ;
- Faites un clic droit sur la slection effectue > Masquer les colonnes.
Les colonnes masques restent dans la structure de la table, mais elles ne sont plus
affiches en Mode Feuille de donnes.
Pour afficher nouveau les colonnes :
-

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.

2. MISE EN PAGE ET IMPRESSION DES DONNEES DUNE TABLE


Avant dimprimer le document contenant les donnes de la table, il convient de vrifier
la mise en page et de la modifier si ncessaire.

25

COURS BARDON - ACCESS 2007 / CHAPITRE 3

Aperu avant impression et mise en page

Pour tre en mode daffichage Aperu avant impression , activez le bouton Aperu
avant impression , dont licne reprsente une loupe sur une feuille :
-

Soit directement, en cliquant sur le bouton


situ sur la barre doutils Accs
rapide.
Si le bouton nest pas dans cette barre, ajoutez-le : cliquez sur la flche droite
de la barre > Cochez la case Aperu avant impression .

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 .

Le document est affich tel quil sera imprim.

Affichage du document

Pour modifier laffichage (non la mise en page) du document visualis en mode


Aperu avant impression , utilisez les boutons de commandes du groupe Zoom.
On peut galement modifier le facteur de zoom en dplaant le curseur de zoom, situ
sur la barre dtat (en bas).

Mise en page 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).

Fermeture du mode Aperu avant impression

Pour fermer la fentre de laperu, cliquez sur le dernier bouton, tiquet Fermer
laperu avant impression .

Impression

Il est possible de lancer directement limpression du document : cliquez sur le bouton


Imprimer de la barre doutils Accs rapide.
Si le bouton Imprimer nest pas dans cette barre et si vous souhaitez lajoutez : cliquez
sur la flche droite de la barre > Cochez la case Impression rapide .
Les paramtres dimpression dfinis par dfaut sappliquent alors.
Si vous prfrez afficher dabord la fentre Imprimer afin de vrifier et, si
ncessaire, modifier les paramtres dimpression (en indiquant notamment les pages
imprimer) :
- Etant en mode daffichage Aperu avant impression (cf. prcdent), activez
le bouton Imprimer (1er bouton).
- Ou bien : activez le bouton Office > cliquez sur Imprimer.
Renseignez la fentre Imprimer .

26

COURS BARDON - ACCESS 2007 / CHAPITRE 3

3. IMPORTER ET EXPORTER DES DONNEES

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.

On souhaite exporter les donnes dune table dans un document Word.


Affichez la table en mode Feuille de donnes. A longlet Donnes externes , dans le
groupe Exporter, activez le bouton Word. Access cre un fichier nomm (NomDeLaTable).rtf.
Pour le changer demplacement, cliquez sur le bouton Parcourir et slectionnez le dossier
souhait. Cliquez sur Enregistrer. Validez.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 4

CHAPITRE 4 TABLE : RECHERCHER ET


REMPLACER, TRI ET FILTRE

1. RECHERCHER ET REMPLACER UNE CHAINE DE CARACTERES


Une chane de caractres est une suite de caractres quelconques.
On peut rechercher, et si ncessaire remplacer, une chane de caractres qui est une
valeur de champ, ou bien une chane qui est une partie de valeur de champ. Exemple : on peut
rechercher jasmin jaune, jasmin, ou jas.

Rechercher une chane de caractres dans une feuille de donnes

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.

Recherche dune chane de caractres avec la fentre Rechercher et


remplacer

Avant dafficher cette fentre :


- Vous pouvez slectionner la chane de caractres rechercher. Cette chane
apparatra alors dans la fentre, dans la zone tiquete Rechercher . Sinon,
saisissez-la.
- Si la recherche seffectue dans un champ prcis, cliquez dans sa colonne. Il sera
ainsi propos dans la fentre Rechercher et remplacer , dans la zone tiquete
Regarder dans .
Pour afficher la fentre Rechercher et remplacer : activez longlet Accueil > dans le
groupe Rechercher, cliquez sur le bouton Rechercher. Elle saffiche longlet Rechercher.
Quelques indications pour renseigner cette fentre Rechercher :

Rechercher : la chane peut contenir des caractres de substitution :


- Le point dinterrogation ? remplace un caractre quelconque (lettre,
chiffre, espace, etc.). Exemple : en recherchant s?cr, on peut localiser les
mots sacr et sucr.
- Le signe dise # remplace un chiffre. Exemple : en recherchant 19##, on
peut localiser les annes 1900.
28

COURS BARDON - ACCESS 2007 / CHAPITRE 4

- Lastrisque * remplace zro ou plusieurs caractres. Exemple : en


recherchant bon*, on peut localiser les valeurs bon, bonjour et bon voyage.
Pour rechercher les cases vides de la table ou dun champ, tapez Null dans
la zone Rechercher et choisissez loption Champ entier dans la zone
O .

Regarder dans : la recherche peut seffectuer dans toute la table, ou bien


dans le champ pralablement slectionn.

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 .

Respecter la casse : la recherche distingue lettres minuscules et lettres


majuscules. Exemple : si on recherche Quartz, le mot quartz ne sera pas repr.

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.

Remplacer une chane de caractres dans une feuille de donnes

Pour remplacer une chane de caractres, on utilise la mme fentre Rechercher et


remplacer que prcdemment, longlet Remplacer cette fois.
Les indications du paragraphe prcdent sappliquent.
Comme prcdemment, avant dafficher la fentre :
- Vous pouvez slectionner la chane de caractres rechercher. Elle apparatra dans
la zone Rechercher de la fentre.
- Si la recherche seffectue dans un champ prcis, cliquez dans sa colonne, afin que
son nom soit prsent dans la zone Regarder dans de la fentre.
Pour afficher la fentre Rechercher et remplacer directement longlet Remplacer :
activez longlet Accueil > dans le groupe Rechercher, cliquez sur le bouton Remplacer.
Elle contient les mmes zones qu longlet Rechercher, galement dautres zones, en
particulier la zone de saisie Remplacer par .

29

COURS BARDON - ACCESS 2007 / CHAPITRE 4

Prcisions sur les boutons Suivant , Remplacer et Remplacer tout :


- Suivant : permet de lancer la recherche de la chane. Localise, elle est mise en
surbrillance.
- Remplacer : permet de remplacer la chane mise en vidence.
- Remplacer tout : permet deffectuer en bloc tous les remplacements.

2. TRI SIMPLE OU TRI AVEC FILTRE

Tri et filtre

Un tri permet laffichage des enregistrements en fonction des valeurs ordonnes


dun ou de plusieurs champs. Exemple : tri denregistrements en fonction de
lordre alphabtique des valeurs du champ Nom .

Un filtre permet laffichage slectif denregistrements, en fonction de critre(s)


dfini(s). Contrairement au tri qui affiche tous les enregistrements, lapplication
dun filtre permet un affichage denregistrements choisis. Exemple : filtre qui ne
garde que les enregistrements dont le champ Ville a pour valeur Paris ou
Marseille.

Tri simple sur une ou plusieurs colonnes juxtaposes

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

COURS BARDON - ACCESS 2007 / CHAPITRE 4

Tri sur une ou plusieurs colonnes quelconques, avec ou sans filtre

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

On obtient la table rsultat :


N

Nom
27 Paillat
24 Renou
22 Vignaud

Prnom
Thrse
Jean
Chlo

Ville
Bordeaux
Bordeaux
Lyon

Age
63
87
16

31

COURS BARDON - ACCESS 2007 / CHAPITRE 4

Les enregistrements sont tris par ordre alphabtique des noms.


On na retenu que les habitants de Bordeaux de plus de 50 ans, ainsi que les habitants
de Lyon de moins de 50 ans.
(Pour afficher ceux de Paris, il faudrait ajouter cette ville la ligne suivante, dans la
colonne Ville).

Annulation de tris

Pour annuler un tri, cliquez sur le bouton Effacer tous les tris
filtrer .

du groupe Trier et

Activation/Dsactivation et annulation de filtres

Pour activer ou dsactiver temporairement un filtre : dans le groupe Trier et


filtrer , cliquez sur le bouton Supprimer/Appliquer le filtre .
Ou bien cliquez sur le bouton de mme icne, indiquant Filtr ou Non filtr , en
bas de la feuille de donnes.

Pour annuler tous les filtres :


Dans le groupe Trier et filtrer , activez le bouton Options avances > Effacer
tous les filtres .

Pour annuler les filtres concernant un seul champ :


Slectionnez ce champ, puis activez le bouton Filtre du groupe Trier et filtrer >
Supprimer le filtre dans (nom du champ slectionn) .

3. FILTRER LES DONNEES DUNE TABLE


Pour filtrer les enregistrements, il existe dautres mthodes que celle tudie dans le
paragraphe prcdent.

Filtrer en cochant certaines valeurs de champs

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

COURS BARDON - ACCESS 2007 / CHAPITRE 4

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

Aprs validation, on obtient la table rsultat :


N

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.

Filtrer en utilisant une expression

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

COURS BARDON - ACCESS 2007 / CHAPITRE 4

On obtient la table rsultat :


N

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.

Filtre en fonction dune valeur, ou dune partie de valeur, slectionne

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 .

Activation/Dsactivation et annulation de filtres


Cf. fin du 2 de ce chapitre.

Filtrer par formulaire


Le filtre par formulaire nutilise que des valeurs exactes de champ.

Pour procder au filtrage par formulaire :


Dans le groupe Trier et filtrer , activez le bouton Options avances > Filtrer par
formulaire .
Une nouvelle fentre donglet (nom de la table): Filtrer par formulaire saffiche. Cest
une grille comportant en 1re ligne les noms des champs de la table.

34

COURS BARDON - ACCESS 2007 / CHAPITRE 4

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

Activation/Dsactivation et annulation de filtres


Cf. fin du 2 de ce chapitre.

35

COURS BARDON - ACCESS 2007 / CHAPITRE 5

CHAPITRE 5 TABLE : GESTION APPROFONDIE


DES CHAMPS
Une table est constitue de champs. Il est important de dfinir le plus prcisment et le
plus tt possible les proprits de ses champs :
- Dune part, la saisie des donnes en sera rendue aise et plus sre (par exemple en
dfinissant un Masque de saisie ou une Valeur par dfaut) et les informations
seront plus lisibles (par exemple en dfinissant une Lgende ou un Format).
- Dautre part, la cration des formulaires et des tats qui utiliseront ces champs en
sera facilite. Il est plus rapide et plus sr de dfinir les proprits des champs sur
une table, plutt que de devoir les dfinir ensuite sur chaque formulaire et sur
chaque tat utilisant ces champs.
En rgle gnrale, on dfinit les proprits des champs dans la table ouverte en Mode
Cration. On peut en effet dfinir dans ce mode toutes les proprits.
Certaines proprits, couramment utilises, sont galement dfinissables en Mode Feuille de donnes, en
utilisant les commandes du groupe Type de donnes et mise en forme de longlet Feuille de donnes
(groupe quil aurait t prfrable de nommer Type de donnes et proprits ). Sont ainsi dfinissables en ce
Mode les proprits Nom, Type de donnes, Format, Dcimales, Index, Null interdit et Chane vide autorise.

Au chapitre 2 5 Cration dune table en mode Cration , on a tudi les deux


proprits fondamentales dun champ, savoir son nom et son type de donnes, ainsi que la
proprit Description.
On peut dfinir de nombreuses autres proprits en utilisant le cadre infrieur intitul
Proprits du champ , qui comporte deux onglets :
- Longlet Gnral : les principales proprits de cet onglet sont tudies dans
ce chapitre au 2. PROPRIETES (ONGLET GENERAL )
- Longlet Liste de choix : les listes de choix sont tudies dans ce chapitre au
3. LISTES DE CHOIX.
Avant dtudier les principales proprits, nous allons voir comment ajouter,
slectionner, dplacer et supprimer des champs dans une table ouverte en Mode Cration.

1. GESTION DES CHAMPS EN MODE CREATION


Dans une table ouverte en Mode Feuille de donnes, le nom du champ et ses valeurs
sont en colonne.
Dans une table ouverte en Mode Cration, le nom du champ et ses deux proprits Type
de donnes et Description sont en ligne.
Lajout et la suppression de champs sont galement possibles en Mode Feuille de donnes (cf. chapitre 3
1 Champs et colonnes ). En revanche, on ne peut modifier lordre des champs dune table quen Mode
Cration.
Ajout dun champ
Ajout dun champ dans une ligne vide
Il suffit de cliquer sur une cellule vide dans la colonne Nom du champ , puis de saisir
le nom du champ. Choisissez ensuite un type de donnes dans le menu droulant , puis
tapez ventuellement une description du champ.

36

COURS BARDON - ACCESS 2007 / CHAPITRE 5

Insertion dun champ en 1re ligne ou entre deux lignes de champs


- Cliquez dans la ligne situe sous celle du futur champ.
- A longlet Cration, dans le groupe Outils, activez le bouton Insrer des
lignes . Une nouvelle ligne est insre. Dfinissez les proprits du nouveau
champ : nom, type de donnes, ventuellement description.

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.

Autre mthode pour supprimer un champ :


Le curseur (barre clignotante) tant dans une ligne, vous pouvez supprimer cette ligne : longlet
Cration, dans le groupe Outils, activez le bouton Supprimer les lignes .

2. PROPRIETES (ONGLET GENERAL )


A. Taille du champ, B. Nouvelles valeurs, C. Format, D. Dcimales, E. Masque de saisie, F. Lgende,
G. Valeur par dfaut, H. Valide si et Message si erreur, I. Null interdit, J. Index, K. Aligner le texte

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.

Valeurs par dfaut attribues par Access

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.

Modification dune valeur par dfaut dans une table


Considrez ces valeurs par dfaut, modifiez-les si ncessaire dans la table : cliquez ou
double-cliquez dans la zone de saisie et tapez la nouvelle valeur. La modification ne sera
effective que sur le champ de la table courante.

37

COURS BARDON - ACCESS 2007 / CHAPITRE 5

Modification dune valeur par dfaut dans la fentre Options Access


Vous pouvez galement modifier certaines valeurs par dfaut : type du champ, taille
dun champ de type Texte, taille dun champ de type Numrique. Access proposera la
nouvelle valeur par dfaut tout nouveau champ sur lequel elle sapplique . Affichez la
fentre Options Access : activez le bouton Office > Options Access . Cliquez sur la
rubrique Concepteurs dobjets . Paramtrez dans la zone Cration de table .

Saisie dune valeur de proprit dans la fentre Zoom

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.

Fentre Access Aide

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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

Type de nombre choisir Taille du champ correspondante


Octet
1 octet
Entier
2 octets
Entier long
4 octets

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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.

Format dun champ de type Numrique

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

Format dun champ de type Texte ou de type Mmo

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.

Format dun champ de type Date/Heure

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.

Format dun champ de type Oui/Non

Un champ de type de donnes Oui/Non peut avoir comme format :


Le format Oui/Non. Cest le format appliqu par dfaut.
Le format Vrai/Faux
Le format Actif/Inactif

40

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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.

Modification du nombre de dcimales en Mode Feuille de donnes

On peut galement modifier le nombre de dcimales en Mode Feuille de donnes.


A longlet Feuille de donnes , dans le groupe Type de donnes et mise en forme
(qui devrait sappeler Type de donnes et proprits ), se trouvent les deux boutons dinfobulle :
- Augmenter le nombre de valeurs dcimales. Son icne indique : ,0 ,00.
- Diminuer le nombre de valeurs dcimales. Son icne indique : ,00 ,0.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

Cration dun masque laide de lAssistant Masque de saisie

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

La premire fentre de lAssistant Masque de saisie saffiche.


En fonction du type de champ (Texte ou Date/Heure), elle propose une liste de masques,
illustre dexemples facilitant le choix dun masque.
Si vous souhaitez modifier ou ajouter un masque, activez le bouton Modifier la liste .
Une nouvelle fentre Assistant Personnaliser le masque de saisie apparat. Pour ajouter un
masque, cliquez sur le bouton
, dinfo-bulle Nouvel enregistrement .
Testez ! Aprs avoir cliqu sur un masque, vous pouvez voir son effet sur la saisie dune
valeur dans la zone Essayer (si ncessaire, avant saisie, placez le curseur devant le premier
caractre espace rserv). Cliquez sur Suivant. Si besoin est, corrigez ou supprimez la valeur
saisie.
Passons maintenant aux tapes suivantes.
Le caractre espace rserv dsigne le caractre rserv pour tre remplac lors de la
saisie. Par dfaut, cest le trait de soulignement. Vous pouvez choisir un autre caractre, puis
cliquez dans la zone Essayer pour visualiser son effet ou pour taper une valeur.
Cliquez sur le bouton Suivant . A la dernire fentre, validez le masque en appuyant
sur Terminer .
Un masque ayant t dfini, sa valeur apparat dans la ligne de proprit Masque de
saisie .
Passez en Mode Feuille de donnes. Vrifiez le bon fonctionnement du masque en
saisissant quelques valeurs dans le champ concern (si ncessaire, avant saisie, placez le
curseur devant le premier caractre espace rserv).

Cration directe dun masque

On peut utiliser divers caractres du clavier pour crer un masque de saisie :

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)

Nous avons aussi notre disposition les caractres suivants :


42

COURS BARDON - ACCESS 2007 / CHAPITRE 5

Caractre
>
<
\
!

Effet sur la saisie


Les caractres qui suivent sont en lettres majuscules.
Les caractres qui suivent sont en lettres minuscules.
Le caractre suivant est affich tel quel.
La saisie seffectue de droite gauche.

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

Exemples de valeurs affiches possibles

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.

G. Valeur par dfaut


Il sagit de la valeur par dfaut dun champ.
Quand la valeur dun champ revient souvent, il peut tre intressant, pour gagner du
temps, de la dfinir en valeur par dfaut.
Il ne faut pas confondre :
- la valeur par dfaut dune proprit (exemple : la taille maximale dorigine, cest--dire sans
paramtrage ultrieur, dun champ de type texte est fixe 255 caractres),
- avec la valeur par dfaut dun champ. Elle est affiche et modifiable dans la ligne de proprit
Valeur par dfaut .

Exemples :

43

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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.

H. Valide si et Message si erreur


Rgles de validit sur un ou plusieurs champs dune table

Rgle de validit sur un seul champ

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

Voir les indications sur cette fentre dans le paragraphe Gnrateur


dexpression de la proprit prcdente G. Valeur par dfaut .
Remarques

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)

Effet sur la saisie dune valeur


La date doit prcder la date du jour
courant.
Le nombre doit tre gal 3, ou compris
entre 7 (exclus) et 10 (inclus)
La date doit tre comprise entre le 1er
janvier 1960 et la date courante (inclus).
La valeur ne doit tre ni violet, ni gris
(majuscules ou minuscules)
Le texte doit commencer par bon
(minuscules ou majuscules acceptes)

Les lments utiliss peuvent tre saisis directement au clavier ou par lintermdiaire du
Gnrateur dexpression.

Rgles de validit faisant rfrence plusieurs champs de la table

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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.

Bouton Tester les rgles de validation

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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

Index utilisant plusieurs champs

Un index ne porte gnralement que sur un champ.


Cependant, comme on peut ordonner des enregistrements en fonction de plusieurs
champs (exemple : tri par ordre alphabtique des noms, puis pour un mme nom, tri par
ordre alphabtique des prnoms), un index peut utiliser plusieurs champs (jusqu 10
champs !).
Lintrt de crer un index multi champs est de permettre dempcher la saisie
densembles identiques de valeurs.
Exemple : si on cre un index portant sur les champs Nom et Mot de passe, et par
ailleurs si on interdit les doublons, lindex empchera aux personnes ayant le mme nom de
choisir le mme mot de passe.
Pour crer un index multi champs :
La table tant ouverte en Mode Cration, affichez la fentre Index: (Nom de la table) :
longlet Cration, groupe Afficher/Masquer, cliquez sur le bouton Index.
Renseignez la fentre (cf. Fentre Index au paragraphe prcdent). Dans la colonne
Nom du champ , slectionnez les champs souhaits.
Pour supprimer un index multi champs, slectionnez-le dans la fentre Index, puis
appuyez sur la touche Suppr.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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

On dsigne ou on cre un champ, puis on cre la liste de choix.


Quand on place ensuite le curseur (barre clignotante) dans la cellule afin de saisir une
valeur dans ce champ, un menu droulant apparat. On louvre, et on choisit une valeur
dans la liste. On peut ventuellement taper une valeur hors liste.

LAssistant Liste de choix

Nous recommandons lutilisation de lAssistant.


Pour afficher lAssistant : la table tant ouverte en Mode Cration, cliquez dans la
cellule Type de donnes du champ, puis ouvrez le menu droulant et choisissez la
dernire option Assistant Liste de choix .
Aprs avoir cr la liste de choix avec lAssistant, libre nous de modifier ensuite les
proprits de cette liste.

Les proprits dune liste

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.

Valeurs entres dans une liste de choix

Les valeurs proposes dans une liste de choix peuvent tre :


- Soit des valeurs entres expressment pour cette liste.
- Soit des valeurs provenant dun ou de plusieurs champs dune autre table de la
base. Si des valeurs de ces champs sont changes, ajoutes ou supprimes, la
liste de choix sera modifie en consquence. Les deux tables sont
obligatoirement lies.
- Soit des valeurs dune table rsultant dune requte effectue sur la base (les
requtes de slection sont tudies aux chapitres 9, 10 et 11). Le principe de
cration de liste est le mme que pour une liste cre partir de valeurs en
provenance dune autre table de la base.

49

COURS BARDON - ACCESS 2007 / CHAPITRE 5

Liste de choix cre avec des valeurs entres expressment pour la liste

Constitution dune liste de choix 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 taperai les valeurs
souhaites . Cliquez sur Suivant .
- Choisissez le nombre de colonnes que vous souhaitez que la liste affiche, sachant
que seules les valeurs de la premire colonne pourront tre saisies dans la cellule
du champ. Les valeurs des autres colonnes ne seront quaffiches.
- Entrez les valeurs que vous souhaitez que la liste affiche. Cliquez sur
Suivant .
- LAssistant invite slectionner la colonne des valeurs stocker. Validez.
- Dans la nouvelle fentre :

Gardez le nom de ltiquette.

Si vous cochez la case Autoriser plusieurs valeurs , la liste de choix se


prsentera sous la forme de cases cocher. Les valeurs choisies seront
affiches dans la cellule, spares par des points-virgules.
Attention : si vous choisissez dautoriser la saisie de plusieurs valeurs
dans une cellule du champ, vous ne pourrez plus linterdire ensuite,
mme en crant une nouvelle liste de choix (vous naurez plus qu crer
un autre champ).
- Pour valider la liste de choix cre, cliquez sur le bouton Terminer .
La table est affiche en Mode Cration.
Affichez les proprits de la liste de choix que vous venez de crer : aprs avoir cliqu
sur la ligne du champ concern, activez longlet Liste de choix dans le cadre Proprits
du champ .
Les proprits de la liste peuvent tre modifies. Exemple : on peut dcider de ne pas
limiter la saisie aux lments de la liste de choix. Pour ce faire, la proprit Limiter
liste , slectionnez loption Non .

Cration dun champ utilisant une liste de choix

En Mode Feuille de donnes


Pour crer le champ, puis la liste de choix, procdez ainsi :
- Cliquez dans la colonne droite de la colonne crer.
- A longlet Feuille de donnes , dans le groupe Champs et colonnes ,
activez le bouton Colonne de recherche (recherche, car la saisie sera
recherche dans la liste de choix).
- LAssistant Liste de choix saffiche. Procdez comme indiqu prcdemment
dans le paragraphe concernant la cration dune liste dans une table ouverte en
Mode Cration.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 5

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 .

Suppression dune liste de choix

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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

CHAPITRE 6 RELATIONS ENTRE LES TABLES

1. LINTERET DE LIER DES TABLES


Mme tant isoles, les tables prsentent des avantages, en particulier : informations
structures, saisie des donnes facilite, application de tris et de filtres, affichage et slection
des donnes.
La cration de relations est utile, elle offre des avantages supplmentaires :
- Relies, les tables permettent de prsenter un systme encore mieux structur, ainsi
que des donnes plus cohrentes (notamment par lapplication de lintgrit
rfrentielle , cf. 5 de ce chapitre).
- Reprsentes par des lignes, les relations permettent didentifier facilement les champs
correspondants.
- Les relations savrent pratiques lors de llaboration des requtes, ainsi que pour la
ralisation de formulaires et dtats (cration de sous-formulaires et de sous-tats).

2. CHAMPS IDENTIFIANTS, CLES PRIMAIRES ET CLES ETRANGERES


Usuellement, une relation entre deux tables est reprsente par une ligne qui part de la
cl primaire dune table, et qui arrive sur une autre table la cl trangre correspondante.
Les notions de champs identifiants et de cls seront expliques en dtail dans les
paragraphes suivants.

Champs identifiants

Une table doit toujours contenir un champ ou un groupe de champs identifiant, do


ltude des champs identifiants ds ltape de la cration de la table (cf. chapitre 2
2 Champs identifiants ).
La caractristique dun champ ou dun groupe de champs identifiant est de permettre
didentifier un enregistrement de la table.

Table comportant un champ identifiant

Lorsquune table comprend un champ identifiant, une valeur de ce champ permet


didentifier lenregistrement correspondant : connaissant une valeur du champ identifiant, on
peut dduire les valeurs des autres champs de lenregistrement.
Exemple
Dans une table LIVRE, un numro de livre permet didentifier le livre correspondant.
Connaissant le numro dun livre, on peut dduire le titre, le numro dauteur et lditeur de
ce livre (quand le champ est renseign).

52

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Table comportant un groupe de champs identifiant

Lorsquune table comprend un groupe de champs identifiant, un ensemble de valeurs


des champs de ce groupe permet didentifier lenregistrement correspondant. Connaissant les
valeurs de tous les champs du groupe, on peut dduire les valeurs des autres champs de
lenregistrement.
Le groupe de champs identifiant comporte uniquement les champs ncessaires
lidentification dun enregistrement.
Exemple
Considrons la table EMPRUNT :
EMPRUNT
NoLivre
NoPersonne
DateEmprunt
DateRetour
On suppose quune personne ne peut emprunter quune seule fois un mme livre.
La table EMPRUNT a pour identifiant le groupe de champs compos de NoLivre et de
NoPersonne. Il est ncessaire et suffisant de connatre un numro de livre et un numro de
personne pour identifier lemprunt correspondant. On peut en dduire la date demprunt et la
date de retour du livre (le champ DateRetour nest pas renseign si le livre na pas t
rendu).
Supposons maintenant quune mme personne puisse emprunter plusieurs fois le
mme livre, des dates diffrentes. Le groupe de champs identifiant doit dans ce cas inclure
galement le champ DateEmprunt.

Lattribution dune cl primaire

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.

Vrifications pralables lattribution dune cl primaire

Avant dattribuer une cl primaire un champ ou un groupe de champs, vrifiez que :


- Le champ a le type NumroAuto, Numrique ou Texte. Ce sont les seuls types
accepts pour une cl primaire.
- Le champ ou le groupe de champs permet didentifier un enregistrement.
- Tous les enregistrements de la table ont ou doivent avoir une valeur pour ce
champ.
Sil sagit dun champ de type Texte, cette valeur peut tre (une seule fois, car les doublons sont
interdits pour une cl primaire) la chane vide . Sans tre vide, la cellule naffichera rien.

Les valeurs de ce champ sont et seront uniques.


Il est habituel de choisir NumroAuto en type de champ identifiant. Dans un
champ de ce type, Access gnre automatiquement les valeurs, donc il ne peut
pas y avoir dabsence de valeur. De plus, ces valeurs tant uniques, il ny a pas
de risque de doublons , cest--dire de valeurs identiques.

53

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Attribuer une cl primaire

La table tant ouverte en Mode Cration, pour attribuer une cl primaire un champ ou
un groupe de champs, procdez ainsi :
-

Dsignez le champ ou le groupe de champs identifiant :

Sil sagit dun champ identifiant : cliquez sur la ligne de champ concern.

Sil sagit dun groupe de champ identifiant : slectionnez les lignes de


tous les champs du groupe.
Si les lignes de champs ne sont pas juxtaposes, dplacez-les de sorte
quelles le soient : cliquez sur une ligne, puis cliquez-glissez jusqu
lemplacement souhait.
A longlet Cration, dans le groupe Outils, activez le bouton Cl primaire .

Une icne reprsentant une cl saffiche (nous prendrons le signe pour dsigner la
cl primaire ).

Pour un champ identifiant : licne saffiche dans sa case den-tte. On peut


ds lors dsigner le champ comme cl primaire de la table .

Pour un groupe de champs identifiant : licne saffiche dans la case dentte de chaque champ du groupe. Cest le groupe qui est cl primaire.

Cration dun index

(Cf. chapitre 5 2 J. Proprit Index - Index sur un ou plusieurs champs )


Si la cl primaire de la table est un seul champ, Access cre doffice un index sur ce
champ. Vous pouvez le vrifier en Mode Cration, la proprit Index du champ.
Une cl primaire devant avoir une valeur unique pour chaque enregistrement, Access
cre un index sans doublons.
Si la cl primaire est un groupe de champs, Access ne cre pas dindex sur le groupe.

Suppression dune 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 .

Cls trangres (ou cls externes)

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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Exemple
PROPRIETAIRE
NoPropr
Nom
Adresse

TERRAIN
RefCadastrale
Surface
NoProprietaire
NoVille

Les champs NoPropr et NoPropritaire sont analogues.


Le champ NoPropr de PROPRIETAIRE est la cl primaire de la table.
Le champ NoPropritaire de TERRAIN est la cl trangre correspondant la cl
primaire NoPropr.
Dans la table TERRAIN, le champ NoVille peut tre galement une cl trangre, correspondant la cl
primaire (par exemple NumroVille) dune tierce table.

Cl trangre correspondant une cl primaire de type NumroAuto

Il est usuel de donner la cl primaire le type NumroAuto. En effet, Access gnre


alors automatiquement la valeur (il ny a donc pas de risque dabsence de valeur) et les
valeurs gnres sont uniques.
Le champ cl trangre correspondant une cl primaire de type NumroAuto, sera dot
du type Numrique. Sa proprit Taille du champ sera Entier long, comme celle de la cl
primaire.
Ce nest pas impos, mais vivement recommand. Les valeurs de la cl primaire
pourront en effet tre alors utilises comme valeurs de cl trangre.

3. TYPES DE RELATIONS ET TABLES DE JONCTION


On dfinit deux types de relations : la relation de type un--plusieurs, la plus commune,
et la relation de type un--un.

Relation de type un--plusieurs


Les relations sont en majorit de ce type.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

A un enregistrement de la table avec cl primaire, il correspond zro, un ou


gnralement plusieurs enregistrements de la table avec cl trangre. Do le nom de ce type
de relation un--plusieurs .
Exemple : un auteur de la table AUTEUR, il correspond zro, un ou plusieurs
(gnralement plusieurs) livres de la table LIVRE.
Inversement : un enregistrement de la table avec cl trangre, il ne correspond
quun enregistrement de la table avec cl primaire.
Exemple : un livre de la table LIVRE, il ne correspond quun auteur de la table
AUTEUR (on a pris pour rgle de ne relever quun nom dauteur par livre, mme si le livre est
luvre de coauteurs).

Cts un et ct plusieurs

Une relation un--plusieurs est reprsente par une ligne :


qui part de la cl primaire : on appelle ce ct le ct un,
et qui arrive la cl trangre : on appelle ce ct le ct plusieurs ou ct infini, de
symbole .
Si lintgrit rfrentielle est applique la relation (cf. 5), le chiffre 1 et le symbole sont affichs sur
la ligne de relation, le premier prs de la table cl primaire, le second prs de la table cl trangre.

Exemple : la relation qui relie les tables de lexemple prcdent, a son ct un du ct


de la table AUTEUR et son ct plusieurs (ou ) du ct de la table LIVRE.

Relation de type un--un

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.

La ligne symbolisant la relation, part de la table principale et aboutit la table


secondaire.
Exemple
LIVRE
NoLivre
NomAuteur
Editeur
DateEdition
Genre

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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Tables de jonction
Supposons quon souhaite relier deux tables, nommes A et B, telles que :

A un enregistrement de la table A, peuvent correspondre plusieurs enregistrements


de la table B,

Et inversement : un enregistrement de la table B, peuvent correspondre plusieurs


enregistrements de la table A.

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

Un mme tudiant peut suivre plusieurs cours.


Inversement, un mme cours peut tre suivi par plusieurs tudiants.
Pour relier ces deux tables, il convient donc de crer une table de jonction, quon
appelle par exemple SUIVRE (il est prfrable de donner des noms explicites aux tables comme
aux champs, pour plus de lisibilit).
Ajoutons le champ Moyenne cette table SUIVRE. Elle permettra ainsi dindiquer en
outre la moyenne obtenue par un tudiant un cours donn.
Lidentifiant de la table de jonction est le groupe de champs compos des cls
trangres NoEtudiant et NoCours. A ce groupe de champs identifiant, on attribue une cl
primaire.
Les deux lignes reprsentant les deux relations sont ainsi traces :
- lune part de NoEtudiant la cl primaire (NoEtudiant, NoCours) de la table
SUIVRE.
- lautre part de NoCours et arrive galement la cl primaire de la table SUIVRE.
Les deux nouvelles relations sont de type un--plusieurs.
On obtient les tables et les relations suivantes :
ETUDIANT
NoEtudiant
NomEtudiant
PrnomEtudiant

SUIVRE
NoEtudiant
NoCours
Moyenne

COURS
NoCours
NomCours

57

COURS BARDON - ACCESS 2007 / CHAPITRE 6

4. CREATION, MODIFICATION ET IMPRESSION DES RELATIONS


Les tables relier tant maintenant fin prtes (sinon reportez-vous aux paragraphes
prcdents), il reste crer les relations en pratique.

La fentre Relations

La fentre Relations permet de visualiser les tables et les relations.


Quon soit en Mode Cration ou en Mode Feuille de donnes, pour lafficher : longlet
Outils de base de donnes , dans le groupe Afficher/Masquer, activez le bouton Relations.
On utilisera les Outils de relation dont longlet Crer comprend le groupe Outils et le
groupe Relations.

Gestion des tables

Afficher des tables

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 ajouter dun bloc plusieurs tables :


Slectionnez-les dabord dans la fentre Afficher la table :
o
Si les noms des tables se suivent : cliquez sur le nom de la premire table,
puis appuyez sur la touche Maj (Shift) et cliquez sur le nom de la dernire
table ajouter.
o
Si les noms des tables ne se suivent pas : cliquez sur le nom de la premire
table, puis appuyez sur la touche Ctrl et cliquez sur chaque nom de table
ajouter.
Activez le bouton Ajouter de la fentre Afficher la table .

Pour afficher dun bloc toutes les tables relies, activez le bouton Afficher toutes
les relations du groupe Relations.

Slectionnez une table

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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Masquer une table

On ne peut masquer les tables quune une.


Pour masquer une table : faites un clic droit sur le texte de la table > Masquer la table.
Il existe une autre mthode pour masquer une table :
- Slectionnez-la, en cliquant sur son texte.
- Dans le groupe Relations , activez le bouton Masquer la table , ou bien
appuyez sur la touche Suppr (Del) (seul sera supprim laffichage de la table
dans la fentre Relations ).
Ne pas confondre masquer une table dans la fentre Relations (il sagit juste de supprimer laffichage
de cette table dans la fentre), et fermer une table. Pour fermer une table : faites un clic droit sur son onglet >
Fermer.
La table peut ne pas paratre dans la fentre Relations , donc tre masque, tout en tant ouverte. Une
table ouverte affiche un onglet portant son nom.

Dplacer une table, modifier sa grandeur

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

Afficher les relations

On utilisera longlet Crer des Outils de relation , le groupe Outils et le groupe


Relations.
Les relations sont reprsentes par des lignes reliant deux champs analogues.
Quand il y a application de lintgrit rfrentielle sur la relation (cf. 5), les indications des cts sont
affiches : le chiffre 1 dsigne le ct un, le symbole infini le ct plusieurs.

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.

Pour nafficher que les relations concernant une table donne :


o
Masquez dabord tables et relations : dans le groupe Outils , cliquez
sur le bouton Effacer la mise en page . Confirmez.
o
Affichez la table : activez le bouton Afficher la table , puis dans la
fentre Afficher la table , double-cliquez sur le nom de la table
afficher.
o
Activez le bouton Afficher les relations directes du groupe
Relations .

Cration dune relation

On utilisera longlet Crer des Outils de relation , le groupe Outils et le groupe


Relations.
Pour crer une nouvelle relation, procdez ainsi :

59

COURS BARDON - ACCESS 2007 / CHAPITRE 6

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.

Modifier ou supprimer une relation

On utilisera longlet Crer des Outils de relation , le groupe Outils et le groupe


Relations.
Pralablement la modification ou la suppression dune relation :
- Affichez la relation (donc les tables quelle relie).
- Sil y a application de lintgrit rfrentielle sur la relation (les symboles 1 ou
sont alors affichs sur la ligne de relation), il est ncessaire de fermer les tables
lies par la relation modifier ou supprimer.

Modification dune relation :

Affichez la fentre Modifier des relations .


Il existe trois mthodes pour lafficher :
o
Double-cliquez sur la relation
o
Ou bien faites un clic droit sur la ligne de relation > Modifier une relation
o
Ou bien dans le groupe Outils, activez le bouton Modifier des
relations .
Renseignez la fentre, puis validez les modifications effectues.

Suppression dune 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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Imprimer ltat des relations

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 .

Affichage de ltat des relations en mode Aperu avant impression

Le rapport est titr Relations pour (nom de la base de donnes) et dat.


Y apparaissent les tables avec leur nom et leurs champs, ainsi que les lignes de relations
et, ventuellement les dsignations de leurs cts, symboliss par 1 ou , sil y a application
de lintgrit rfrentielle la base de donnes. Les cls primaires ne sont pas indiques.
Ltat des relations saffiche en mode Aperu avant impression .
Vous pouvez utiliser les commandes de la fentre :

Le bouton Imprimer permet dafficher la fentre Imprimer .

Les commandes du groupe Mise en page permettent de modifier la mise en


page de ltat.

Les commandes du groupe Zoom permettent de modifier laffichage de


ltat.

Le groupe Donnes dispose de commandes pour exporter ltat, par exemple


vers un fichier Word, un fichier Excel ou vers une autre base de donnes. Le
bouton PDF ou XPS permet denregistrer ltat sous lun de ces formats.

Et vous avez le bouton Fermer laperu avant impression .


Si ltat des relations est enregistr, il devient un objet tat de la base de donnes. Il
figure alors dans le Volet de navigation (les tats sont traits au chapitre 14 LES ETATS).

Impression de ltat des 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

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Si le cas existe avant la demande dintgrit rfrentielle, celle-ci est refuse et


un message derreur saffiche.
Lintgrit rfrentielle tant applique une relation, si on saisit une valeur
dans la cl trangre (ct plusieurs ), alors que cette valeur nest pas prsente
dans le champ analogue (ct 1), la validation de la saisie est refuse.

Exigences de lintgrit rfrentielle

Lapplication de loption Intgrit rfrentielle est rtroactive. Elle nest


applicable une relation que si elle respecte dj les critres dintgrit rfrentielle. Sinon,
procdez aux modifications ncessaires afin de pouvoir lappliquer.
Curieusement, lintgrit rfrentielle nexige pas que le champ do part la ligne de
relation soit dot dune cl primaire.
Elle vrifie juste que le champ identifiant a comme valeur de sa proprit Index la
valeur Oui Sans doublons (comme est doffice cette valeur pour un champ cl primaire).
Si le champ identifiant, usuellement cl primaire, nest pas Index Sans doublons ,
un message derreur saffiche, empchant lapplication de lintgrit rfrentielle.
Afin de pouvoir appliquer lintgrit rfrentielle, il faut que, pour chaque relation,
les deux champs sur lesquels elle sappuie soient dots du mme type de donnes,
lexception importante suivante : si le champ identifiant est de type NumroAuto, cas usuel, le
champ correspondant peut et doit tre du type Numrique.
La proprit Taille du champ doit galement tre la mme pour les deux champs.
Exemple : lintgrit rfrentielle ne peut pas tre applique une relation liant un champ de
type Numrique et de taille Octet son champ correspondant de type Numrique, mais dot,
lui, de taille Entier long.

Exemple dapplication dintgrit rfrentielle sur une relation


Considrons les deux tables relies suivantes :
VILLE
NumeroVille 1
NomVille

NbreHabitants
Dpartement

PERSONNE
NumeroPers
NomPers
Ville

NumeroVille est le champ identifiant de la table VILLE. On la dot dune cl primaire.


NumeroPers est le champ identifiant de la table PERSONNE. On la dot dune cl primaire.
Le champ Ville est la cl trangre correspondant la cl primaire NumeroVille.

Lapplication de lintgrit rfrentielle sur la relation empche lajout dun numro de


ville dans le champ Ville, ds lors que ce numro nexiste pas dans le champ NumeroVille.
Par ailleurs, le champ NoVille tant de type NumroAuto, le champ correspondant Ville
ne peut pas tre de type Texte. Cela serait contraire aux rgles de lintgrit rfrentielle
(mme type de donnes des champs correspondants, lexception dun champ type NumroAuto qui doit
correspondre avec un champ de type Numrique).

Appliquer lintgrit rfrentielle


Pour appliquer lintgrit rfrentielle sur une relation, procdez ainsi :

62

COURS BARDON - ACCESS 2007 / CHAPITRE 6

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.

Affichez la fentre Modifier des relations : longlet Crer des Outils de


relation , dans le groupe Outils, activez le bouton Modifier des relations , ou
bien faites un clic droit sur la ligne de la relation > Modifier une relation.
Cochez la case permettant dappliquer lintgrit rfrentielle (la premire case).
Validez.
Si aucun message derreur napparait alors, cela indique que la relation respecte les
critres dintgrit rfrentielle.
Sinon, prenez connaissance du message qui saffiche. Cliquez sur OK, fermez la fentre
Modifier des relations et effectuez les modifications ncessaires pour mettre la relation en
conformit avec les rgles dintgrit rfrentielle. Puis essayez nouveau de lui appliquer
lintgrit rfrentielle.
Lintgrit rfrentielle tant applique la relation, les cts un ou plusieurs sont
indiqus respectivement par le chiffre 1 ou par le symbole .
-

Deux options complmentaires : Mises jour en cascade et Effacements en


cascade

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.

Mettre jour en cascade les enregistrements correspondants

En gnral, on coche cette option, bien quelle soit peu utile.


Si on active cette option : la modification dune valeur du champ ct 1, usuellement cl
primaire, entranera la mme modification de valeur dans le champ correspondant, ct ,
usuellement cl trangre.
Cette option sert peu : on modifie rarement les valeurs dune cl primaire.
La cl primaire est souvent de type NumroAuto, or toute modification de valeur est
impossible dans ce type de champ.
Exemple
ETAT
NomEtat 1
Continent

VILLE
NumroVille
NomVille
NomEtat

Supposons quon ait appliqu cette relation lintgrit rfrentielle, ainsi que la
mise jour en cascade .
63

COURS BARDON - ACCESS 2007 / CHAPITRE 6

Si on modifie la valeur Zimbawe du champ NomEtat de la table ETAT, pour lcrire


Zimbabwe , elle sera modifie en consquence dans le champ analogue de la table VILLE.

Effacer en cascade les enregistrements correspondants

En gnral, on ne coche pas cette option, du fait de son potentiel destructeur.


Si on active cette option : la suppression dun enregistrement, donc en particulier de la
valeur de son champ ct un, entranera la suppression des enregistrements ayant cette valeur
dans la cl ct plusieurs .
La suppression des enregistrements peut elle-mme provoquer la suppression dautres
enregistrements, par le mme processus. Et ainsi de suite.
Il convient donc dtre prudent dans lapplication de cette option, dautant plus si la base
comporte de nombreuses tables relies. Elle risque de faire perdre de faon inattendue nombre
denregistrements. Leffet en chane dune suppression en cascade doit tre examin en dtail
avant dtre appliqu.
Exemple
Dans lexemple prcdent, si on supprime un nom dEtat, toutes les villes de la table
VILLE situes dans cet Etat seront effaces. Supposons quen supprimant Venezuela, on efface
les villes ayant les valeurs de NumroVille 3, 9 et 17.
Si une autre table de la base, par exemple la table CLIENT, a comme champ
correspondant NumroVille, les enregistrements de cette troisime table dont les valeurs de
NoVille sont 3, 9 et 17 sont galement effacs.
La continuation du processus peut continuer provoquer leffacement en chane
dautres enregistrements.
ETAT
NomEtat 1
Continent

VILLE
NumroVille
NomVille
NomEtat

CLIENT
NoClient 1
NomClient
Tlphone
NoVille

(etc.)

64

COURS BARDON - ACCESS 2007 / CHAPITRE 7

CHAPITRE 7 TABLES ET ENREGISTREMENTS,


EXEMPLES
Dans les exemples des chapitres suivants, nous utiliserons souvent les tables PEINTRE,
TABLEAU et MUSEE.
Crez les tables. Attribuez une cl primaire aux champs identifiants ( 1).
Crez les relations. Appliquez chacune lintgrit rfrentielle ( 1).
Puis saisissez les enregistrements ( 2)
Vous pourrez ainsi vrifier les rsultats des requtes proposes en exemples, galement
crer des formulaires et des tats partir de ces tables ou partir de requtes utilisant des
champs de ces tables.

1. STRUCTURES ET RELATIONS DES TABLES PRISES EN EXEMPLES


Les tables sont ainsi affiches dans la fentre Relations :
PEINTRE
NoPeintre 1
NomPeintre
PrenomPeintre
Nationalite
AnneeNaissance
AnneeDeces

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.

Communment, on attribue le type NumroAuto au champ identifiant dune table. Pour


que nous ayons les mmes valeurs, nous vous proposons dattribuer ici le type Numrique aux
champs NoPeintre, NoTableau et NoMusee.
Les champs AnneeNaissance, AnneeDeces et DateTab sont de type Numrique. Pour
chacun, slectionnez Entier en proprit Taille du champ et tapez 0000 en Masque de
saisie (pour que la valeur de ce champ ne puisse tre quune saisie de quatre chiffres).
Champ Bois/Toile : saisissez toile en Valeur par dfaut .
Champs NomPeintre, PrenomPeintre, Nationalit, NomMusee, Ville : saisissez 20 en
Taille du champ .
Champ NomTab : saisissez 50 en Taille du champ .

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

COURS BARDON - ACCESS 2007 / CHAPITRE 7

Pour crer la liste de choix sur le champ Nationalite :


- Affichez la table PEINTRE en mode Cration.
- En Type de donnes de ce champ, slectionnez Assistant liste de choix .
- Dans la fentre de lAssistant, cochez Je taperai les valeurs souhaites .
- Tapez sur une colonne les valeurs : allemand, anglais, belge, espagnol,
franais, italien, nerlandais, et attribuez la valeur Non la proprit Limiter
la liste (onglet Liste de choix ), afin dautoriser la saisie de valeurs hors
liste.
Sauf exception (par exemple, mot dont lorthographe prte erreur), il est inutile dinclure
dans une liste de choix des valeurs rarement saisies. Cela permet dallger la liste, ce qui rend
la saisie plus rapide.

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

2. ENREGISTREMENTS DES TABLES PRISES EN EXEMPLES


Voici les enregistrements que nous vous proposons de saisir dans chacune des tables :
Table PEINTRE :
NoPeintre NomPeintre PrenomPeintre
1 Van Eyck

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

COURS BARDON - ACCESS 2007 / CHAPITRE 7

Table TABLEAU :
NoTableau

NomTab

Bois/Toile

DateTab

NoPeintre NoMusee

100 La Vierge au chancelier

bois

1435

12

101 Les Epoux Arnolfini

bois

1434

15

102 Le Printemps

bois

1478

18

103 La Joconde

bois

1507

12

104 La Belle Jardinire

bois

1507

12

105 Les noces de Cana

toile

1563

12

106 Le Jardin des dlices

bois

1505

20

107 Les chasseurs dans la neige bois

1565

23

108 Jeux d'enfants

bois

1559

23

109 Autoportrait

bois

1498

20

110 Portrait d'un gentilhomme

toile

1590

20

111 Bachus adolescent

toile

1594

10

18

112 La Bohmienne

bois

1630

11

12

113 Le Bouffon au luth

bois

1625

11

12

114 L'Atelier

toile

1665

12

23

115 Jeune fille lisant

toile

1776

13

25

116 Le Verrou

toile

1778

13

20

117 Le Radeau de la Mduse

toile

1819

14

20

118 Le Derby d'Epsom

toile

1820

14

20

119 Le Four pltre

toile

1823

14

20

120 Dernier retour ()

toile

1838

15

15

121 Rgates Argenteuil

toile

1872

16

13

122 Chemin montant ()

toile

1877

17

13

123 La Chambre de Van Gogh

toile

1889

18

13

124 L'Eglise d'Auvers-sur-Oise

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

COURS BARDON - ACCESS 2007 / CHAPITRE 8

CHAPITRE 8 LES REQUETES : INTRODUCTION


Comme lindique son nom, une requte sur une base de donnes est une demande
concernant cette base. Cest une demande dinformation ou de modification.
Une fois enregistre, une requte devient un objet de la base.
Une requte peut porter sur une ou plusieurs tables, y compris les tables rsultats de
requtes prcdentes.
En thorie, pour crer une requte sur deux tables, il nest pas ncessaire que celles-ci soient relies. En
pratique, les relations savrent trs utiles, permettant de voir lagencement des tables dans la base, les champs
correspondants, galement dactiver des jointures automatiques en mode Cration de requte (cf. chapitre 10, 7
Cration automatique de jointures ).

1. REQUETES SELECTION ET REQUETES ACTION


On ralise des requtes principalement pour slectionner des donnes. Sans prcision, le
mot requte sous-entend une requte de slection.
Il est toutefois possible de modifier des lments dune base avec une requte action,
mme si on utilise plutt gnralement pour cela les mthodes prcdemment tudies.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 8

Exemples de requtes de slection

Code SQL dune requte portant sur une table :


select Nom
from AMI
where Ville = "Paris" ;

Cette requte affiche les noms des amis prsents dans la table AMI et qui habitent Paris.

Code SQL dune requte portant sur deux tables :


select DateFacture, MontantFacture
from CLIENT, FACTURE
where CLIENT.NumClient = FACTURE.NumClient
and CLIENT.NumClient = 82 ;

Lexpression TABLE.Champ dsigne le Champ de la TABLE. Exemple : CLIENT.NumClient dsigne le champ


NumClient qui appartient la table CLIENT.
Cette requte porte sur les deux tables CLIENT et FACTURE, elles ont NumClient en

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.

2. LASSISTANT, LE MODE CREATION ET LE MODE SQL


On peut crer une requte slection :
- Soit avec lAssistant Requte,
- soit en mode Cration,
- soit en mode SQL.
On ne peut en revanche crer une requte action quen mode Cration ou en mode SQL.
Dune faon comme dune autre, la requte sera toujours gnre en langage SQL avant
dtre excute.
La requte ayant t enregistre, tant donc objet de la base, on peut afficher son code
en SQL, galement afficher et utiliser sa table rsultat.

69

COURS BARDON - ACCESS 2007 / CHAPITRE 8

Cration dune requte de slection avec lAssistant Requte

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.

Cration dune requte en mode Cration

En mode Cration, on labore une requte de slection principalement en renseignant


une grille de saisie. On y indique notamment les champs utiliss, les critres et les tris
souhaits.
Cest la mthode de cration la plus communment utilise. Elle permet de crer et de
modifier une majorit de requtes.
La cration dune requte en mode Cration fait lobjet du chapitre 10.

Cration dune requte en mode SQL

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

COURS BARDON - ACCESS 2007 / CHAPITRE 9

CHAPITRE 9 - REQUETE DE SELECTION


AVEC UN ASSISTANT

Les quatre Assistants

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.

Requte trouver les doublons : la table rsultat de la requte affiche les


enregistrements ayant des doublons (cest--dire des valeurs identiques) dans un
ou plusieurs champs spcifis. On choisit les champs qui apparaitront dans le
rsultat. Ce type de requte est tudi au 3.

Requte de non correspondance : le rsultat de la requte affiche les


enregistrements dune table auxquels il nest pas fait rfrence dans une autre
table. Ce type de requte est tudi au 4.

Quelques prcisions pralables valables pour tous les types de requtes

LAssistant dAccess guide llaboration dune requte. Elle seffectue en plusieurs


tapes. Chaque fentre indique ce que lon doit faire, en donnant ventuellement des
explications.
Avant dafficher lAssistant, fermez les tables concernes par la requte crer (pour
fermer une table : faites un clic droit sur son onglet > Fermer). Cest souvent ncessaire pour
lexcution de la requte.
Pour raliser une requte, on peut se servir de tables, ou de rsultats de requtes
prcdentes. Cliquez sur lune des cases cocher, afin dafficher au choix tables, requtes (en
fait ce sont les tables rsultats), ou les deux.
Suite la slection dune table, lAssistant affiche une fentre dans laquelle on choisit
les champs de cette table, en utilisant les boutons suivants :
> Le champ slectionn gauche passe droite
>> Tous les champs de gauche passent droite
< Le champ slectionn droite passe gauche
<< Tous les champs de droite passent gauche.
En somme, ces symboles savrent tout fait logiques dans leurs effets respectifs.

Plus rapidement, on peut faire passer un champ de gauche droite en double-cliquant


sur son nom.

71

COURS BARDON - ACCESS 2007 / CHAPITRE 9

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

Affichage du rsultat dune requte

La table rsultat dune requte saffiche toujours en mode Feuille de donnes.


Aprs avoir activ le bouton Terminer de la dernire fentre de lAssistant, le
rsultat de la requte juste cre saffiche en mode Feuille de donnes.
Si vous souhaitez afficher nouveau la table rsultat dune requte :
- Double-cliquez sur le nom de la requte dans le Volet de navigation (la gestion
de ce Volet est traite au chapitre 1 6).
- Ou bien : clic droit sur son nom > Ouvrir.
Remarque : en mode Feuille de donnes, ouvrir ou excuter une requte revient au mme. On
obtient la table rsultat de la requte, affiche en mode Feuille de donnes.

Affichage de la fentre Nouvelle requte de lAssistant

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.

1. REQUETE SIMPLE AVEC UN ASSISTANT


Dans la fentre Nouvelle requte , double-cliquez sur Assistant Requte simple .

Affichage des valeurs des champs slectionns

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

COURS BARDON - ACCESS 2007 / CHAPITRE 9

Louverture de la requte permet dafficher la table rsultat en mode Feuille de


donnes.

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

A partir de la table MUSEE, calculons la moyenne des nombres annuels de visiteurs,


ainsi que le maximum de nombres de visites annuelles. Affichons galement le nombre de
muses.
Dans la fentre de lAssistant, slectionnez la table MUSEE, puis le champ NbVisiteurs.
Cochez la case Synthse , puis activez le bouton Options de synthse .
Cochez les cases Moyenne et Maximum, ainsi que la case Compter les
enregistrements . Validez.
Cliquez sur Terminer .
On obtient le rsultat suivant :
Moyenne De NbVisiteurs
4,57

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.

Exemple avec regroupements

Considrons les tables PERSONNE et VERSEMENT en mode Feuille de donnes :


NumPers Nom
1 Martin
2 Rivire
3 Texier

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

COURS BARDON - ACCESS 2007 / CHAPITRE 9

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

2. REQUETE ANALYSE CROISEE AVEC UN ASSISTANT


On dsigne des champs pour tre en-tte de ligne ou en-tte de colonne, ainsi quun
champ sur lequel porteront les calculs (exemples : maximum, somme, moyenne, compte)
effectus aux intersections ligne/colonne. Des calculs peuvent galement tre effectus sur les
valeurs de chaque ligne. La table rsultat de la requte ressemble une feuille de calcul.
Exemple
Reprenons la mme table PERSONNE que dans lexemple prcdent.
On suppose maintenant quon peut effectuer plusieurs versements une mme personne
le mme jour. Il est donc ncessaire dajouter la table VERSEMENT une nouvelle colonne,
quon appellera DateVerse.
Voici les deux tables PERSONNE et VERSEMENT, affiches en mode Feuille de donnes :
NumPers
Nom
1 Martin
2 Rivire
3 Texier

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

COURS BARDON - ACCESS 2007 / CHAPITRE 9

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

3. REQUETE TROUVER LES DOUBLONS AVEC UN ASSISTANT


Une telle requte permet de reprer des ensembles de valeurs de champ(s) qui sont
identiques, et dafficher des champs supplmentaires si souhait.
La localisation des doublons peut soprer sur plusieurs champs (exemple : dans une
table PERSONNE, on peut rechercher les enregistrements de personnes ayant mme nom et
mme prnom, voire aussi le mme ge).
Exemple
Affichons les noms des muses de la table MUSEE, qui sont situs dans une mme ville.
Slectionnez la table MUSEE, puis le champ Ville. On recherchera les doublons sur ce
seul champ. En champ supplmentaire, slectionnez le champ NomMusee.
Affichez les rsultats.
Le champ Ville comporte un seul doublon : il comprend deux fois la valeur Paris.
On obtient le rsultat :
Ville
Paris
Paris

NomMusee
Orsay
Louvre

75

COURS BARDON - ACCESS 2007 / CHAPITRE 9

4. REQUETE DE NON CORRESPONDANCE AVEC UN ASSISTANT


Une telle requte permet de reprer les enregistrements dune table, auxquels une autre
table ne fait pas rfrence.
Exemple
Ralisons la requte affichant les peintres cits dans la table PEINTRE, mais qui nont
aucun tableau apparaissant dans la table TABLEAU.
Slectionnez la table PEINTRE, puis la table TABLEAU.
Slectionnez le champ NoPeintre gauche ainsi qu droite, afin que les valeurs de ce
champ puissent tre compares dans les deux tables.
Slectionnez les champs afficher NoPeintre, NomPeintre et PrenomPeintre. Si aucun
champ nest ici slectionn, tous les champs de la table PEINTRE seront affichs.
On obtient le rsultat :
NoPeintre

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

CHAPITRE 10 - REQUETE DE SELECTION


EN MODE CREATION
Beaucoup plus puissante que la prcdente, il sagit de la mthode la plus utilise pour
crer ou modifier une requte.
Bien quon ne dispose pas avec cette mthode dAssistant pour nous guider,
llaboration dune requte est simple.
Elle consiste principalement :
- A afficher les tables (ou les tables rsultats de requtes prcdentes) utilises
dans la requte.
- A renseigner la grille de cration , notamment en prcisant les critres de
slection souhaits.

INDICATIONS PRELIMINAIRES

Fermer les tables

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.

Passage du mode Cration au mode Feuille de donnes, et inversement

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.

Excution dune requte affiche en mode Cration


Le rsultat dune requte saffiche toujours en mode Feuille de donnes.

77

COURS BARDON - ACCESS 2007 / CHAPITRE 10

La requte ayant t labore en mode Cration, il y a plusieurs mthodes pour


lexcuter et afficher son rsultat :
- A longlet Crer des Outils de requte , cliquez sur lun des deux boutons du
groupe Rsultats :
o
Soit sur le bouton Excuter, dont licne est un point dexclamation
rouge
o
Soit sur le bouton Affichage, dont licne symbolise une feuille de
donnes
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.

Ou bien vous pouvez passer en mode Feuille de donnes :


o
Faites un clic droit sur longlet de la requte > Mode Feuille de donnes.
o
Ou bien cliquez sur le premier bouton de la barre dtat (en bas de lcran),
dont licne reprsente une feuille de donnes.

Affichage limit de lignes dans la table rsultat

Sans modifier le rsultat de la requte, on peut nafficher que le nombre ou le


pourcentage denregistrements souhait.
La requte tant affiche en mode Cration, pour dfinir le nombre ou le pourcentage
denregistrements afficher : longlet Crer des Outils de requte , dans le groupe
Paramtrage de requte , cliquez sur le bouton Renvoyer . Par dfaut, Tout est
renvoy. Cliquez sur la valeur souhaite, ou bien saisissez un nombre ou un pourcentage
denregistrements afficher.

Enregistrer et fermer une requte

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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.

2. AFFICHAGE DES TABLES ET DES CHAMPS

Affichage des tables

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.

Champs utiliss dans la requte

Saisie des champs

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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.

Affichage des champs dans le rsultat de la requte

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

Gestion des colonnes de champs

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.

Pour changer lordre des colonnes :


- Slectionnez une colonne. Relchez le bouton de la souris ;
- Dplacez la colonne par cliqu-gliss sur son bord suprieur (le pointeur prend la
forme dune flche blanche ).

Pour insrer une colonne :


- Cliquez dans la colonne situe droite de celle qui sera cre (inutile de la
slectionner).
- A longlet Crer des Outils de requte , dans le groupe Paramtrage de la
requte , activez le bouton Insrer des colonnes .

80

COURS BARDON - ACCESS 2007 / CHAPITRE 10

Pour supprimer des colonnes :


Slectionnez-les, puis appuyez sur la touche Suppr.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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

On tape un nombre sans symbole (exemples : sans , ni %).


On tape une date sous la forme jj/mm/aaaa (exemple : 12/09/1991).
On crit un critre sur un champ de type Oui/Non en utilisant lune des valeurs : Oui,
Non, Vrai, Faux, Actif ou Inactif.
Aprs validation de la saisie :
- Un texte est automatiquement entour de guillemets : texte
- Une date est automatiquement entoure de dises # : #12/09/1991#

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.

Un critre ET un autre critre

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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.

Un critre OU un autre critre

Les enregistrements sajoutent : on slectionne les enregistrements qui ont ce critre


OU cet autre critre Ou ce 3me critre, etc. Aprs slection des enregistrements sur la base
dun premier critre, plus on ajoute de critres, plus on est mme dlargir la slection.
Exemple : dans la table PEINTRE, le rsultat dune requte peut afficher les peintres
italiens OU franais OU ns aprs 1850. Trois critres sont ici appliqus. Peu importe leur
ordre. Le premier dfinit la slection, les autres largissent la slection.
On saisit les critres sur des lignes diffrentes de la zone de dfinition des critres, si
ncessaire en utilisant plusieurs colonnes du mme champ. Si ce champ doit tre affich dans
le rsultat, ne laffichez quune fois (une seule case coche).
Des critres concernant le mme champ peuvent galement tre taps dans la mme
cellule, espacs de loprateur OU.
On peut ajouter des critres volont. A chaque nouveau critre ajout, on Ouvre la
slection, on ouvre laccs dautres enregistrements.
Exemple
Ralisons la requte naffichant en rsultat que les noms des peintres de nationalit
nerlandaise, belge ou grecque. Il est sous-entendu : nerlandaise OU belge OU grecque.
Slectionnez les champs NomPeintre et Nationalite. Laissez leur case Afficher coche.
Sur une ligne de saisie de critres, dans le champ Nationalite, tapez : nerlandais ou
belge ou grec.
Excutez la requte.

83

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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.

Combinaison des critres ET et OU


On peut combiner volont des critres ET et des critres OU.
Exemple
Ralisons la requte affichant les noms, nationalits et anne de naissance des peintres :
- Italiens, ns avant 1500
- Belges ou grecs, ns avant 1600.
La grille de cration sera ainsi renseigne :

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

A longlet Crer des Outils de requte , dans le groupe Paramtrage de


requte , activez le bouton Gnrateur.

On labore lexpression du critre dans la zone situe en haut de la fentre.


Sous cette zone, sont disponibles des boutons frquemment utiliss, parmi lesquels ceux
des oprateurs Et et Ou.
On choisit (cliquez ou double-cliquez) dabord un lment dans la zone de gauche, puis
une catgorie dans la zone du milieu, enfin, dans la zone de droite, llment insrer dans le
critre.
Colonne de gauche, les lments marqus du signe + peuvent tre ouverts en doublecliquant dessus (ils affichent alors le signe -). Ils sont referms en double-cliquant dessus.
Le premier bouton Annuler ferme la fentre du Gnrateur sans quil y ait validation.
Le second bouton Annuler permet deffacer toute la saisie dans la zone ddition.
Aprs validation de lexpression gnre, celle-ci apparat dans la cellule de la grille, o
on a pralablement plac le curseur.

Oprateurs Entre, Comme et Pas

Les oprateurs Entre, Comme et Pas sont souvent utiliss.


Exemples
Vous pouvez utiliser le Gnrateur, ou crire directement lexpression sur une ligne de
saisie de critres, dans la colonne du champ concern.
Oprateur Entre
Les deux bornes sont incluses.
Ralisons une requte slectionnant les peintres dcds entre 1800 et 1900, en utilisant
le Gnrateur dexpression.
Cliquez sur une cellule situe sur une ligne de critres et dans la colonne du champ
AnneeDeces. Affichez le Gnrateur.
Dans la colonne de gauche, cliquez sur le dossier Oprateurs, puis dans la colonne de
droite, cliquez sur loprateur Entre.
Dans la zone de saisie de lexpression, remplacez les deux Expr par 1800 et 1900.
Validez. Excutez la requte.
(Il est plus simple dans cet exemple dcrire directement dans la cellule : entre 1800 et
1900)

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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.

5. CALCULS EFFECTUES SUR LES DONNEES


Une requte peut renvoyer des calculs effectus sur les donnes. Exemples : somme,
moyenne, minimum, maximum, compte (cest--dire le nombre de valeurs).
Dans ce cas, le rsultat de la requte naffichera quun seul enregistrement, comprenant
les rsultats des calculs effectus.
On peut indiquer les oprations effectuer dans une nouvelle ligne Opration de la
grille de cration.
Pour afficher la ligne Opration :
- Faites un clic droit dans une quelconque colonne de champ > Totaux.
- Ou bien : longlet Crer des Outils de requte , dans le groupe
Afficher/Masquer, activez le bouton Totaux.
(Pour masquer la ligne Opration , cliquez nouveau sur le bouton Totaux)
Exemple
Sur la table MUSEE, ralisons les requtes renvoyant :
1) La moyenne du nombre de visiteurs des muses de Paris
2) Le nombre de muses de Paris.
1)

Slectionnez le champ Ville. Sur une ligne de critres, tapez =Paris.


Slectionnez le champ NbVisiteurs.
Affichez la ligne Opration : clic droit dans le champ > Totaux.
Slectionnez Moyenne. Excutez la requte. Puis repassez en mode Cration
(activez le bouton
du groupe Affichages).

2) Dans une deuxime colonne de champ NbVisiteurs, la ligne Opration ,


slectionnez Compte.
On obtient le rsultat :
Ville
Paris

MoyenneDeNbVisiteurs
6

CompteDeNbVisiteurs
2

Il ny a quun seul enregistrement.


On peut donner aux champs une autre lgende (voir paragraphe 6 juste aprs).

6. LES PROPRIETES DES CHAMPS DANS LA TABLE RESULTAT


On peut dfinir ou modifier certaines proprits dun champ affich dans le rsultat
dune requte. Les proprits proposes dpendent du type de champ.

86

COURS BARDON - ACCESS 2007 / CHAPITRE 10

Les nouvelles proprits ne sappliquent que dans le rsultat de la requte. Les


modifications apportes naffectent pas les proprits du champ dfinies dans la structure de
la table.
Exemples
On peut par exemple :
- Ajouter une description un champ. Elle apparaitra dans la barre dtat quand
on affichera le rsultat de la requte.
- Attribuer une lgende un champ. Cest particulirement utile quand des calculs
ont t effectus sur des donnes, et quAccess a attribu automatiquement un
nom au champ ainsi cr. Voir lexemple ci-dessous.
- Dfinir un masque de saisie : un formulaire sappuyant sur une requte, utilisera
par dfaut le masque de saisie dfini dans celle-ci. Si plusieurs formulaires
utilisent la requte, il est plus rapide de dfinir le masque de saisie lors de la
cration de la requte, plutt que de le dfinir dans chaque formulaire.
Les proprits des champs ont t dtailles au chapitre 5 2 PROPRIETES.
La dfinition ou la modification dune proprit dun champ utilis dans la requte,
seffectue dans la fentre Proprits relative au champ.
Procdez ainsi :
- Ouvrez la requte qui affiche ce champ, en mode Cration.
- Cliquez dans la colonne du champ.
- Affichez la fentre Proprits : longlet Crer, dans le groupe
Afficher/Masquer, activez le bouton Feuille de proprits . Ou bien : faites un
clic droit dans la colonne du champ > Proprits.
Exemple
Dans lexemple prcdent, dfinissons une lgende aux champs nomms
MoyenneDeNbVisiteurs et CompteDeNbVisiteurs.
La requte tant affiche en mode Cration, cliquez dans la premire colonne du champ
NbVisiteurs, contenant lopration Moyenne. Affichez la fentre Proprits : clic droit >
Proprits.
Dans cette fentre, la zone de saisie Lgende , tapez : Moyenne de visiteurs par an.
En procdant de mme, on peut lgender lautre champ : Nombre de visiteurs.

7. CREATION DUNE JOINTURE ENTRE DEUX TABLES


Une requte permet de slectionner des enregistrements composites , composs de
donnes issues de plusieurs tables.
Exemple
On souhaite crer une requte pour afficher les tableaux peints par Gricault (ceux qui
sont prsents dans la table TABLEAU).
La requte affichera le nom du peintre, son prnom, ainsi que les noms des tableaux et
leur date de ralisation.
Access ne peut connatre les noms des tableaux raliss par Gricault que par
lintermdiaire de la valeur de NoPeintre, nom des champs correspondants des deux tables
PEINTRE et TABLEAU.

87

COURS BARDON - ACCESS 2007 / CHAPITRE 10

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

Cration automatique de jointures

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

Pour afficher la fentre Proprits de la jointure , double-cliquez sur une ligne de


jointure. Sont proposs trois types de jointure. On utilise essentiellement le premier type.
Quand on parle de jointure , on sous-entend une jointure interne.

Jointure interne

La fentre Proprits de la jointure explique la jointure interne :


1 : Inclure seulement les lignes des deux tables pour lesquelles les champs joints
sont gaux .
Il sagit du type le plus commun. Les enregistrements comportant des donnes de deux
tables, on ne garde que ceux dont les champs correspondants ont des valeurs identiques.
Cest ce type de jointure qui est appliqu dans les deux requtes prcdentes. Prenons un
autre exemple.
Exemple
Crons la requte slectionnant les peintres ayant ralis un tableau aprs 1875. Le
rsultat affichera les noms des peintres, ainsi que les noms et les dates des tableaux.
Affichez la table PEINTRE gauche et la table TABLEAU droite.
Double-cliquez sur la ligne de relation qui les rattache. La fentre Proprits de la
jointure montre que les deux tables sont jointes, par lintermdiaire des champs
correspondants NoPeintre.
Laissez coche loption 1 de jointure, qui est loption de jointure interne. Validez.
Slectionnez les champs NoPeintre, NomPeintre, NomTab et DateTab.
Dans la ligne Afficher , dcochez la case de la colonne du champ NoPeintre (on ne
souhaite pas afficher les numros des peintres).
Sur une ligne de dfinition de critres du champ DateTab, tapez >1875. Excutez la
requte. On obtient le rsultat :

NomPeintre

NomTab

DateTab

Renoir

Chemin montant ()

1877

Van Gogh

La Chambre de Van Gogh ()

1889

Van Gogh

L'Eglise d'Auvers-sur-Oise

1890

Picasso

Guernica

1937

En code SQL, la requte scrit :


select PEINTRE.NomPeintre, TABLEAU.NomTab, TABLEAU.DateTab
from PEINTRE inner join TABLEAU on PEINTRE.NoPeintre=TABLEAU.NoPeintre;
inner join dsigne la jointure interne.

Jointure externe gauche et Jointure externe droite

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

COURS BARDON - ACCESS 2007 / CHAPITRE 10

La fentre Proprits de la jointure lexplique ainsi :


2 : Inclure tous les enregistrements de (la table gauche)
et seulement ceux de (la table droite) pour lesquels les champs joints sont gaux .
Exemple
Reprenons lexemple prcdent. Affichez la fentre Proprits en double-cliquant
sur la jointure des tables PEINTRE et TABLEAU.
Choisissez le type jointure externe gauche (option 2) entre les deux tables.
Excutez la requte.
Le rsultat affiche cette fois galement le peintre Klee, appartenant la table gauche de
la jointure, bien que la valeur de son champ NoPeintre (20) napparaisse pas dans la table
TABLEAU.
En code SQL, la requte scrit :
select PEINTRE.NomPeintre, TABLEAU.NomTab, TABLEAU.DateTab
from PEINTRE left join TABLEAU on PEINTRE.NoPeintre=TABLEAU.NoPeintre;
left join dsigne la jointure externe gauche.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

CHAPITRE 11 REQUETE DE SELECTION


EN MODE SQL
Quelle soit cre avec un Assistant ou en mode Cration, toute requte est gnre en
code SQL. Cest un langage de cration de requte qui est puissant, tout en tant simple.
On peut dire code , mode ou encore langage SQL.

Fentre de saisie dune requte en SQL

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

Taille des caractres et police du texte de la requte

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, espaces et paragraphes

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.

Excution dune requte, retour en mode SQL

Avant dexcuter une requte, fermez les tables quelle concerne. Pour fermer une
table : faites un clic droit sur son onglet > Fermer.

91

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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)

Sans modifier le rsultat de la requte, on peut nafficher que le nombre ou le


pourcentage denregistrements souhait.
La requte tant affiche en mode Cration, pour dfinir le nombre ou le pourcentage
denregistrements afficher : longlet Crer des Outils de requte , dans le groupe
Paramtrage de requte , cliquez sur le bouton Renvoyer . Par dfaut, Tout est
renvoy. Cliquez sur la valeur souhaite, ou bien saisissez un nombre ou un pourcentage
denregistrements afficher.

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.

TABLES UTILISEES DANS LES EXEMPLES


Dans les exemples de ce chapitre, nous utiliserons les tables PEINTRE, TABLEAU et
au chapitre 7, auxquelles nous allons ajouter les tables EXPERT et EXPERTISE.
Crez les tables. Attribuez une cl primaire aux champs identifiants.
Dans la table EXPERTISE, la cl primaire est constitue du groupe des trois champs
NoExpert, NoTableau et DateExp. En effet un expert peut valuer un tableau plusieurs dates
diffrentes. Le prix estim dpend donc de lexpert, du tableau et de la date dexpertise.
MUSEE dcrites

Crez les relations. Appliquez chacune lintgrit rfrentielle.


Sil est vivement recommand de crer les lignes de relations entre les tables, et de leur appliquer
lintgrit rfrentielle, les requtes cres en mode SQL ne sen servent pas. En revanche, sur toute requte
utilisant plusieurs tables, on doit dfinir les conditions de jointure entre les tables. Nous verrons cela au
paragraphe 4 de ce chapitre.

Puis saisissez les enregistrements.


Vous pourrez ainsi vrifier les rsultats des requtes proposes en exemples.
92

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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

1. CLAUSES SELECT ET FROM


Une requte comporte, au minimum, les deux clauses, select et from.
Exemple :
select NomExp, TelExp
from EXPERT ;
Remarque : nous crivons des majuscules, pour que la requte soit plus lisible, mais SQL ne
reconnaissant pas la casse (sauf celles des chanes saisies entre guillemets dans une clause select), on peut
nutiliser que des minuscules.

Saisissez, puis excutez cette requte. Retournez ensuite en mode SQL : clic droit sur
longlet de la requte > Mode SQL.

93

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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.

Fonctionnement dune requte avec les seules clauses select et from

Expliquons le fonctionnement de lexcution dune requte de la forme select from


partir de lexemple donn : select NomExp, TelExp from EXPERT ;
Bien que la requte commence par la clause select, cest dabord la clause from qui est
traite.
1) from EXPERT : la table EXPERT est prise en compte dans son entier, avec tous ses
champs et tous ses enregistrements.
A noter quon peut raliser une requte partir de tables ou de rsultats de requtes.

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

Nom comportant un espace ou un caractre spcial - Nom mal orthographi

Si le nom dune table ou dun champ comporte un espace ou un caractre spcial, on


doit lencadrer de crochets. Exemples : [nom de la table] ou [nom-champ].
Si le nom dun champ nest pas encadr de crochets, alors quil devrait ltre, ou bien
sil est mal orthographi (ou les deux), SQL ne le reconnat pas, et le considre comme un
paramtre. Une fentre saffiche, sollicitant la saisie dune valeur de paramtre. Annulez.
Placez des crochets, ou corrigez lorthographe du nom.

Attribution dune lgende un champ

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Ordre daffichage des champs


Dans le rsultat, les champs sont affichs dans lordre indiqu dans la requte.
Testez la nouvelle requte dans laquelle on a invers lordre des champs :
select TelExp, NomExp from EXPERT ;
Dans la table rsultat, les colonnes des champs TelExp et NomExp sont inverses.

Slection de tous les champs dune table


Il existe deux mthodes pour afficher tous les champs dune table :
Soit en numrant tous les champs de la table. On peut alors choisir lordre
des champs qui seront affichs dans le rsultat.
Soit en utilisant lastrisque *. Exemple : select * from EXPERT ;
Dans ce cas, les champs seront affichs dans lordre o ils se prsentent
dans la table en mode Cration.

Enregistrements distincts Oprateur distinct

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

Considrons la table NATURE :


Nolment
1
2
3
4

Excutons la requte :

Elment
Mer
Arbre
Mer
Mer

Couleur
Bleu
Vert
Bleu
turquoise

Qualificatif
Calme
Majestueux
Agite
Limpide

select distinct Elment, Couleur


from NATURE ;

On obtient le rsultat :
Elment
Arbre
Mer
Mer

Couleur
Vert
Bleu
turquoise

Seul le premier des deux enregistrements nos 1 et 3 a t gard.


Loprateur distinct porte sur les champs affichs, qui sont ici Elment et Couleur.

95

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Dans le fonctionnement dune requte, loprateur distinct sapplique en fin dexcution


(juste avant le tri, sil y en a un).

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

Champs de type Numrique

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.

Champs de type Texte

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

Tout caractre peut tre utilis, y compris lespace.


Exemple
Sur la table TABLEAU, ralisons la requte faisant prcder chaque valeur du champ
Bois/Toile du mot Sur suivi dun espace. Seront affichs les champs NomTab et le champ
opr :
select NomTab, "Sur " & [Bois/Toile] as [sur bois ou sur toile] from TABLEAU ;
Lancez lexcution de la requte. Testez-la avec et sans lespace aprs le mot Sur, avec
et sans les guillemets.

96

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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

Ralisons la requte qui affichera le nombre de tableaux de la table TABLEAU.


select count(NomTab) as [Nombre de tableaux] from TABLEAU ;
Excutez cette requte, qui affiche un seul champ de fonction. Enregistrez-la sous le
nom Nombretableaux ( clic droit sur longlet de la requte > Enregistrer, puis tapez le nom).
Elle nous servira plus loin.
Son rsultat est :

Nombre de tableaux
26

Pour compter le nombre denregistrements dune table, on peut utiliser lexpression


count(*). Dans lexemple prcdent, remplacez count(NomTab) par count(*), puis excutez
la requte. On obtient le mme rsultat.
97

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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.

Le rsultat de la requte est :


Maximum visiteurs dun muse

Moyenne visiteurs
9

Total visiteurs
5

32

Ralisons une requte utilisant les deux requtes prcdentes Nombretableaux et


Statvisiteurs :
select [nombre de tableaux], [moyenne visiteurs], [total visiteurs]
from Nombretableaux, Statvisiteurs ;
(On a repris les lgendes prcdemment attribues aux champs de fonction des requtes)
On obtient le rsultat :

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.

Requtes sur une seule table, avec clause where - Exemples


On peut slectionner des enregistrements dont les valeurs sont issues dune seule table.

98

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Voici quelques exemples :

Noms et prnoms des peintres ns aprs 1800

select NomPeintre, PrenomPeintre, AnneeNaissance


from PEINTRE
where AnneeNaissance > 1800 ;
Fonctionnement de la requte : les peintres (from) dont les annes de naissance sont
postrieures 1800 (where) sont slectionns. Puis les champs NomPeintre, PrenomPeintre et
AnneeNaissance (select) sont slectionns.
Si on souhaite mettre les noms et prnoms dans une seule colonne, on cre un champ
opr : select NomPeintre & " " & PrenomPeintre as Nom, AnneeNaissance from (idem)

Noms des peintres de nationalit belge ou grecque

select NomPeintre, Nationalite


from PEINTRE
where Nationalite = "belge" or Nationalite = "grec" ;
Nationalite est de type Texte, donc lexpression aprs loprateur = doit tre entoure
de guillemets. Les guillemets indiquent SQL quil sagit dune chane de caractres.

Date de ralisation et numro du tableau nomm Le Printemps


select NoTableau, NomTab, DateTab
from TABLEAU
where NomTab = "Le Printemps" ;

Requtes sur plusieurs tables Conditions de jointure indispensables

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.

Conditions de jointure entre les tables

Concernant une requte, on ne parle pas de relation entre tables, mais de


jointure . Comme une relation, une jointure relie deux champs correspondants.
Quand on slectionne des enregistrements dont les donnes proviennent de champs de
tables diffrentes, on ajoute des conditions de jointure entre les tables, afin de filtrer les
enregistrements et ne garder que ceux dont les champs correspondants ont les mmes valeurs.
En tant que condition dacceptation dun enregistrement, une jointure entre deux tables
est place dans la clause where.
Elle consiste galiser les champs correspondants (gnralement cl primaire et cl
trangre) : Table.Champ = AutreTable.ChampCorrespondant.

99

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Exemple dune requte faisant appel deux tables

select NomTab, NomPeintre


from TABLEAU, PEINTRE ;
Excutez cette requte, ne comportant pas de condition de jointure entre les tables.
Le rsultat affiche chaque tableau avec tous les peintres, ligne aprs ligne. Il comprend
par exemple lenregistrement : La Joconde Picasso.
Ajouter une condition de jointure permet dliminer les enregistrements aberrants.
Dans lexemple, elle permet de ne garder que les enregistrements comportant un nom de
tableau et le nom du peintre qui la ralis.
Ralisez la nouvelle requte, comportant la condition de jointure entre les tables :
select NomTab, NomPeintre
from TABLEAU, PEINTRE
where TABLEAU.NoPeintre = PEINTRE.NoPeintre ;

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.

Nom dun champ prsent dans plusieurs tables

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.

Alias attribus aux tables (facultatif, mais trs pratique)

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Exemples de requtes portant sur plusieurs tables

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

Nombre de tableaux sur bois, qui sont exposs au Louvre


select count([Bois/Toile]) as [Nombre de tableaux sur bois au Louvre]
from TABLEAU T, MUSEE M
where T.NoMusee = M.NoMusee
and [Bois/Toile] = "bois"
and NomMusee = "Louvre" ;

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.

Nom de lexpert, prix et date destimation du tableau Le Verrou


select NomExp, PrixEstime, DateExp
from EXPERT E, EXPERTISE EE, TABLEAU T
where E.NoExpert = EE.NoExpert
and EE.NoTableau = T.NoTableau
and NomTab = "Le Verrou" ;

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

Noms des peintres ayant ralis un tableau en 1505 ou en 1507


select NomPeintre, NomTab, DateTab
from PEINTRE P, TABLEAU T
where P.NoPeintre = T.NoPeintre
and ((DateTab = 1505) or (DateTab = 1507)) ;

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Oprateurs like, between and, in

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.

select NomExp from EXPERT where NomExp like "Fouche? Anne" ;


Between and (entre et)
Exemple
select NomPeintre from PEINTRE
where AnneeNaissance between 1390 and 1453 ;
Le rsultat montre que les bornes sont incluses.
Il est plus rapide dutiliser ainsi loprateur between, plutt que dcrire :
() where AnneeNaissance >= 1390 and AnneeNaissance <= 1453 ;

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.

Valeur Null (absence de valeur)

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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.

Exemples de requtes avec calculs sur des dates


select distinct date( ) + 2 from (table de votre choix) ; Cette requte affiche la date
daprs-demain.
select date( ) - DateExp as [Nombre de jours coules depuis lexpertise] from
expertise ;
Dans cette dernire requte, on a cr le champ opr date( ) DateExp, et on lui a donn une lgende.
Fonctions renvoyant le jour, le mois et lanne dune date
On dispose des fonctions suivantes (les exemples sont en format jj/mm/aaaa).
day(date) renvoie le jour de la date : day(#15/02/1954#) renvoie 15.
month(date) renvoie le mois de la date : month(#15/02/1954#) renvoie 2.
year(date) renvoie lanne de la date : year(#15/02/1954#) renvoie 1954.
Exemple - Nombre dexpertises en 1980 :
select count(*) as [Nombres dexpertises en 1980] from expertise
where year(DateExp) = 1980 ;

Format franais et format amricain

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Date entoure de signes dises

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.

Nombre dexpertises ralises le 1er aot 1980


select count(*)
from EXPERTISE
where DateExp=#08/01/1980# ;
La date est entoure de dises et le nombre nb1 (08) est infrieur 12, donc elle sera
crite au format amricain (mm/jj/aaaa), cest--dire : 08/01/1980. Le rsultat de la requte
est 2.

Date non entoure de signes dises

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.

Nombre dexpertises ralises le 1er aot 1980


select count(*)
from EXPERTISE
where ((day(DateExp) = 1) and (month(DateExp) = 8) and (year(DateExp) = 1980)) ;
Le rsultat de la requte est 2. Cette requte est plus longue taper que la requte
prcdente affichant le mme rsultat, en utilisant le format amricain de la date.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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.

Fonctionnement dune requte paramtre


Expliquons le fonctionnement dune requte paramtre partir dun exemple.

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

Excution de la requte paramtre :


1. La fentre Entrer la valeur du paramtre apparat, affichant le texte du
paramtre : Nom de la ville ?. Tapez le nom de la ville sans guillemets (par
exemple Paris). Validez.
2. SQL remplace le paramtre [Nom de la ville ?] par le nom de la ville (par
exemple Paris).
3. La requte affiche le rsultat.
Testez la requte en saisissant divers noms de villes.

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 ;

Requte contenant plusieurs paramtres


Une requte peut contenir plusieurs paramtres.
105

COURS BARDON - ACCESS 2007 / CHAPITRE 11

La fentre Entrer la valeur du paramtre saffiche autant de fois que la requte


contient de paramtres, afin que lutilisateur puisse entrer toutes les valeurs des paramtres,
lune aprs lautre.
Exemple
select NomTab, DateExp, PrixEstime
from TABLEAU T, EXPERTISE E
where T.Notableau = E.NoTableau
and NoExpert = [Numro de l'expert ?]
and T.NoTableau = [Numro du tableau ?]
and DateExp = [Date de l'expertise ?];
(Pour tester la requte, saisissez la date de lexpertise comme elle est affiche dans la
feuille de donnes)

7. TRI DES ENREGISTREMENTS


Dans lexcution dune requte, SQL effectue le tri juste avant laffichage du rsultat.
Un tri peut tre effectu selon les valeurs dun ou de plusieurs champs, en utilisant la
clause order by.
Par dfaut, le tri est croissant. Si on souhaite un tri par ordre dcroissant, il faut ajouter
le mot desc (abrviation de descendant) ct du champ en fonction des valeurs duquel
portera le tri.
Exemple
select NomPeintre, PrenomPeintre
from PEINTRE
order by NomPeintre ;
Remarque : aucun peintre ne portant le mme nom quun autre, il est inutile de faire un tri sur le prnom.

Le tri des noms de peintre est croissant. Si on le veut dcroissant, on ajoute desc aprs le
champ NomPeintre : order by NomPeintre desc ;

Utilisation du rang du champ dans la clause select

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.

Tris sur plusieurs champs

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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.

Tri sur des nombres de type Texte

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

Crons dabord la requte qui donne en rsultat la nationalit du peintre donn :


select Nationalite
from PEINTRE
where NomPeintre = [Nom du peintre ?] ;
La requte finale, qui contient cette requte, est :
select NomPeintre, PrenomPeintre
from PEINTRE
where Nationalite = ( select Nationalite
from PEINTRE
where NomPeintre = [Nom du peintre ?])
and NomPeintre <> [Nom du peintre ?] ;
(Le signe <> signifie diffrent, il ne doit pas y avoir despace entre < et >)

La dernire ligne de la requte permet dviter que le peintre dont le nom est saisi en
paramtre, fasse partie du rsultat.
107

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Noms des tableaux peints aprs le tableau La Joconde , tris par numros

La requte finale est :


select NoTableau, NomTab, Datetab
from TABLEAU
where DateTab > (select DateTab
from TABLEAU
where NomTab = "La Joconde")
order by 1 ;

Peintres qui ont ralis un tableau aprs La Joconde et avant La Bohmienne


select NomPeintre, NomTab, DateTab
from PEINTRE P, TABLEAU T
where P.NoPeintre = T.NoPeintre
and DateTab between
(select DateTab from tableau where NomTab = "La Joconde") + 1
and (select DateTab from tableau where NomTab = "La Bohmienne") - 1
order by 3 ;

Les expressions +1 et -1 permettent dexclure les tableaux La Joconde et La


Bohmienne .
On a tri les enregistrements par dates de tableaux.

Oprateurs all, any et exists


Ce sont des oprateurs qui peuvent savrer utiles.

Oprateur all

Loprateur all correspond tout.


Exemple : Dates des expertises ralises avant toutes celles de lexpert Pierre Boutin
select DateExp
from EXPERTISE EE, EXPERT E
where EE.NoExpert = E.NoExpert
and DateExp < all ( select DateExp
from EXPERTISE EE, EXPERT E
where EE.NoExpert = E.NoExpert
and NomExp = "Boutin Pierre") ;
(On nen obtient quune : 11/02/1960)

Remarque : < all (select) est quivalent < (select (min))


> all (select) est quivalent > (select (max))

108

COURS BARDON - ACCESS 2007 / CHAPITRE 11

Oprateur any

Loprateur any correspond au moins un.


Exemple : Noms des peintres dcds aprs lun des trois peintres : Turner, Monet et
Renoir
select NomPeintre
from PEINTRE
where AnneeDeces > any (select AnneeDeces
from PEINTRE
where NomPeintre in ("Turner", "Monet" ,"Renoir")) ;
(Monet et Renoir tant dcds aprs Turner, ils apparaissent dans le rsultat)

Remarque : < any (select) est quivalent < (select (max))


> any (select) est quivalent > (select (min))

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.

Groupes denregistrements clause group by

La clause group by permet dobtenir, les rsultats dune ou de plusieurs fonctions


provenant de calculs effectus sur des groupes denregistrements.
Exemple - Nombre de peintres par nationalit
select Nationalite, count(*) as [Nombre de peintres]
from PEINTRE
group by Nationalite
order by 1 ;
(On a ordonn les nationalits)

Fonctionnement dune requte avec regroupements denregistrements

1) Recherche ventuelle de paramtres : si la requte contient un ou plusieurs


paramtres, SQL demande les valeurs de ces paramtres, et remplace ceux-ci par les
valeurs donnes (cf. 6 Requte paramtre ).
2) Clause from : SQL prend toutes les combinaisons possibles denregistrements, avec
tous les champs, issues des tables indiques dans cette clause.
3) Clause where : il y a souvent slection des enregistrements, en fonction de critres
dfinis dans cette clause.
4) Clause group by : les enregistrements sont regroups en fonction de valeurs
identiques sur tous les champs indiqus dans cette clause.
4 bis) Clause having : il y a ventuellement slection des groupes en fonction de
critres dfinis dans cette clause (voir plus loin).
5) Clause select : elle ne peut contenir que des champs indiqus dans la clause
group by, ainsi que des fonctions qui permettent deffectuer des calculs sur les

109

COURS BARDON - ACCESS 2007 / CHAPITRE 11

regroupements. La clause select est applique successivement chaque groupe


denregistrements.
6) Loprateur facultatif distinct : en cas denregistrements identiques, SQL nen
conserve quun.
7) La clause facultative order by : les enregistrements peuvent tre tris (cf. 7).
8) Le rsultat est affich.
Comme lexcute SQL, il convient dlaborer la requte en suivant ces tapes.

Exemples

Par ville, nombre de muses et nombre de visiteurs annuels (table MUSEE)


select Ville, count(*) as [Nombre muses], sum(NbVisiteurs) as [Nombre visiteurs]
from MUSEE
group by Ville ;

Nombre dexpertises ralises par expert


select NomExp, count(DateExp) as [Nombre expertises]
from EXPERTISE EE, EXPERT E
where EE.NoExpert = E.NoExpert
group by NomExp
order by 1 ;

(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

select NomPeintre, count(NomTab) as [Nombre de tableaux]


from PEINTRE P, TABLEAU T
where P.NoPeintre = T.NoPeintre
and ((NomPeintre like "B*") or (NomPeintre like "V*"))
group by NomPeintre
order by 1 ;

Critres sur les groupes denregistrements clause having

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

COURS BARDON - ACCESS 2007 / CHAPITRE 11

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 <>)

Par ville, nombre de muses ayant plus de 3 millions de visiteurs et nombre de

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)

select NomPeintre, count(NomTab) as [Nombre tableaux]


from PEINTRE P, TABLEAU T
where P.NoPeintre = T.NoPeintre
group by NomPeintre
having count(NomTab) >= 2
order by 1 ;
(Au lieu dcrire >=2, on peut taper > 1)

111

COURS BARDON - ACCESS 2007 / CHAPITRE 12

CHAPITRE 12 REQUETES ACTION


On appelle requte action une requte servant :
- Soit crer, modifier ou supprimer une table,
- Soit ajouter, modifier ou supprimer des enregistrements.
On peut crer une requte action en mode Cration (cf. 1) ou en mode SQL (cf. 2).

1. REQUETES ACTION EN MODE CREATION


Il existe quatre types de requtes action.
Le premier type est Cration de table . Les trois autres types de requtes, Mise
jour , Ajout et Suppression , concernent les enregistrements.

Principe de cration dune requte action


- On affiche une requte slection en mode Cration.
- Puis on transforme cette requte slection en requte action : longlet Crer des
Outils de requte , on active lun des boutons du groupe Type de requte .
Transforme en requte action, le nom de la requte apparat dans le Volet de
navigation avec un point dexclamation noir et une icne indiquant son type.

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 .

Il se peut quune macro dAccess empche la cration dune requte action.


Si en dessous du ruban, apparat le message : Avertissement de scurit Du contenu de la base a t
dsactiv , suivi dun bouton Options :
Cliquez sur le bouton Options , cochez Activer ce contenu , validez. La requte slection, devenue
requte action, saffiche dans le Volet de navigation.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 12

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.

Modification des enregistrements dun champ : requte de type Mise jour

On a utilis prcdemment la fentre Rechercher et remplacer pour remplacer une chane de


caractres dans une feuille de donnes (cf. chapitre 4 1 Rechercher et remplacer une chane de caractres ).

Une requte de modification des enregistrements permet de remplacer la valeur dun


champ par une autre valeur. Les valeurs dun seul champ peuvent tre modifies.
Exemple
On utilisera la table PEINTRE dfinie au chapitre 7.
On souhaite remplacer dans les enregistrements de cette table la nationalit
nerlandais par la nationalit hollandais .
1) En mode Cration, ralisez la requte slection.
Affichez le champ Nationalite de la table PEINTRE. Enregistrez la requte.
2) Transformez la requte slection en requte action de type Mise jour :
longlet Crer des Outils de requte , dans le groupe Type de requte , activez
le bouton Mise jour .
Dans la grille de cration de la requte action, la ligne Afficher a t
remplace par la ligne Mise jour .
3) Indiquez les modifications effectuer :
A la ligne Critres du champ Nationalite, saisissez la valeur modifier :
nerlandais.
A la ligne Mise jour du mme champ, saisissez la nouvelle valeur :
hollandais.
113

COURS BARDON - ACCESS 2007 / CHAPITRE 12

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

Une requte ajout denregistrements permet dajouter des enregistrements en


provenance dune autre table, en fonction de critres dfinis.
Exemple
On utilisera la table TABLEAU dfinie au chapitre 7.
On souhaite lui ajouter les tableaux nos 7, 8 et 9 provenant de la table AUTRETAB.
Pour tester lexemple, nous vous invitons crer une nouvelle table, nomme
AUTRETAB, contenant uniquement les trois enregistrements. Enregistrez, puis fermez la table.
NoTableau
()
7
8
9
()

NomTab
()
Le Tmraire
La Pie
Les Baigneuses
()

Bois/Toile
()
toile
toile
toile
()

DateTab
NoPeintre
()
()
1838
15
1869
16
1918
17
()
()

NoMusee
()
15
13
13
()

1) Crez une requte de slection.


Slectionnez en premire colonne tous les champs de la table AUTRETAB en cliquant
sur AUTRETAB.*.
Colonne suivante, affichez le champ NoTableau. Sur sa ligne Critres , tapez : 7
ou 8 ou 9 (il y a trop peu denregistrements pour utiliser les oprateurs < ou >,
mme si cest possible). Dcochez sa case Afficher , la case de la prcdente
colonne affichant tous les champs (donc NoTableau), tant coche.
Enregistrez la requte.
2) Transformez la requte en requte action de type Ajout .
- Affichez la fentre Ajout : longlet Crer des Outils de requte ,
dans le groupe Type de requte , activez le bouton Ajout .

114

COURS BARDON - ACCESS 2007 / CHAPITRE 12

Renseignez la zone de saisie : Ajouter : ouvrez le menu droulant


et slectionnez la table TABLEAU. Validez.

3) Dans la grille de cration de la requte action, la ligne Afficher est remplace


par la ligne Ajouter .
Except en 1re colonne o sont prciss tous les champs (TABLEAU.*), ne
laissez aucun nom de champ sur cette ligne. Il ferait double emploi, et lajout ne
pourrait pas se faire, le message derreur Destination de sortie (nom du champ)
rplique saffichant alors.
Sur cette ligne, supprimez donc le champ NoTableau (dj prsent en 1re
colonne).
4) Affichage et excution :
- Si vous le souhaitez, affichez dabord la requte. Elle affichera la table des
enregistrements qui seront ajouts (dans lexemple : les enregistrements
des tableaux nos 7, 8 et 9). Repassez en mode Cration.
- Excutez la requte.
Dans le Volet de navigation, le nom de la requte action apparat avec un point
dexclamation et licne du signe + (symbolisant un ajout).

Suppression denregistrements

Une requte de suppression denregistrements permet de supprimer des enregistrements


en fonction de critres dfinis.
Exemple :
On utilisera la table TABLEAU dfinie au chapitre 7.
Au pralable, vous pouvez copier la table pour sauvegarder la table originale.
On souhaite supprimer de la table TABLEAU tous les tableaux sur bois,

ainsi que tous les

tableaux raliss entre 1700 et 1800.


1) Crez la requte slection qui slectionne les enregistrements effacer :
Affichez le champ Bois/Toile. A la ligne Critres de ce champ, tapez bois.
Affichez le champ DateTab. Sur la ligne suivante de la zone de critres,
tapez : entre 1700 et 1800 (les tableaux supprims sont sur bois Ou raliss entre
1700 et 1800).
2) Transformez cette requte en requte action de type Suppression : longlet
Crer des Outils de requte , dans le groupe Type de requte , activez le
bouton Suppression .
Dans la grille de cration, la ligne Afficher est remplace par la ligne
Supprimer . Dans le cas prsent, laissez le O .
3) Il est prudent dans ce type de requte dactiver le bouton Affichage , avant
dexcuter la requte. Lannulation des enregistrements est en effet dfinitive. Sont
affichs les enregistrements qui seront supprims lexcution de la requte action.
Excutez la requte.
Dans le Volet de navigation, le nom de la requte action apparat, avec un point
dexclamation et licne dune croix rouge (symbolisant une suppression).

115

COURS BARDON - ACCESS 2007 / CHAPITRE 12

On peut utiliser nouveau la requte action pour supprimer dautres enregistrements, en


appliquant de nouveau critres.

2. REQUETES ACTION EN MODE SQL


Les requtes action en mode SQL sont beaucoup moins utilises que les requtes de
slection. Leur syntaxe est aise. Nous en donnons ci-aprs un aperu.

Crer, modifier ou supprimer une table

Crer une table

En mode SQL, il est possible de crer une table, en constituant sa structure : noms et
types des champs, attribution ventuelle dune cl primaire.

La syntaxe dune requte de cration dune table est :


create table (nom de la table)
(champ1 type1, champ2 type2, ) ;

Les types de donnes principaux sont :


- counter : Numro automatique
- char (longueur) : Texte (nombre de caractres maximum).
Si on ne prcise pas de longueur, elle est maximale ( lorigine, par dfaut,
une valeur de type Texte comporte au maximum 255 caractres).
- integer : Entier
- float : Rel
- date : Date/Heure

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.

Modifier une table

Modifier une table consiste modifier sa structure, cest--dire modifier, ajouter ou


supprimer des champs.
Fermez la table (clic droit sur son onglet > Fermer), avant deffectuer toute modification
de ses champs.

116

COURS BARDON - ACCESS 2007 / CHAPITRE 12

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

On ne peut supprimer quun seul champ la fois.


La syntaxe de la requte de suppression dun champ est :
alter table (nom de la table)
drop column champ ;
(drop signifie laisser tomber)

Exemple
Supprimez le champ Poids de la table PERSONNE :
117

COURS BARDON - ACCESS 2007 / CHAPITRE 12

alter table PERSONNE


drop column Poids ;
Ouvrez la table PERSONNE en mode Cration, et vrifiez que le champ Poids a bien t
supprim.

Suppression dune table

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.

Ajouter, modifier ou supprimer des enregistrements

Ajout dun enregistrement

La syntaxe dajout dun enregistrement est :


insert into (nom de la table) (champ1, champ2, )
values (valeur1, valeur2, ) ;
Les valeurs doivent tre saisies dans lordre des champs et correspondre chacune au
type de donnes du champ.
Les valeurs de type Texte sont saisies entre guillemets.
Les valeurs de type Date/Heure sont saisies entre signes dises # : #nb1/nb2/aaaa#
Si le nombre nb1 est infrieur ou gal 12, la date sera saisie au format amricain :
mm/jj/aaaa (cf. chapitre 11 5, Dates et heures, format franais et format amricain ).
Une absence de valeur dans un champ est indique par la valeur Null.
On nindique pas un champ de type Numro automatique, Access saisissant
automatiquement une valeur dans ce champ.
Exemple
Crez une nouvelle table PERSONNE :
create table PERSONNE
(NoPersonne counter primary key, Nom char (20), [Date Naissance] date, Poids float,
Tel char (10)) ;
Ajoutez-lui lenregistrement suivant :
insert into PERSONNE (Nom, [Date Naissance], Poids, Tel)
values ("Eric", #05/12/1985#, 72.5, 0202020202) ;
Eric est n le 12 mai 1985. La date est entoure de dises et le jour est infrieur 12,
donc la date doit tre saisie au format amricain (mm/jj/aaaa).
Le sparateur de dcimales est le point (72.5), la virgule servant de sparateur de
champs.
Ajoutez un second enregistrement la table PERSONNE :
insert into PERSONNE (Nom, [Date Naissance], Poids, Tel)

118

COURS BARDON - ACCESS 2007 / CHAPITRE 12

values ("Fred", #21/09/1986#, Null, 0808080808) ;


Fred est n le 21 septembre 1986. Le jour est suprieur 12, donc la date doit tre saisie
au format franais (jj/mm/aaaa). Son poids est ignor, donc la valeur du champ est Null.

Ajout de plusieurs enregistrements

Pour ajouter plusieurs enregistrements une table, on utilise une sous-requte.


La syntaxe dune requte dajout denregistrements est :
insert into (nom de la table) (champ1, champ2, )
(sous-requte) ;
Les mmes champs doivent figurer la ligne insert into de la requte et la clause
select de la sous-requte.
Remarque : la requte action contient une requte slection.

Exemple : Ajout denregistrements la table PERSONNE


Au pralable, crons une table avec des enregistrements. Avec une requte de slection
en sous-requte de la requte action, on puisera dans cette table pour ajouter des
enregistrements la table PERSONNE.

Cration dune table nomme CONTACT et saisie denregistrements dans cette table :

Cration de la table CONTACT :


create table CONTACT
(NoPersonne counter, Nom char (20), [date naissance] date, Tel char (10)) ;
Ajout de trois enregistrements la table CONTACT :
insert into CONTACT (Nom, [date naissance], Tel)
values ("Tina", #03/04/1990#, 0102030405) ;

(Tina est ne le 4 mars 1990)


insert into CONTACT

(Nom, [date naissance], Tel)


values ("Karine", #21/04/1980#, Null) ;

(Karine est ne le 21 avril 1980)


insert into CONTACT (Nom,

[date naissance], Tel)


values ("Fanny", #15/02/1970#, 1011121314) ;

Ajout denregistrements la table PERSONNE en utilisant la table CONTACT :


Ajoutons dans la table PERSONNE les enregistrements de la table CONTACT dont un
numro de tlphone est prcis.
insert into PERSONNE (Nom, [date naissance], Tel)
select Nom, [date naissance], Tel from CONTACT where Tel <> Null ;

Modifier des enregistrements

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

COURS BARDON - ACCESS 2007 / CHAPITRE 12

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

La syntaxe dune requte de suppression denregistrements est :


delete
from (nom de la table)
where ;
(delete signifie effacer)

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

COURS BARDON - ACCESS 2007 / CHAPITRE 13

CHAPITRE 13 LES FORMULAIRES


Le formulaire est la principale vitrine de la base de donnes, do limportance de sa
prsentation.
Si un formulaire affiche des donnes, gnralement en prsentant un seul enregistrement
la fois, son utilit principale est la saisie des donnes.
Les principaux modes daffichage dun formulaire sont :
- Le mode Cration : ce mode sert crer un formulaire ou modifier sa structure.
- Le mode Formulaire : ce mode permet de visualiser et de saisir des enregistrements.
- Le mode Page : cest un mode intermdiaire entre les deux prcdents, permettant
des modifications du formulaire et la consultation de ses donnes.
Dans ce mode daffichage, on peut effectuer certaines modifications de structure,
sans risque de modification des donnes.
Pour enregistrer, fermer ou passer un autre mode daffichage, faites un clic droit sur
longlet du formulaire, et activez la commande souhaite.
Pour passer un autre mode daffichage, on peut aussi : utiliser le bouton Affichage
(onglet Accueil) ou lun des boutons de la barre dtat (en bas, droite).
Quand on double-clique sur le nom dun formulaire du Volet de navigation, il souvre
en mode Formulaire.
Nous utiliserons dans les exemples les tables dfinies au chapitre 7.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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.

Cration rapide dun formulaire


En deux clics, le formulaire est gnr ! Il est affich en mode Page. Procdez ainsi :
- Dans le Volet de navigation, cliquez sur une table ou sur une requte.
- A longlet Crer, groupe Formulaires, cliquez sur lun des boutons suivants, en
fonction de la prsentation du formulaire que vous souhaitez crer :

122

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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.

Formulaire double affichage


Comme son nom lindique, le formulaire prsente un double affichage :
- La partie suprieure affiche un enregistrement. On peut modifier les valeurs de
lenregistrement ou bien saisir les valeurs dun nouvel enregistrement.
- La partie infrieure prsente tous les enregistrements sous la forme dune Feuille de
donnes.
Quand on clique sur un enregistrement situ dans la partie infrieure, il saffiche dans la
partie suprieure.

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.

Cration dun formulaire avec l Assistant Formulaire

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.

2me tape : Formulaires et sous formulaires


Si les champs proviennent dune seule table, on passe directement la 3me tape.

123

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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.

4me tape : Style du formulaire


De nombreux styles sont proposs. Testez-en plusieurs. Par dfaut, le style Office est
appliqu. Exemple : choisissez le style Rotonde.

5me tape : Titre(s) Ouverture ou modification


Donnez un titre au formulaire, ventuellement au sous-formulaire. Par dfaut, le nom de
la table ou de la requte do sont issus les champs, leur est attribu.
Pour terminer, on choisit soit douvrir le formulaire en affichage mode Formulaire
(option par dfaut), soit de louvrir en mode Cration.
Exemple : ouvrez le formulaire en mode Formulaire.

Raliser un formulaire en mode Cration

Au lieu de crer un formulaire en utilisant lune des mthodes prcdentes, et de le


modifier ventuellement ensuite en mode Cration, on peut directement le crer en mode
Cration.
Cest la mthode par excellence de cration dun formulaire. Sil y en a une garder,
cest celle-l !
Ralisons un formulaire lmentaire en mode Cration.
Affichage du formulaire vide
A longlet Crer, dans le groupe Formulaires, activez le bouton Cration du
formulaire .
Un formulaire vide saffiche, sur sa section principale nomme Dtail (nous verrons
plus loin quun formulaire a cinq sections). La grille aide positionner les contrles.

Indication de la table ou de la requte pourvoyeuse de champs


Lindication de la source de donnes du formulaire seffectue dans sa Feuille de
proprits. Pour afficher celle-ci : longlet Cration, dans le groupe Outils, cliquez sur le
bouton Feuille des proprits . Elle comprend cinq onglets. Activez longlet Donnes.
Ouvrez le menu droulant de la proprit Source, et slectionnez la source de donnes
souhaite.
Exemple : slectionnez la table PEINTRE.

124

COURS BARDON - ACCESS 2007 / CHAPITRE 13

Insertion des champs


Affichez la liste des champs correspondant la source de donnes indique
prcdemment : longlet Cration, dans le groupe Outils, cliquez sur le bouton Ajouter des
champs existants .
Insrez les champs dans le formulaire : cliquez-glissez sur le nom du champ jusqu
lemplacement souhait sur le formulaire (les contrles sont ensuite repositionnables). A
chaque champ insr, sont crs sur le formulaire une tiquette et un contrle zone de saisie :

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.

2. GESTION DES DONNEES DUN FORMULAIRE


Si le formulaire est ferm, ouvrez-le en double-cliquant sur son nom dans le Volet de
navigation. Le formulaire apparat en mode Formulaire.
Pour grer les donnes dun formulaire, on laffiche en mode Formulaire. Sil ne lest
pas dj :
- Faites un clic droit sur longlet du formulaire > Mode Formulaire
- Ou bien, si le formulaire est ouvert en mode Cration, vous pouvez galement
activer le bouton Affichage, longlet Cration.
Un bouton appel slecteur prcde chaque enregistrement. Laffichage dun
trianglesur ce bouton indique lenregistrement courant.

Boutons de dplacement : navigation, nouvel enregistrement et rechercher


Navigation dun enregistrement lautre
On peut atteindre un enregistrement :
- En utilisant les raccourcis clavier
- En utilisant les boutons de dplacement situs en bas du formulaire.

Sur un formulaire contenant un enregistrement par page :


Pour atteindre
Le 1 enregistrement
Lenregistrement prcdent
Lenregistrement suivant
Le dernier enregistrement
er

Raccourcis clavier
Boutons de dplacement
Ctrl + Dbut (HOME) (premier champ)
I (mme champ)

PgUp (Page Up)

PgDn (Page Down)


Ctrl + fin (End ou ) (dernier champ) I (mme champ)

125

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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.

Lactivation du bouton dinfo-bulle Nouvel enregistrement


un enregistrement.

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.

Modifier, ajouter ou supprimer un enregistrement


Toute modification, ajout ou suppression denregistrement est rpercut sur la table.
Affichez le formulaire en mode Formulaire.

Modification dun enregistrement

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.

Ajout dun enregistrement

Dans la barre du formulaire, cliquez sur le bouton Nouvel enregistrement


. Ou
bien : tant sur le dernier enregistrement (formulaire avec un enregistrement par page),
appuyez sur la touche PgDn (Page Down).
Saisissez les valeurs des champs du nouvel enregistrement.
Pour rpter une mme valeur de champ que celle de lenregistrement prcdent, tapez
Ctrl + (apostrophe).
Les contrles issus de champs de type NumroAuto ou ceux auxquels on a attribu une
valeur par dfaut, sont automatiquement renseigns par Access.
Pour passer dune zone de saisie une autre, utilisez la touche Tab ou la touche Entre.
Le passage lenregistrement suivant valide lenregistrement dont les valeurs de
champs viennent dtre saisies.
Exemple
Crez le formulaire Peintre insrant les champs de la table PEINTRE, avec cration
automatique de son sous-formulaire insrant les champs de la table TABLEAU :
Cliquez sur la table PEINTRE, puis cliquez sur le bouton Formulaire du groupe
Formulaires, longlet Crer.
Passez en mode Formulaire : clic droit sur son onglet > Mode Formulaire.
Ajoutez les deux nouveaux enregistrements suivants :
- Dans le formulaire Peintre : Morisot, Berthe, franais, 1841, 1895.

126

COURS BARDON - ACCESS 2007 / CHAPITRE 13

Dans le sous-formulaire : 126, Le Berceau, toile, 1873, 21.

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.

Suppression dun enregistrement

Slectionnez lenregistrement en cliquant sur son slecteur, plac gauche.


Puis appuyez sur la touche Suppr. Confirmez la suppression.
Si la table do sont issus les champs du formulaire, est en relation avec une autre table,
la suppression dun enregistrement peut ncessiter au pralable la suppression de cette
relation (cf. chapitre 6 RELATIONS ENTRE LES TABLES).

Rechercher et remplacer, trier et filtrer

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

3. PERSONNALISATION DUN FORMULAIRE


La personnalisation dun formulaire affectant sa structure, on laffiche en mode
Cration : faites un clic droit sur longlet du formulaire > Mode Cration.
Sur le ruban, les Outils de cration de formulaire sont rpartis sur deux onglets :
Cration et Rorganiser .

Les cinq sections dun formulaire

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

Len-tte et le pied de page


Len-tte et le pied de page ne sont visibles quen mode Cration.
A limpression, ils apparaissent sur chaque page du formulaire.

127

COURS BARDON - ACCESS 2007 / CHAPITRE 13

Pour modifier la hauteur (ou largeur) dune section, il y a deux mthodes :


- Cliquez-glissez sur le bord infrieur (ou le bord droit) de la section
- Ou bien : faites un clic droit sur la barre de titre de la section > Proprits, puis
tapez la hauteur (ou largeur) souhaite dans la zone de saisie Hauteur (ou
Largeur ) de la Feuille de proprits.

Feuille de proprits

Le formulaire tant affich en mode Cration, chaque objet (contrle, section,


formulaire) a sa Feuille de proprits , quon peut afficher droite de lcran.
Elle est essentielle car on peut y dfinir ou y modifier les proprits, cest--dire les
caractristiques de lobjet (lgende, nom, taille, couleur).
Si aucune Feuille de proprits nest affiche :
Le plus rapide : double-cliquez sur lobjet.

Sinon, pour afficher la Feuille de proprits :


- Dun contrle : faites un clic droit sur le contrle > Proprits.
- Dune section : faites un clic droit sur sa barre de titre > Proprits.
- Dun formulaire : il faut dabord le slectionner : cliquez dans la case juste en dessous de son
onglet. Un carr noir apparait alors dans cette case. Faites un clic droit dessus > Proprits.

Si la Feuille de proprits dun autre objet est dj affiche :


Cliquez sur lobjet dont vous souhaitez afficher la Feuille de proprits.

La Feuille de proprits dun objet comprend cinq onglets : Format, Donnes,


Evnement, Autres et Toutes. Longlet Toutes affiche toutes les proprits de lobjet.
Il existe des centaines de proprits. Pour obtenir des explications sur une proprit,
cliquez dans sa ligne, puis appuyez sur la touche F1.

Application dun format automatique

On peut appliquer au formulaire un format automatique.


A longlet Rorganiser, activez le bouton Mise en forme automatique (situ tout
gauche).
- Choisissez un format propos,
- Ou bien cliquez sur le bouton Assistant Format automatique .
Dans la fentre Format automatique , sont proposs les mmes styles que ceux proposs dans la
cration dun formulaire avec l Assistant Formulaire (cf. 1 Crer un formulaire).

On peut crer, modifier ou supprimer des formats.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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

Contrles indpendants, contrles dpendants et contrles calculs

Contrle indpendant

Un contrle indpendant ne dpend daucun champ. Quand on change denregistrement,


le contenu de ce type de contrle est le mme, son affichage reste fixe.
Exemples : titre, tiquette, cadre dobjet indpendant, image.

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.

Case cocher : insr dans un formulaire, un champ de type Oui/Non entrane


laffichage dune tiquette associe une case cocher ( condition que, dans la table source, la

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

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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.

Groupe de cases doption

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

COURS BARDON - ACCESS 2007 / CHAPITRE 13

3) Vous pouvez supprimer la zone de liste droulante Bois/Toile et ltiquette associe,


elles font double emploi avec le groupe de cases doption et son tiquette que lon vient de
crer.

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.

Puis insrez une zone de texte sur le formulaire.


Tapez-y lexpression : = NomPeintre & " " & PrenomPeintre
Passez en mode Formulaire, et testez le rsultat sur plusieurs enregistrements.
Le second contrle utilisera les deux champs AnneeNaissance et AnneeDeces.
Comme prcdemment, insrez dabord ces deux champs dans le formulaire.
Puis insrez une zone de texte.
Remplacez la lgende de ltiquette associe en tapant : Dure de vie.
Dans la zone de texte, tapez lexpression : = AnneeDeces AnneeNaissance &
" ans".
Passez en mode Formulaire, et testez le rsultat sur plusieurs enregistrements.

Champ cl primaire et champ cl trangre


Usuellement, le champ cl primaire dune table est de type NumroAuto.
Le champ cl trangre correspondant au champ cl primaire, est ordinairement de type
Numrique. La zone de texte associe est un contrle calcul, qui a pour valeur de Source
contrle : = [champ cl primaire].

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

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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.

Gestion des contrles

Elle seffectue en mode Cration du formulaire.


Pour grer un contrle, comme tout objet, il faut dabord savoir le slectionner. Un contrle
slectionn prsente un contour plus marqu, avec des poignes sur les cts, qui sont des
carrs servant au dplacement ou au redimensionnement du contrle.
Exemple :
Pour slectionner :
- Un seul contrle : cliquez-dessus. Ou bien, le curseur tant dans le contrle,
cliquez sur le bouton Slectionner du groupe Contrles.
- Plusieurs contrles : appuyez sur la touche Maj (Shift) et cliquez sur chaque
contrle slectionner.
Si les contrles sont juxtaposs, il est rapide de tracer un rectangle de slection :
cliquez-glissez en diagonale pour tracer un rectangle englobant les contrles.
Si le formulaire a une prsentation sous forme de tableau ou de feuille de donnes,
plusieurs des commandes suivantes ntant pas utiles, ne sont pas accessibles.

Dplacement de contrles

Slectionn, un contrle prsente une poigne de dplacement : le plus grand carr


gauche. Cliquez-glissez sur ce carr pour dplacer le contrle (pointeur en croix flche ).
Pour dplacer plusieurs contrles, slectionnez-les, puis cliquez-glissez sur la slection
(pointeur en croix flche).

Tailles de contrles

Taille de contrles : trois mthodes pour la modifier (sans ajustement)


- Un contrle slectionn prsente des poignes de dimensionnement : petits carrs
sur ses cts. Cliquez-glissez dessus permet de modifier la Taille du contrle
(pointeur en double-flche).
En cliquant-glissant sur un angle (pointeur en double-flche oblique), on garde la
proportion hauteur / largeur du contrle.

132

COURS BARDON - ACCESS 2007 / CHAPITRE 13

Si on a slectionn plusieurs contrles, la modification de taille par cliqu-gliss


sur lun, est automatiquement effectue sur les autres.
Pour effectuer de petites modifications de taille : aprs slection, appuyez sur la
touche Maj (Shift) et utilisez les touches flches du clavier.
Pour donner une valeur numrique une hauteur ou une largeur, affichez la
Feuille de proprits du contrle (double-cliquez sur le contrle). A longlet
Format, donnez les valeurs souhaites aux proprits Largeur et Hauteur.
Contrairement aux autres mthodes, celle-ci ne sapplique qu un seul contrle
la fois.
Ajustement de tailles de contrles

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

Disposition : alignement, espacement et ordre de superposition

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.

Espacement entre les contrles


Aprs slection des contrles, on peut, en utilisant des commandes du groupe
Position :
- Espacer uniformment les contrles : activez le bouton Horizontal quilibr ou
le bouton Vertical quilibr .
- Augmenter lespace entre les contrles : activez le bouton Augmentation
horizontale ou le bouton Augmentation verticale .
- Diminuer lespace entre les contrles : activer le bouton Diminution
horizontale ou le bouton Diminution verticale .

133

COURS BARDON - ACCESS 2007 / CHAPITRE 13

Superposition des contrles


Des contrles tant superposs, on peut modifier lordre de superposition.
Aprs slection du contrle, activez dans le groupe Position le bouton Mettre au
premier plan ou le bouton Mettre larrire-plan .

Mise en forme des contrles

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.

Copie de la mise en forme dun contrle sur dautres contrles


Elle seffectue comme sous Word :
- Slectionnez le contrle dont vous souhaitez copier la mise en forme.
- Dans le groupe Police , activez le bouton dont licne est un pinceau, dinfobulle Reproduire la mise en forme .
- Cliquez sur le contrle auquel doit tre applique la nouvelle mise en forme.
Pour appliquer la mme mise en forme plusieurs contrles, double-cliquez (au lieu de
cliquer) dabord sur le bouton dicne pinceau. Appliquez la mise en forme. En fin
dapplication, appuyez sur la touche Echap (Esc).

Ordre de tabulation : passage dune zone de saisie une autre

Lordre de tabulation signifie lordre de passage dune zone de saisie la suivante,


en utilisant la touche Tab ou la touche Entre.
Lordre de tabulation sapplique au formulaire affich en mode Formulaire.
Il est dfinissable sur chacune des trois sections : en-tte de formulaire, dtail et pied de
formulaire.
Pour le modifier, le formulaire tant affich en mode Cration ou en mode Page,
affichez la fentre Ordre de tabulation : longlet Rorganiser, groupe Mise en forme de
contrle , activez le bouton Ordre de tabulation .
Renseignez la fentre. En activant le bouton Ordre automatique , on obtient lordre
commun : de gauche droite et de bas en haut.
Saut dun contrle
Une zone de saisie, peu souvent renseigne ou modifie, ne ncessite pas darrt de
tabulation. Pour quon ne puisse pas sy arrter (en mode Formulaire) en utilisant la touche
Tab ou la touche Entre : dans sa Feuille de proprits, longlet Autres, donnez la valeur
Non sa proprit Arrt tabulation .
On peut cliquer dans la zone de saisie pour saisir ou modifier une valeur, mais on ne
peut pas sy arrter en utilisant la touche Tab ou la touche Entre, le contrle est saut.

134

COURS BARDON - ACCESS 2007 / CHAPITRE 13

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

Cration conjointe dun formulaire et de son sous-formulaire,


avec lAssistant Formulaire

On a vu cette mthode prcdemment : cf. 1. CREER UN FORMULAIRE, Cration dun


formulaire avec lAssistant Formulaire.
On slectionne les champs dune table, destins au formulaire principal, et ceux de la
table relie.
LAssistant, dtectant la relation entre les deux tables, propose la cration dun sousformulaire. Lexistence dune relation entre les tables est ncessaire.

Cration dun sous-formulaire dans un formulaire dj cr


Ouvrez le formulaire en mode Cration. Il constituera le formulaire principal.

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.

Affichez la fentre Assistant Sous-formulaire : dans le groupe Contrles, activez


le bouton dinfo-bulle Sous-formulaire/Sous-tat , puis cliquez sur le formulaire (il
sagit de linsertion dun contrle).
Exemple
Crez un formulaire, qui sera le formulaire principal, contenant les champs de la table
PEINTRE (cf. 1 Raliser un formulaire en mode Cration ).
On va insrer dans ce formulaire le sous-formulaire contenant les champs de la table
TABLEAU. Cliquez sur le bouton dinfo-bulle Sous-formulaire/Sous-tat
, puis cliquez
sur le formulaire.

La fentre Assistant Sous-formulaire tant affiche, procdez ainsi, selon que le


formulaire qui sera sous-formulaire existe ou quil nexiste pas :
- Sil existe : cochez la case Utiliser un tat ou un formulaire existant , puis
slectionnez le formulaire 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 le
formulaire.
Dans lexemple, il sagit de crer le formulaire contenant les champs de la table
TABLEAU. Slectionnez les champs de la table TABLEAU.

135

COURS BARDON - ACCESS 2007 / CHAPITRE 13

Indiquez les champs correspondants des deux tables.


Soit une relation existe entre les tables des champs du formulaire et du sousformulaire : cochez loption Choisir partir dune liste , et validez.
Dans lexemple, les champs correspondants des deux tables sont NoPeintre.
- Sinon, cochez la case Les dfinir moi-mme , puis saisissez les deux champs
correspondants. Un lien temporaire est ainsi cr.
-

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.

Le sous-formulaire, prsent sous forme de Feuille de donnes, est cr dans le


formulaire principal.
Dans lexemple, passez le formulaire en mode Formulaire, et affichez des
enregistrements.
Le sous-formulaire a la nature dun contrle. Il sagit dun contrle du formulaire principal. Ce contrle
est un lien vers le formulaire utilis (dans lexemple, lien vers le formulaire ssformTableau).
Affichons la Feuille de proprits de ce contrle, longlet Donnes :
- En Objet source , le contrle a pour valeur ssformTableau.
- Les proprits Champs pres et Champs fils ont pour valeurs les noms des champs
correspondants des tables relies, dans notre exemple NoPeintre.

136

COURS BARDON - ACCESS 2007 / CHAPITRE 14

CHAPITRE 14 LES ETATS


La fonction principale dun tat est la restitution des donnes. Cest un document
destin tre imprim. Il na pas linteractivit du formulaire.
Un tat affiche souvent les enregistrements rsultant dune requte.
Tandis que le formulaire naffiche gnralement quun seul enregistrement la fois,
ltat affiche une ou plusieurs listes denregistrements.
Etats et formulaires prsentent toutefois de nombreuses similarits, notamment en ce
qui concerne les mthodes de cration et la gestion des contrles.

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

COURS BARDON - ACCESS 2007 / CHAPITRE 14

On obtient ltat (extrait des enregistrements) :


NoPeintre
1
1
2
3

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.

Cration rapide dun tat


Comme pour le formulaire : en deux clics, ltat est gnr !
Procdez ainsi :
- Dans le Volet de navigation, cliquez sur une table ou sur une requte.
- A longlet Crer, groupe Etats, cliquez sur le bouton Etat .
Ltat est affich en mode Page, il prsente la liste des enregistrements.

Cration dun tat avec l Assistant Etat

Cette mthode permet de personnaliser ltat.


Commencez par prciser la source de donnes de ltat : dans le Volet de navigation,
cliquez sur une table ou sur une requte.
Puis affichez la fentre Assistant Etat : longlet Crer, dans le groupe Etats, activez
le bouton Assistant Etat .
Exemple : cliquez sur la table PEINTRE, puis sur le bouton Assistant Etat .
La ralisation dun tat se droule en plusieurs tapes :
1re tape : Slection des champs
A laide des boutons >, >>, <, <<, ou bien par double-clic, slectionnez les champs que
vous souhaitez insrer dans ltat.
Vous pouvez slectionner des champs de plusieurs tables ou requtes.
Exemple : dans la table PEINTRE, slectionnez les champs NomPeintre, PrenomPeintre,
Nationalite.

2me tape : Regroupement des enregistrements


Des regroupements denregistrements peuvent tre raliss en fonction de leurs valeurs
identiques sur un ou plusieurs champs.
On peut dfinir des intervalles de regroupement sur les champs de type de donnes
Numrique, Date ou Texte.
Exemple : cliquez sur Suivant, sans effectuer de regroupement.

Nous regrouperons les enregistrements sur le champ Nationalite au 3 de ce chapitre Tri,


regroupements et totaux .

138

COURS BARDON - ACCESS 2007 / CHAPITRE 14

3me tape : Tri et totaux


Des tris peuvent tre effectus, jusqu quatre niveaux, en ordre croissant ou
dcroissant.
Options de synthse :
Des totaux (Somme, Moyenne, Maximum, Minimum) sont ralisables sur des champs
de type Numrique.
Loption Dtail entrane laffichage dun total par regroupement.
Loption Total entrane laffichage dun total de synthse (le total du tout).
Exemple : paramtrez un tri croissant par nationalit, puis par nom.

4me tape : Prsentation de ltat


Choisissez la prsentation souhaite.
Exemple : Optez pour une prsentation tabulaire (sous forme de tableau).

5me tape : Style de ltat


De nombreux styles sont proposs. Ce sont les mmes que ceux qui sont proposs dans
la fentre Assistant Formulaire . Par dfaut, le style Office est appliqu.
Exemple : Appliquez le style Rotonde.

6me tape : Titre Ouverture : Aperu avant impression ou mode Cration


Donnez un titre ltat. Par dfaut, le nom de la requte ou de la table lui est donn.
Pour terminer, choisissez entre ouvrir ltat en mode Aperu avant impression ou
louvrir en mode Cration.

Exemple : Nommez ltat NationalitePeintre, puis ouvrez-le en mode Aperu avant


impression .
On obtient (extrait des enregistrements) :
Nationalite
allemand
anglais
belge
belge
belge
espagnol

NomPeintre
Drer
Turner
Bosch
Bruegel
Hals
Picasso

PrenomPeintre
Albrecht
William
Jrme
Pieter
Frans
Pablo

Raliser un tat en mode Cration


Cest la mthode par excellence de cration dun tat.
Ralisons un tat lmentaire en mode Cration.

Affichage de ltat vierge


A longlet Crer, dans le groupe Etats, activez le bouton Cration dtat .
Un tat vide saffiche, contenant trois sections : la section principale Dtail et les
deux autres sections En-tte de page et Pied de page .

Indication de la table ou de la requte pourvoyeuse de champs


Lindication de la source de donnes de ltat seffectue dans sa Feuille de proprits.
Pour afficher celle-ci : longlet Crer, dans le groupe Outils, cliquez sur le bouton Feuille
des proprits . Elle comprend cinq onglets. Activez longlet Donnes. Ouvrez le menu
droulant de la proprit Source, et slectionnez la source de donnes souhaite.

139

COURS BARDON - ACCESS 2007 / CHAPITRE 14

Exemple : slectionnez la table PEINTRE.


Insertion des champs
Affichez la liste des champs correspondant la source de donnes indique
prcdemment : longlet Crer, dans le groupe Outils, cliquez sur le bouton Ajouter des
champs existants .
Insrez les champs dans ltat :
- Double-cliquez sur le nom de chaque champ,
- Ou bien : cliquez sur le nom dun champ, puis appuyez sur la touche Maj (Shift) et
cliquez sur chaque autre champ slectionner. Cliquez-glissez sur la slection
jusque dans ltat.
A chaque champ insr, correspondent dans ltat une tiquette et une zone de texte.
Exemple : insrez les champs de la table PEINTRE, puis cliquez sur le bouton Affichage
pour ouvrir ltat. Ltat apparat en affichage mode Etat.

L Assistant Etiquette

LAssistant Etiquette permet dditer un tat affichant des tiquettes.


Commencez par prciser la source de donnes de ltat : dans le Volet de navigation,
cliquez sur une table ou sur une requte.
Puis affichez la fentre Assistant Etiquette : longlet Crer, dans le groupe Etats,
activez le bouton Etiquettes .
La cration dun tat se droule en plusieurs tapes :
- 1re tape : Taille, type et fabriquant
Lunit de mesure est le pouce " ou le mm.
Les options Feuille feuille et Continu concernent le type dalimentation
des feuilles dans limprimante.
Exemple : Aprs avoir cliqu sur la table PEINTRE, activez le bouton Etiquettes .
Slectionnez Durable 1451. Gardez les autres options. Validez.
- 2me tape : Police des caractres
Dfinissez le nom, la taille, lpaisseur et la couleur de la police des caractres.
Exemple : Gardez les options proposes.
- 3me tape : Champs et textes des tiquettes
Dans la zone titre Etiquette prototype , vous pouvez :
o Saisir des champs, slectionns parmi les champs disponibles gauche :
utilisez le bouton >, ou bien double-cliquez sur le nom du champ.
o Egalement taper des textes. Les retours la ligne sont permis.
Exemple :
Saisissez le texte suivant, qui comporte les trois champs NomPeintre, Nationalite et
AnneeNaissance :
NomPeintre a la nationalit Nationalite
Il est n en AnneeNaissance
- 4me tape : Tri
Un tri est possible, sur un ou plusieurs champs.
Exemple : Triez par NomPeintre.

140

COURS BARDON - ACCESS 2007 / CHAPITRE 14

- 5me tape : Titre Ouverture : Aperu avant impression ou mode Cration


Donnez un titre ltat. Par dfaut, le nom de la requte ou de la table lui est donn.
Pour terminer, choisissez douvrir ltat en mode Aperu avant impression ou bien
de louvrir en mode Cration.
Exemple : Affichez ltat en mode Aperu avant impression.

2. AFFICHAGE, MISE EN PAGE ET IMPRESSION


Communment, aprs cration dun tat, on laffiche, on vrifie et on modifie si
ncessaire sa mise en page, puis on limprime.

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

Le mode Cration permet de crer ltat, ou den modifier la structure.

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

Cest un mode intermdiaire entre les deux prcdents.


Il permet laffichage des donnes ainsi que certaines modifications de la structure de
ltat, en particulier lajout de champs et la modification des regroupements.

Mode Aperu avant impression

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 .

Longlet Aperu avant impression dispose de nombreuses commandes, permettant


des modifications daffichage et de mise en page de ltat.

141

COURS BARDON - ACCESS 2007 / CHAPITRE 14

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

Mise en page et impression


Affichez ltat en mode Aperu avant impression .
Pour modifier la mise en page, utilisez :
- Les commandes du groupe Mise en page ,
- Ou la fentre Mise en page : pour lafficher, cliquez sur le lanceur du
groupe (petit bouton
droite du titre du groupe Mise en page ).
La mise en page tant effectue, vous pouvez imprimer ltat.

3. PERSONNALISATION DUN ETAT


La personnalisation dun tat affectant sa structure, on laffiche en mode Cration.
Sur le ruban, les Outils de cration dtat sont rpartis sur trois onglets : Crer ,
Rorganiser et Mise en page .
Ce dernier onglet a un seul groupe de commandes Mise en page . Il sagit du mme
groupe prsent longlet Aperu avant impression .
Nous utiliserons dans cette partie les onglets Crer et Rorganiser .

Les sections dun tat

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

COURS BARDON - ACCESS 2007 / CHAPITRE 14

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

Sections En-tte de groupe et Pied de groupe

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 .

Feuille de proprits, mise en forme et contrles

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 .

Tri, regroupements et totaux

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

COURS BARDON - ACCESS 2007 / CHAPITRE 14

- 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

Les regroupements denregistrements permettent damliorer la prsentation, galement


deffectuer des sous-totaux sur les groupes denregistrements.
Les mthodes pour raliser ou modifier un regroupement sont similaires celles que
lon vient de voir pour le tri.
Ouvrez le volet Regrouper, trier et total pour dfinir un ou plusieurs regroupements.
Pour raliser un regroupement :
- Dans le volet, activez le bouton Ajouter un groupe .
- Slectionnez le champ concern, ou prcisez une expression.

144

COURS BARDON - ACCESS 2007 / CHAPITRE 14

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

COURS BARDON - ACCESS 2007 / CHAPITRE 14

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

COURS BARDON - ACCESS 2007 / CHAPITRE 14

Insertion dun saut de page


Ltat tant affich en mode Cration, pour insrer un saut de page :
- A longlet Crer des Outils de cration dtat , groupe Contrles, activez le
bouton
dinfo-bulle Insrer ou supprimer le saut de page .
- Cliquez sur ltat l o vous souhaitez insrer le saut de page.
Le saut de page est indiqu par un trait en pointill
Comme tout contrle, on peut le slectionner et le dplacer.

Insertion dun saut de page en fonction dune section

On peut dfinir la proprit Saut de page dune section, longlet Format de la


Feuille de proprits de la section.
Cette proprit a trois valeurs possibles :
- Avant section : les donnes de la section slectionne sont imprimes sur
une nouvelle page.
- Aprs section : les donnes de la section suivante sont imprimes sur une
nouvelle page.
- Avant & aprs section : cette option runit les deux options prcdentes.

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.

Affichez la fentre Assistant Sous-tat : dans le groupe Contrles, activez le


bouton dinfo-bulle Sous-formulaire/Sous-tat , puis cliquez sur ltat (il sagit de
linsertion dun contrle).

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.

Indiquez les champs correspondants des deux tables.


- Soit une relation existe entre les tables des champs de ltat et du sous-tat : cochez
loption Choisir partir dune liste , et validez.
- Sinon, cochez la case Les dfinir moi-mme , puis saisissez les deux champs
correspondants. Un lien temporaire est ainsi cr.

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

You might also like