0% ont trouvé ce document utile (0 vote)
56 vues91 pages

Vocabulaire et création de bases de données

Le document présente le vocabulaire et les concepts fondamentaux liés aux bases de données relationnelles, y compris les systèmes de gestion de bases de données (SGBD), les clés primaires et étrangères, ainsi que les relations entre les tables. Il décrit également la création d'une base de données avec Access, en détaillant les étapes pour créer des tables, entrer des données et établir des relations. Enfin, le document aborde l'utilisation des requêtes dans Access pour interroger et manipuler les données.

Transféré par

jtchamba02
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
56 vues91 pages

Vocabulaire et création de bases de données

Le document présente le vocabulaire et les concepts fondamentaux liés aux bases de données relationnelles, y compris les systèmes de gestion de bases de données (SGBD), les clés primaires et étrangères, ainsi que les relations entre les tables. Il décrit également la création d'une base de données avec Access, en détaillant les étapes pour créer des tables, entrer des données et établir des relations. Enfin, le document aborde l'utilisation des requêtes dans Access pour interroger et manipuler les données.

Transféré par

jtchamba02
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

I - Vocabulaire relatif aux BDR

1- Bases de données : Collection homogène et structurée


d'informations ou de données qui existent sur une longue période de
temps et qui décrivent les activités d'une ou plusieurs organisations.
Exemple 1 :
Organisation : une bibliothèque
Données : les livres, les emprunts, les emprunteurs
Exemple 2 :
Organisation : une Université
Données : les étudiants, les enseignants, les cours, etc.

2- Systèmes de Gestion de Bases de Données (DataBase


Management Systems - DBMS) :
Ensemble de logiciels systèmes permettant aux utilisateurs d'insérer, de
modifier, et de rechercher efficacement des données spécifiques dans une
grande masse d'informations (pouvant atteindre plusieurs milliards d'octets)
partagée par de multiples utilisateurs.
Exemples : MySQL (utilisé en L2), PostgreSQL (utilisé en
L3), Oracle, Microsoft SQLServer, etc.

3- Principales fonctionnalités d’un SGBD :


✓ Création et mises à jour de la structure de la base de données (par
le concepteur et/ou le DBA DataBase Administrator)
✓ Administration de la base de données : gestion des utilisateurs, des
droits d’accès etc. (par l’administrateur – DBA)
✓ Saisie et mises à jour des données (par le concepteur et/ou les
utilisateurs)
✓ Interrogation des données selon différents critères et/ou en
effectuant des calculs (par les utilisateurs)
✓ Données : Ce que l’on stocke
4- Modèle relationnel :
Modèle permettant d’organiser les données en une représentation
schématique qui autorisera son exploitation par le SGBD ou l’outil de
bureautique de gestion de base de données.

5- Relations (Tables)
✓ Collection de nuplets (tuples en anglais) décrivant des données de
même structure
✓ Tableau à deux dimensions composées d’attributs (ou champs - en
colonnes) et de nuplets (ou enregistrements - en ligne).

6- Clé primaire
Attribut (ou ensemble d’attributs) permettant d’identifier de manière
unique les nuplets de la relation
Exemples :
✓ L’attribut ISBN pour une relation Livre
✓ L’attribut NuméroImmatriculation pour une relation Voiture
✓ L’attribut NuméroCarte pour une relation Emprunteur

7- Clé étrangère
Attribut (ou ensemble d’attributs) d’une relation qui fait (font) référence à
la clé primaire d’une autre relation.
A quoi cela sert ? Exemple d’une mauvaise relation :
Problèmes :
✓ Répétition des noms, prénoms, dates de naissances, ISBN, etc. autant
de fois qu’il y a d’emprunts = Redondance d’information
✓ Comment identifier les nuplets ?
Ne pas mettre toutes les données dans une seule relation !!!
La solution ? Diviser les données en plusieurs relations
⇒ Division en 3 relations associées : Emprunteurs, Emprunts et Livres
⇒ Stockage unique des informations de chaque livre
⇒ Stockage unique des informations de chaque emprunteur
⇒ Stockage unique des informations de chaque emprunt
Attention : Access appelle Relation ce qui en fait s’appelle Association

8- Associations entre plusieurs relations


Association un-à-plusieurs entre les relations Emprunteurs et Emprunts.
Un emprunteur peut faire plusieurs emprunts mais un emprunt correspond à
un seul emprunteur.
✓ L’attribut RefEmprunteur de la relation Emprunts est une clé
étrangère qui fait référence à l’attribut NuméroCarte de la relation
Emprunteurs
✓ L’attribut RefLivreEmprunté de la relation Emprunts est une clé
étrangère qui fait référence à l’attribut ISBN de la relation Livres.
Intégrité référentielle : Ensemble de règles garantissant la cohérence
(l'intégrité) des données réparties dans plusieurs relations.
II - Création d’une BD
1- Création de la base de données avec Access.
Pour créer une nouvelle base il faut commencer par créer une « base de
données vide » ; c’est la règle sous ACCESS.

L’interface d'Access 2007/2010 est un peu garni mais nous allons aborder
son apprentissage en douceur : cliquer sur l’icône (en haut à gauche de la fenêtre
centrale) « Base de données vides ». Sélectionner le répertoire d’accueil et
définissez le nom du fichier base de données dans le menu de droite (ici
note1.accdb). Depuis la version 2007 la terminaison des fichiers n’est plus mdb
(pour master database) mais accdb (pour access database).
Une fois votre fichier ouvert vous rentrez dans l’univers pratique de la
réalisation d’une base de données avec le SGBDR (système de Gestion de Base
de Données Relationnelles) Access.
Laissez-vous guider par les commandes, les fonctions et autres options que
proposent les menus déroulants et les boutons du logiciel. Vous verrez que la prise
en main est assez intuitive et rapide. On y retrouve déjà les rubriques habituelles
de création et gestion de fichiers, d’édition et de manipulation de données.
✓ Création de tables sous Access
A ce stade, vous venez de facto de créer une base de données vide. Il faut
maintenant commencer à organiser son contenu et créer les tables prévues à
l’étape de conception (figurant sur le schéma).
Il est clair que 4 tables (les entités du MCD deviennent des tables) vont être
créées l’une après l’autre.
Pour chacune d'elle, la procédure sera la même :
- renseigner les noms des champs et le type des données (ne pas se
tromper dans les formats). On peut ajouter des champs à n’importe quel
moment en basculant vers le mode création
- enregistrer la table en cours (soit à l'aide d'un clic droit puis
Enregistrer, soit en basculant en mode feuille de données, ce qui
engendre automatiquement une fenêtre demandant si l’on veut
enregistrer les modifications)
✓ Commençons par créer la table Table_Etudiants :
Entrez dans la fenêtre de création de la première table de cette base de données
Access. On repère tout de suite le bouton « Affichage » (cerclé en rouge sur la
figure ci-dessous) qui permet de faire passer l’affichage de la table en mode feuille
de données (contenu) ou en mode création (format / contenant).
Il est logique de commencer par définir le format de la table (contenant) en
précisant la structure des champs des enregistrements, répondant à des types de
données précis. On bascule donc en mode création (en cliquant sur le bouton
"Affichage").
Dès lors la définition précise de chacun des champs composant les
enregistrements peut commencer.

Il est assez simple de définir chacun des champs par son identificateur et
son type. On pourra avantageusement utiliser les cases Description pour saisir des
commentaires et préciser certains éléments. L’unicité de l’information n’étant pas
garantie avec le nom ou même avec le couple (nom, prénom), elle le sera grâce
au numéro ID de l’étudiant. On associe alors (avec le bouton clé primaire, cerclé
en rouge sur la figure, ou à l’aide d’un clic droit souris / choix clé primaire) la clé
primaire sur le champ ID_etudiant
On remarque que la structure des enregistrements est décrite de telle façon
qu’à chaque ligne correspond la définition d’un champ dans l’ordre de leur
rencontre.

A l'issue de la création des premiers champs de la table, lorsque vous


cliquez sur le bouton "Affichage", le logiciel nous demande d'enregistrer ce
contenant.

En règle générale, à chaque modification apportée à la structure, en


basculant en mode «feuille de données » le logiciel demande s’il faut enregistrer
les modifications effectuées.
Il faut répondre « oui », si vous voulez valider cette structuration de la table.
Enregistrons cette structure sous l’identificateur « Table_etudiant » ; sans accent
pour respecter la règle du latin de base (format ASCII).
2- Donner un contenu : renseigner la base de données

✓ Nous sommes ainsi arrivés à l’étape de l’entrée des données


Créons deux enregistrements :

On voit que les enregistrements sont affichés les uns après les autres selon la
structure que l’on a définie en mode création, à raison d’un enregistrement par
ligne. Les colonnes de la table correspondent ainsi aux champs des
enregistrements crées (le champ ID_etudiant est automatiquement incrémenté
d’une unité à chaque enregistrement crée, on ne s’en occupe pas).
✓ Continuons en créant la table Table_Enseignants :

On procédera ainsi pour chacune des tables à créer.


✓ Création des relations
Icône relations dans menu ‘feuille de données’
ATTENTION à l’unicité de l’information ! (il faut faire la chasse aux
doublons). Pour rendre l’information unique on l’associe à une ou plusieurs clés
dites clés primaires.
Table_notes => TABLE CENTRALE (table intermédiaire permettant
l’établissement de relations de type n à m, dite également 1 à plusieurs).
Quand un champ correspond à la clé primaire il ne peut pas être supprimé
(il faut au préalable supprimer l’attribut « clé primaire »)
Pour créer une relation :
- Toutes les tables devant être mises en relation doivent être fermées
- cliquer-glisser du champ Id_etudiant (table_étudiant) vers code_etudiant
(table_notes)
- dans la fenêtre de dialogue cocher :

« Appliquer l’intégrité référentielle »


et
« Mettre à jour en cascade les champs correspondants »
✓ Schéma des relations
III - Requête d’interrogation
B
Access 2010
Créer et utiliser
des requêtes
Vous aurez Dans une base de données Access, les requêtes servent à répondre à des questions à propos
besoin de des données, comme par exemple, quels sont les voyages organisés prévus en juin ou quels
ces fichiers :
VTA-B.accdb
types de voyages se dérouleront en Corse-du-Sud. Les requêtes présentent les réponses dans
Recyclage-B.accdb une feuille de données, que vous pouvez ensuite trier, filtrer et mettre en forme. Comme les
Membres-B.accdb
Capitales-B.accdb requêtes sont enregistrées dans la base de données, elles sont réutilisables plusieurs fois.
Vétos-B.accdb
Basketball-B.accdb Chaque fois que vous ouvrez une requête, vous obtenez une vue mise à jour des dernières
modifications apportées aux données de la base. Michèle Piloubeau, responsable du
développement des tours organisés en France chez Voyages Tour Aventure, souhaite poser
quelques questions à propos des clients et des voyages de la base de données VTA. Vous
devez développer des requêtes pour fournir à Michèle des réponses actualisées.

ObjectiFs Exploiter l’Assistant Requête


Travailler sur les données d’une requête
Utiliser le mode Création de requête
Trier et rechercher des données
Filtrer des données
Appliquer des critères ET
Appliquer des critères OU
Mettre en forme une feuille de données

3_Access_B.indd 1 11-05-17 00:54


B
Access 2010
Exploiter l’Assistant Requête
Une requête sélectionne un sous-ensemble de champs et d’enregistrements d’une ou de plusieurs tables,
pour présenter ensuite les données choisies dans une seule feuille de données. Un avantage majeur de
l’utilisation d’une requête réside dans le fait qu’elle permet de focaliser sur les informations dont vous avez
besoin pour satisfaire vos interrogations, au lieu de vous imposer de naviguer parmi les champs et les
enregistrements de nombreuses tables. Vous pouvez modifier, entrer et manipuler les données d’une feuille
de requête avec la même facilité que vous le feriez dans la feuille de données d’une table. Retenez cependant
que les données Access n’existent physiquement que dans les tables, même si vous les visualisez ou les
modifiez dans d’autres objets Access, comme les requêtes et les formulaires. Du fait qu’une requête
n’emmagasine pas réellement les données, on appelle parfois une feuille de données de requête une vue
logique des données. Au plan technique, une requête est formée d’un ensemble d’instructions SQL (langage
de requête structuré) mais, comme Access fournit plusieurs outils de requête faciles d’emploi tels que le mode
de création de requête, la connaissance de SQL n’est pas requise pour construire et utiliser des requêtes
Access. Vous utilisez l’Assistant Requête simple pour édifier une requête qui affiche quelques champs
des tables Voyages et Clients dans une feuille de données.
ÉTAPES
1. Démarrez Access, ouvrez la base de données VTA-B.accdb, activez le contenu si vous y
êtes invité, puis agrandissez la fenêtre.
Access offre plusieurs outils pour créer une nouvelle requête, dont l’Assistant Requête simple, qui vous
invite à entrer les informations nécessaires pour créer une nouvelle requête.
PROBLÈME 2. Cliquez sur l’onglet Créer du Ruban, cliquez sur le bouton Assistant Requête du groupe
Si une boite de dia- Requêtes, puis sur OK pour démarrer l’Assistant Requête simple.
logue s’affiche pour
vous informer d’un La première boite de dialogue Assistant Requête simple s’ouvre, vous invitant à sélectionner les champs que
risque de sécurité, vous voulez voir dans la nouvelle requête.
cliquez sur le bouton
Ouvrir. 3. Déroulez la liste Tables/Requêtes, cliquez sur Table : Voyages, double-cliquez sur
NomVoyage, double-cliquez sur Ville, double-cliquez sur Catégorie, puis double-cliquez
sur Prix.
Jusqu’ici, vous avez sélectionné quatre champs de la table Voyages pour cette requête. Vous voulez aussi
ajouter les champs du prénom et du nom de la table Clients, pour connaitre les noms des clients qui ont
acheté chaque voyage.
PROBLÈME 4. Déroulez la liste Tables/Requêtes, cliquez sur Table : Clients, double-cliquez sur Prénom,
Cliquez sur le bouton puis double-cliquez sur Nom.
Retrait d’un champ
s’il vous faut Pour cette nouvelle requête, vous avez sélectionné quatre champs de la table Voyages et deux champs de la
supprimer un champ table Clients (figure B-1).
de la liste Champs
sélectionnés. 5. Cliquez sur Suivant, cliquez sur Suivant pour accepter la requête détaillée proposée,
sélectionnez Voyages Requête dans la zone de texte, tapez VoyageClients comme titre
(et nom) de requête, puis cliquez sur Terminer.
La feuille de données de VoyageClients s’affiche avec les quatre champs de la table Voyages et les deux champs
de la table Clients (figure B-2). La requête peut afficher les clients qui ont acheté des voyages grâce à la
relation un-à-plusieurs établie dans la fenêtre Relations.

Access B-2 Créer et utiliser des requêtes

3_Access_B.indd 2 11-05-17 00:54


FIGURE B-1 : Choix des champs dans l’Assistant Requête simple

Flèche de liste
déroulante
Tables/Requêtes
Liste des champs
sélectionnés
Liste des champs
disponibles Quatre champs de
la table Voyages

Deux champs de
la table Clients

Access 2010
FIGURE B-2 : Feuille de données de la requête VoyageClients

Requête
VoyageClients

Deux champs
de la table
Quatre champs Clients
de la table
Voyages

80 enregistrements
au total

Créer et utiliser des requêtes Access B-3

3_Access_B.indd 3 11-05-17 00:54


B Travailler sur les données
d’une requête
Access 2010

Une feuille de données issue d’une requête permet d’entrer et de modifier des données de la même manière
que dans une feuille de données d’une table. Comme les données sont emmagasinées dans les tables,
chaque modification apportée dans la feuille de données d’une requête est reproduite de manière
permanente dans les tables sous-jacentes et sont automatiquement répercutées dans toutes les vues des
données des autres requêtes, des formulaires et des états. Vous souhaitez changer le nom de deux
voyages et corriger le nom d’un client. La feuille de données de la requête VoyageClients permet d’effectuer
ces modifications.
ÉTAPES
1. Double-cliquez sur marine dans le nom de voyage du premier ou du second
enregistrement de Découverte marine, entrez de la vie sous-marine, puis cliquez
sur un autre enregistrement.
Toutes les occurrences de Découverte marine sont automatiquement corrigées en Découverte de la vie sous-
marine parce que ce nom de voyage est enregistré une seule fois dans la table Voyages (figure B-3). Le nom du
voyage est extrait, sélectionné, à partir de la table Voyages et affiché dans la requête VoyageClients pour
chacun des clients ayant réservé ce voyage.
2. Double-cliquez sur Côté dans le champ Nom, entrez Martin, puis cliquez dans un autre
enregistrement.
Toutes les occurrences de Côté sont modifiées automatiquement en Martin car cette valeur du nom de famille
du client est enregistrée une seule fois dans la table Clients. Ce nom est sélectionné dans la table Clients et est
affiché dans la requête VoyageClients pour chaque voyage que ce client a acheté.
3. Cliquez sur le bouton du sélecteur d’enregistrement à gauche du premier enregistrement,
cliquez sur l’onglet Accueil, cliquez sur le bouton Supprimer du groupe Enregistrements,
puis cliquez sur Supprimer et sur Oui.
La suppression d’enregistrements dans la feuille de données d’une requête se déroule de la même manière que
la suppression dans la feuille de données d’une table. Notez que la barre de navigation indique désormais
79 enregistrements dans la feuille de données (figure B-4).
4. Cliquez du bouton droit sur l’onglet de la requête VoyageClients, puis cliquez sur Fermer.

Access B-4 Créer et utiliser des requêtes

3_Access_B.indd 4 11-05-17 00:54


FIGURE B-3 : Travailler sur les données dans la feuille de données d’une requête
Sélecteur
d’enregistrement
du premier
enregistrement

La modification
d’un enregistrement
de Découverte de
la vie sous-marine
met à jour tous ses
enregistrements
Changez Côté
en Martin

FIGURE B-4 : Feuille de données finale de VoyageClients

Onglet de

Access 2010
la requête
VoyageClients

Bouton
Supprimer

Côté est
remplacé
par Martin
dans
le Nom

La feuille de
données
contient
79 enregis-
trements

Créer et utiliser des requêtes Access B-5

3_Access_B.indd 5 11-05-17 00:54


B Utiliser le mode
Création de requête
Access 2010

Le mode Création de requête permet d’ajouter, de supprimer ou de déplacer les champs d’une requête
existante, de définir un ordre de tri ou encore d’ajouter un critère pour limiter le nombre d’enregistrements
affichés dans la feuille de données résultante. C’est aussi en mode Création de requête que vous édifierez de
nouvelles requêtes à partir de zéro. Le mode Création de requête énumère les champs que vous pouvez
utiliser dans cette requête, dans de petites fenêtres, les listes de champs. Si des champs de plusieurs tables
interviennent dans la requête, la relation entre deux tables est indiquée par une ligne de jointure, ou
ligne de lien, identifiant les champs qui servent à établir les relations. Michèle vous demande
d’imprimer une liste des voyages de type Aventure qui se déroulent dans les Alpes-Maritimes. Le mode Création
(de requête) vous aide à modifier la requête VoyagesParDépartement pour obtenir le résultat demandé.
ÉTAPES
1. Double-cliquez sur la requête VoyagesParDépartement pour revoir la feuille de données.
La requête VoyagesParDépartement contient le champ NomDépartement de la table Départements, ainsi que
les champs NomVoyage, DateDébutVoyage et Prix de la table Voyages.
2. Cliquez sur le bouton Affichage du groupe Affichages pour basculer en mode Création
de requête.
Le mode Création de requête affiche dans le volet supérieur de la fenêtre les tables utilisées dans la requête. La
ligne de jointure montre qu’un seul enregistrement de la table Départements peut être associé à plusieurs
enregistrements de la table Voyages. La grille de création de requête, ou grille de requête, dans le volet
inférieur de la fenêtre, affiche les noms des champs, les ordres de tri et les critères qui définissent la requête.
ASTUCE 3. Cliquez dans la première cellule Critères du champ NomDépartement, puis tapez
Les critères de requête Bouches-du-Rhône, comme à la figure B-5.
sont insensibles à la
casse des caractères Les critères sont des conditions de restriction que l’on définit dans la grille de création de requête. Dans ce
(majuscules et cas-ci, l’ajout de Bouches-du-Rhône à la première cellule Critères du champ NomDépartement réduit les
minuscules sont enregistrements sélectionnés aux seuls enregistrements qui comportent cette valeur pour le champ
considérées comme
identiques) ; par NomDépartement.
conséquent, Alpes- 4. Cliquez sur le bouton Affichage du groupe Résultats pour revenir au mode Feuille de
Maritimes équivaut
à ALPES-MARITIMES données.
et à alpes-maritimes. Cette fois, seuls trois enregistrements sont sélectionnés, parce que seulement trois voyages contiennent
« Bouches-du-Rhône » dans leur champ NomDépartement (figure B-6). Retenez que cette requête comporte
deux ordres de tri : le NomDépartement et le NomVoyage. Comme tous ces enregistrements possèdent le
même NomDépartement, ils sont automatiquement triés en ordre croissant de NomVoyage. Vous décidez
d’enregistrer cette requête sous un nouveau nom de requête.
5. Cliquez sur l’onglet Fichier, cliquez sur Enregistrer l’objet sous, entrez VoyagesBdR,
cliquez sur OK, puis sur l’onglet Accueil.
Sous Access, la commande Enregistrer de l’onglet Fichier enregistre l’objet en cours, tandis que la
commande Enregistrer l’objet sous permet d’enregistrer l’objet courant sous un nouveau nom. Ne
confondez pas : Access enregistre automatiquement les données quand vous vous déplacez d’un enregistrement
à un autre.
6. Cliquez du bouton droit sur l’onglet de la requête VoyagesBdR, puis cliquez sur Fermer.

Access B-6 Créer et utiliser des requêtes

3_Access_B.indd 6 11-05-17 00:54


FIGURE B-5 : Requête VoyagesParDépartement en mode Création de requête

Bouton
Affichage
Liste de champs
Liste de Départements
des champs
de Voyages

Ligne Noms des


de jointure champs

Cellule Critère
du champ Grille de
NomDépartement création de
requête

Ordres de tri

Access 2010
FIGURE B-6 : Feuille de données des VoyagesParDépartement avec le critère Bouches-du-Rhône
Seuls trois
enregistrements
sont sélectionnés

Les valeurs de
NomVoyage sont
tirées en ordre
croissant

Ajouter ou supprimer une table dans une requête


Vous pourriez souhaiter ajouter la liste de champs d’une autre table à groupe Paramétrage de requête, puis ajoutez la (ou les) table(s)
la partie supérieure de la fenêtre du mode Création de requête pour souhaitée(s). Pour supprimer une table inutile de la requête, cliquez
extraire des champs de cette table et les ajouter à la requête. Pour sur sa barre de titre et appuyez sur [Suppr].
ajouter une table à la requête, cliquez sur Afficher la table dans le

Créer et utiliser des requêtes Access B-7

3_Access_B.indd 7 11-05-17 00:54


B
Access 2010
Trier et rechercher des données
Les fonctions de tri et de recherche d’Access sont des outils pratiques qui vous aident à organiser et à
retrouver rapidement des données dans la feuille de données d’une table ou d’une requête. En plus de ces
boutons, vous pouvez à tout moment cliquer sur la flèche de liste de l’en-tête d’une colonne dans une feuille
de données, puis cliquer sur une option de tri. Michèle vous demande une liste des voyages triés par
DateDébutVisite, puis par Durée. Vous modifiez la requête VoyagesParCatégories pour obtenir cette requête.
ÉTAPES
1. Double-cliquez sur la requête VoyagesParCatégories dans le volet Navigation pour ouvrir
sa feuille de données.
Les enregistrements de la feuille de données de VoyagesParCatégories sont actuellement triés selon la
Catégorie, puis en ordre croissant de NomVoyage. Vous ajoutez le champ Durée à cette requête puis modifiez
l’ordre de tri des enregistrements.
2. Cliquez sur Affichage du groupe Affichages pour entrer dans le mode Création de
requête, puis double-cliquez sur le champ Durée de la liste des champs de Voyages.
Quand vous double-cliquez sur un champ d’une liste de champs, Access insère ce champ à l’emplacement libre
suivant de la grille de requête. Une autre possibilité consiste à sélectionner un champ d’une liste de champs, puis à le
glisser jusqu’à une colonne déterminée de la grille de requête. Pour sélectionner un champ dans la grille de requête,
cliquez sur son sélecteur de champ. Le sélecteur de champ est la mince barre grise qui surplombe chaque champ
dans la grille de requête. Si vous souhaitez supprimer un champ de la requête, cliquez sur son sélecteur de champ, puis
appuyez sur [Suppr]. Retenez que la suppression d’un champ dans la grille de requête ne supprime en aucun cas le
champ de la table sous-jacente ; ce champ n’est supprimé que de la vue logique des données offerte par la requête.
Actuellement, la requête VoyagesParCatégories est triée en ordre croissant de Catégorie, puis de NomVoyage.
Access évalue les ordres de tri de gauche à droite. Vous voulez trier cette requête d’abord en ordre de DateDébutVoyage,
puis de Durée.
3. Cliquez sur Croissant dans la cellule Tri de Catégorie, cliquez sur la flèche de liste de
la cellule, cliquez sur (Non trié), cliquez sur Croissant dans la cellule Tri de NomVoyage,
cliquez sur la flèche de liste de la cellule, cliquez sur (Non trié), double-cliquez dans
la cellule Tri de DateDébutVoyage pour imposer un tri croissant, puis double-cliquez dans
la cellule Tri de Durée pour imposer un tri Croissant.
Les enregistrements sont à présent réglés pour que l’ordre de tri soit croissant, d’abord par DateDébutVoyage,
puis par Durée (figure B-7). Comme les ordres de tri sont évalués de gauche à droite dans la grille de requête,
vous devrez parfois réarranger les champs avant de leur appliquer des ordres de tri lorsqu’ils s’appliquent à
plusieurs champs. Pour déplacer un champ dans la grille de création de requête, cliquez sur son sélecteur de
champ puis glissez-le vers la gauche ou vers la droite.
4. Cliquez sur Affichage du groupe Résultats pour afficher la feuille de données de
la requête.
La nouvelle feuille de données affi che le champ Durée dans la cinquième colonne. Les enregistrements sont triés en
ordre croissant du champ DateDébutVoyage. Si deux enregistrements possèdent la même date de début de voyage,
ils sont ensuite triés en ordre croissant de Durée. En mode feuille de données, vous pouvez imposer directement un
ordre de tri, grâce aux boutons Croissant et Décroissant de l’onglet Accueil mais, pour spécifier des ordres de tri sur
des champs multiples et non consécutifs, le mieux est de corriger la requête en mode Création. Votre tâche suivante
consiste à remplacer toutes les occurrences de « Visite de site » par « Culture » dans le champ Catégorie.
5. Cliquez sur le bouton Rechercher de l’onglet Accueil, entrez Visite de site dans la zone de
texte Rechercher, cliquez sur l’onglet Remplacer, cliquez dans la zone de texte Remplacer
PROBLÈME par, puis entrez Culture.
Si votre recherche et La boite de dialogue Rechercher et remplacer adopte l’aspect de la figure B-8.
remplacement n’a
pas fonctionné cor- 6. Cliquez sur le bouton Remplacer tout dans la boite de dialogue Rechercher et remplacer,
rectement, cliquez cliquez sur Oui pour poursuivre, puis cliquez sur Annuler pour fermer la boite de dialogue.
sur le bouton
Annuler de la Access a remplacé toutes les occurrences de « Visite de site » par « Culture » dans le champ Catégorie (figure B-9).
barre d’outils Accès 7. Cliquez du bouton droit sur l’onglet de la requête VoyagesParCatégories, cliquez sur
rapide et reprenez
les étapes 5 et 6. Fermer, puis cliquez sur Oui si vous êtes invité à enregistrer les modifications.

Access B-8 Créer et utiliser des requêtes

3_Access_B.indd 8 11-05-17 00:54


FIGURE B-7 : Changement d’ordres de tri dans la requête VoyagesParCatégories

Champ Durée de
la table Voyages
Les sélecteurs de
champs sont les
minces barres grises
au-dessus des noms
des champs

De nouveaux ordres
Les ordres de tri des de tri pour les champs
champs Catégorie et DateDébutVoyage
NomVoyage sont et Durée
supprimés

Access 2010
FIGURE B-8 : Boite de dialogue Rechercher et remplacer

Visite de site dans la zone


de texte Rechercher
Culture dans la zone
Remplacer par
Des options de recherche et
de remplacement existent Bouton Remplacer tout
pour affiner la recherche

FIGURE B-9 : Feuille de données de VoyagesParCatégories avec ses nouveaux ordres de tri

Bouton
Remplacer

Culture remplace Bouton


toutes les Rechercher
occurrences de
Visite de site DateDébutVoyage
dans le champ est le premier
Catégorie ordre de tri

Les enregistrements de même


DateDébutVoyage sont triés
selon les valeurs de Durée

Créer et utiliser des requêtes Access B-9

3_Access_B.indd 9 11-05-17 00:55


B
Access 2010
Filtrer des données
Le filtrage de la feuille de données d’une table ou d’une requête n’affiche temporairement que les
enregistrements qui satisfont un critère donné. Vous pourriez souhaiter n’afficher par exemple que les visites
possibles dans le département des Bouches-du-Rhône ou seulement les visites d’une durée de moins de sept
jours. Si les filtres offrent une manière rapide et simple d’afficher des sous-ensembles d’enregistrements dans
la feuille de données en cours, ils ne présentent pas toute la souplesse ni la puissance des requêtes. Plus
important, une requête se présente comme un objet enregistré dans la base de données, tandis qu’un filtre
n’est que temporaire et fugitif car Access le supprime à la fermeture de la feuille de données. Le tableau B-1
compare les filtres et les requêtes. Michèle vous demande de rechercher tous les voyages de catégorie
Aventure proposés au mois de juillet. Vous filtrez la feuille de données de Voyages pour obtenir ces informations.
ÉTAPES
ASTUCE 1. Double-cliquez sur la table Voyages pour l’ouvrir, cliquez sur une des occurrences
Pour appliquer un tri d’Aventure dans la colonne Catégorie, cliquez sur le bouton Sélection du groupe Trier
ou un filtre, vous
pouvez aussi cliquer et filtrer, puis cliquez sur Égal à « Aventure ».
sur la flèche de liste Vingt enregistrements sont sélectionnés dont la figure B-10 montre une portion. Une icône de filtrage apparait
à droite d’un nom à droite du champ Catégorie. Le filtrage en fonction d’une valeur sélectionnée, appelé Filtre par sélection,
de champ et choisir
l’ordre de tri ou les est une manière rapide et aisée de filtrer les enregistrements selon une correspondance exacte (« Égal à »). Pour
valeurs de filtre que filtrer une colonne en fonction de données comparatives, par exemple où DateDébutVoyage est égale ou
vous souhaitez. supérieure au 1er juillet 2012, vous utilisez de préférence la fonctionnalité Filtre par formulaire.
2. Cliquez sur le bouton Options avancées du groupe Trier et filtrer, puis cliquez sur Filtrer
par formulaire.
La fenêtre Filtre par formulaire s’ouvre. Le critère de filtrage précédent, « Aventure » dans le champ Catégorie,
apparait déjà dans la grille. Access opère une distinction entre les entrées textuelles et numériques en plaçant
des guillemets verticaux ( '') autour des critères de type texte.
ASTUCE 3. Cliquez dans la cellule DateDébutVoyage, puis entrez 2012-07-* (ou */07/2012, selon vos
Si vous devez effacer options régionales de dates, pourvu que l’astérisque figure à la place du jour), comme à
tous les critères pré-
cédents, cliquez sur la figure B-11.
le bouton Options Le filtre par formulaire permet d’appliquer plusieurs critères simultanés. L’astérisque à la position du jour dans
avancées, puis sur le critère de date fonctionne comme un caractère générique, c’est-à-dire qu’il sélectionne toute date dont le
Effacer tous les filtres.
mois est juillet, soit le 7e mois, de l’année 2012.
ASTUCE 4. Cliquez sur le bouton Activer/désactiver le filtre du groupe Trier et filtrer.
Assurez-vous de La feuille de données sélectionne neuf enregistrements correspondant aux deux critères de filtrage (figure B-12).
supprimer les filtres
existants avant de Notez que des icônes de filtrage apparaissent à droite des noms des champs DateDébutVoyage et Catégorie,
créer un tout nou- impliqués dans le filtre.
veau filtre, sinon,
votre nouveau filtre 5. Fermez la feuille de données de Voyages, puis cliquez sur Oui à l’invite d’enregistrement
s’appliquera au sous- des modifications.
ensemble d’enregis-
trements en cours,
L’enregistrement des modifications de la feuille de données sauvegarde les dernières modifications apportées
au lieu de s’appliquer aux ordres de tri et aux largeurs de colonnes mais pas aux filtres.
à l’ensemble des
enregistrements de
la feuille de données.

Utiliser des caractères génériques


Pour rechercher des données selon un patron, vous pouvez utiliser Les caractères génériques s’associent souvent à l’opérateur Comme.
des caractères génériques pour représenter tout caractère dans Ainsi, le critère Comme “2010-12-*” tente de retrouver les dates de
la définition des critères. Parmi les caractères génériques, le point décembre 2012 et le critère Comme “F*” recherche toutes les
d’interrogation (?) représente un seul caractère et l’astérisque (*) entrées commençant par la lettre F.
représente toute séquence d’un ou plusieurs caractères.

Access B-10 Créer et utiliser des requêtes

3_Access_B.indd 10 11-05-17 00:55


Figure B-10 : Filtrage de la table Voyages
Bouton Sélection

Le bouton Activer/
désactiver le filtre
est enclenché,
indiquant le filtrage
des enregistrements Icône de
filtrage

Bouton Flèches de Champ


Options liste de tri et Catégorie égal
avancées de filtre à Aventure

Figure B-11 : Critères du Filtrage par formulaire

Bouton Critère de Critère du champ


Activer/désactiver DateDébutVoyage Catégorie

Access 2010
le filtre

Figure B-12 : Résultats du Filtre par formulaire


Les icônes
de filtrage
avertissent
de l’application
de filtres

Les valeurs de La Catégorie est


DateDébutVoyage égale à Aventure
sont en juillet 2012

TABLEau B-1 : Comparaison des filtres et des requêtes

Caractéristiques Filtres Requêtes


Sont enregistrés en tant qu’objet dans la base de données Non Oui
Permettent de sélectionner un sous-ensemble d’enregistrements dans une feuille de données Oui Oui
Permettent de sélectionner un sous-ensemble de champs dans une feuille de données Non Oui
La feuille de données résultante autorise l’entrée et la modification de données Oui Oui
La feuille de données résultante accepte le tri, le filtrage et la recherche d’enregistrements Oui Oui
Servent habituellement de source de données à un formulaire ou un état Non Oui
Permettent de calculer des sommes, des moyennes, des comptages et d’autres statistiques Non Oui
parmi les enregistrements
Autorisent la création de champs calculés Non Oui

Créer et utiliser des requêtes Access B-11

3_Access_B.indd 11 11-05-17 00:55


B
Access 2010
Appliquer des critères ET
Vous venez de voir que vous pouvez limiter le nombre des enregistrements affichés dans la feuille de
données d’une requête grâce à des critères placés dans la grille de requête en mode Création. Les
critères sont des tests ou des conditions de restriction, que chaque enregistrement doit respecter pour
être sélectionné dans la feuille de données. Pour créer des critères ET, ce qui exige que tous les critères
soient simultanément vrais pour chaque enregistrement affiché, entrez deux critères ou plus dans la
même ligne Critère de la grille de requête. Michèle vous demande d’imprimer une liste des
visites du département de Paris (75) et de catégorie Formation, dont la durée est de sept jours ou plus.
Vous utilisez la grille de requête en mode Création pour entrer les critères ET qui constituent la requête.
ÉTAPES
1. Cliquez sur l’onglet Créer du Ruban, cliquez sur le bouton Création de requête du groupe
Requêtes, double-cliquez sur Voyages, puis cliquez sur Fermer dans la boite de dialogue
Afficher la table.
Vous voulez ajouter à la requête quatre champs de la table Voyages.
2. Faites glisser vers le bas le bord inférieur de la liste des champs de Voyages pour afficher
tous les champs, double-cliquez sur NomVoyage, double-cliquez sur Durée, double-
cliquez sur CodeDépartement, puis double-cliquez sur Catégorie pour ajouter tous ces
champs à la grille de requête.
Vous commencez la définition des critères par sélectionner les enregistrements de Paris. Comme vous utilisez le
champ CodeDépartement, vous devez utiliser comme valeur de Critère le code en deux caractères de Paris, soit 75.
3. Cliquez dans la première cellule Critère du champ CodeDépartement, tapez 75, puis
cliquez sur Affichage pour afficher les résultats.
La requête qui limite l’affichage aux voyages qui se déroulent à Paris affiche 6 enregistrements. Ensuite, vous
ajoutez un critère pour ne sélectionner que les enregistrements de la catégorie Formation.
4. Cliquez sur Affichage pour basculer en mode Création, cliquez dans la première
cellule Critère du champ Catégorie, entrez Formation, puis cliquez sur .
Les critères ajoutés sur la même ligne de la grille de création de requête sont des critères ET. Lorsqu’entrés sur
la même ligne, les critères doivent être tous vrais pour que des enregistrements apparaissent dans la feuille de
données résultante. Ainsi, la requête qui sélectionne les enregistrements respectant à la fois le code de
département 75 et la catégorie Formation sont au nombre de trois, dont les durées sont de 3, 7 et 9 jours.
Chaque fois que vous ajoutez des critères ET, vous réduisez le nombre d’enregistrements sélectionnés car les
enregistrements doivent être vrais pour tous les critères.
5. Cliquez sur , cliquez dans la première cellule Critère du champ Durée, puis
entrez >=7, comme à la figure B-13.
Access vous assiste dans la syntaxe des critères, c’est-à-dire les règles qui régissent l’entrée des critères. Ainsi,
il entre automatiquement des guillemets verticaux (“) autour des critères textuels des champs de type Texte
(“75” et “Formation”) et des signes dièse (#) autour des dates dans les critères des champs de type Date/Heure.
Les critères des champs de types Numérique, Monétaire et Oui/Non ne sont entourés d’aucun caractère. Le
PROBLÈME
Si votre feuille de
tableau B-2 donne des informations supplémentaires sur les opérateurs de comparaison, comme > (supérieur à).
données ne corres­ 6. Cliquez sur pour afficher la feuille de données de la requête.
pond pas à la figure
B-14, revenez en Le troisième critère ET réduit le nombre d’enregistrements sélectionnés à deux (figure B-14).
mode Création et
comparez vos
7. Cliquez sur Enregistrer dans la barre d’outils Accès rapide, entrez Formation75 en
critères à ceux de guise de nom de requête, cliquez sur OK, puis fermez la requête.
la figure B-13. La requête est enregistrée sous un nouveau nom, Formation75, en tant que nouvel objet de la base de données VTA-B.

Rechercher des champs vides


Est Null et Est Pas Null sont deux autres types de critères usuels de qui comportent une information, quelle qu’elle soit, même 0,
recherche. Le critère Est Null recherche tous les enregistrements dans le champ correspondant. Notez cependant que les champs
pour lesquels aucune information n’est présente dans le champ clés primaires ne peuvent jamais être vides.
correspondant. Est Pas Null recherche tous les enregistrements

Access B-12 Créer et utiliser des requêtes

3_Access_B.indd 12 11-05-17 00:55


Figure B-13 : Requête en mode Création avec des critères ET

Cliquez sur
le bouton
Affichage
pour obtenir
les résultats
de la requête

Faites glisser
vers le bas le bord
inférieur de la liste
des champs de
Voyages

Ces critères ET
définissent
l’affichage des
voyages de catégorie
Formation dans le
département 75, qui
durent une semaine
ou plus

Access 2010
Figure B-14 : Feuille de données finale de la requête Formation75

Bouton
Enregistrer

Ces trois critères sont simultanément


vrais pour ces enregistrements : une
durée de >=7 jours, 75 et Formation

TABLEAU B-2 : Opérateurs de comparaison

Opérateur Description Expression Signification


> Supérieur à >500 Nombres supérieurs à 500
>= Supérieur ou égal à >=500 Nombres supérieurs ou égaux à 500
< Plus petit que <“Boulanger” Tous les noms de A jusqu’à Boulanger mais pas Boulanger
<= Inférieur ou égal à <=“Cardinal” Tous les noms de A jusqu’à Cardinal inclus
<> Différent de <>“Cyclone” Tout nom différent de Cyclone

Créer et utiliser des requêtes Access B-13

3_Access_B.indd 13 11-05-17 00:55


B
Access 2010
Appliquer des critères OU
Les critères OU signifient qu’au moins un des critères doit être vrai pour qu’un enregistrement soit
sélectionné. Pour créer des critères OU, entrez deux critères ou plus sur des lignes Critère différentes dans la
grille de requête. Pour créer des critères OU pour le même champ, vous pouvez aussi entrer les deux critères
dans la même cellule, séparés par l’opérateur OU. À mesure que vous ajoutez des lignes de critères OU à la
grille de la requête, vous augmentez le nombre d’enregistrements sélectionnés dans la feuille de données de
résultats car les enregistrements ne doivent satisfaire qu’une seule des lignes de critères pour apparaitre dans
la sélection. Michèle vous demande d’ajouter à la requête précédente les voyages culturels de sept
jours ou plus du même département. Pour obtenir ces résultats, vous modifiez une copie de la requête
Formation75 pour y appliquer les critères OU.
ÉTAPES
1. Dans le volet de navigation, cliquez du bouton droit sur la requête Formation75,
cliquez sur Copier, cliquez du bouton droit dans une zone vide du volet de navigation,
cliquez sur Coller, entrez FormationCulture75 dans la boite de dialogue Coller sous,
puis cliquez sur OK.
En copiant ainsi la requête Formation75 avant d’y apporter des modifications, vous évitez d’abimer par erreur
la requête originale.
2. Dans le volet de navigation, cliquez du bouton droit sur la requête FormationCulture75,
cliquez sur Mode création, cliquez dans la deuxième cellule Critère du champ Catégorie,
entrez Culture, puis cliquez sur le bouton Affichage pour visualiser la feuille de
données de la requête.
Cette requête sélectionne onze enregistrements, dont tous les voyages qui contiennent Culture dans le champ
Catégorie. Notez au passage que certains de ces enregistrements ont une durée inférieure à 7 et que certains
enregistrements concernent d’autres départements que le 75. Comme chaque ligne de critère est évaluée
séparément des autres, tous les enregistrements de catégorie Culture sont sélectionnés, quels que soient les
critères des autres lignes. En d’autres termes, les critères d’une ligne n’ont aucun effet sur ceux des autres
lignes. Pour garantir que les voyages sélectionnés se passent dans le département 75 et qu’ils durent sept jours
ou plus, vous devez modifier la seconde ligne Critère de la grille de requête (la ligne « ou ») pour y indiquer
également ces critères.
ASTUCE 3. Cliquez sur Affichage , cliquez dans la deuxième cellule Critère sous le champ Durée,
Les boutons Mode entrez >=7 , cliquez dans la deuxième cellule Critère sous le champ CodeDépartement,
Feuille de données,
Création et d’autres entrez 75.
sont également dis- La figure B-15 montre les critères appliqués dans la grille de création de requête.
ponibles dans le coin
inférieur droit de la 4. Cliquez sur pour afficher la feuille de données de la requête.
fenêtre d’Access. Trois enregistrements satisfont aux trois critères de la première ligne ou de la seconde ligne de la grille de
requête, comme en atteste la figure B-16.
5. Cliquez du bouton droit sur l’onglet de la requête FormationCulture75, cliquez sur
Fermer, puis cliquez sur Oui pour enregistrer et fermer la feuille de données de la
requête.

Access B-14 Créer et utiliser des requêtes

3_Access_B.indd 14 11-05-17 00:55


Figure B-15 : Grille de création de requête avec les critères OU

Placez les critères


OU sur deux lignes
pour sélectionner à
la fois les voyages
de catégories
Formation et Culture,

Access 2010
du 75 et dont la
durée est supérieure
ou égale à 7 jours

Figure B-16 : Feuille de données finale de la requête FormationCulture75

Les trois critères sont vrais au moins


pour une des deux lignes de critères :
une durée >= 7, 75 et Formation
ou
une durée >=7, 75 et Culture

Créer et utiliser des requêtes Access B-15

3_Access_B.indd 15 11-05-17 00:55


B Mettre en forme une feuille
de données
Access 2010

Si le principal outil d’Access pour créer un rapport de qualité professionnelle est l’objet état, vous pouvez
néanmoins mettre en forme et imprimer une feuille de données. L’impression d’une feuille de données ne
vous permet pas d’ajouter des en-têtes ni des pieds de page personnalisés, ni des images, ni des sous-totaux
comme les états l’autorisent mais vous pouvez modifier quelques éléments de mise en forme, tels que la
police et sa taille, les couleurs et le quadrillage. Michèle vous demande d’imprimer une liste des
clients. Vous décidez de mettre en forme la feuille de données de la table Clients avant de l’imprimer.
ÉTAPES
1. Dans le volet de navigation, double-cliquez sur la table Clients pour l’ouvrir en mode
Feuille de données.
Avant d’appliquer les améliorations de présentation, vous visualisez l’aperçu avant impression de la table dans
sa forme actuelle.
2. Cliquez sur l’onglet Fichier, cliquez sur Imprimer, cliquez sur Aperçu avant impression,
puis cliquez sur l’en-tête de l’aperçu pour zoomer dans l’image.
La fenêtre de prévisualisation affiche l’aperçu de la future page imprimée (figure B-17). Par défaut, l’aperçu de
la feuille de données place le nom de l’objet et la date dans l’en-tête, tandis qu’un numéro de page figure en
pied de page.
3. Cliquez sur le bouton Page suivante dans la barre de navigation pour afficher le con-
tenu de la page suivante de l’aperçu.
Les trois derniers champs figurent sur la deuxième page parce que la première page n’est pas suffisamment
large pour les accueillir. Vous décidez de modifier en paysage l’orientation de la page, pour que tous les
champs soient imprimés sur la même page, puis d’augmenter la taille de police pour faciliter la lecture.
4. Cliquez sur le bouton Paysage du groupe Mise en page, puis cliquez sur le bouton Fermer
l’aperçu avant impression.
Vous revenez à l’affichage en mode Feuille de données, où vous pouvez appliquer des choix de police, de taille
et de couleur de police, ainsi que de couleurs de quadrillage et d’arrière-plan.
5. Cliquez sur la flèche de liste de Police du groupe Mise en forme du
texte, cliquez sur Times New Roman, déroulez la liste de Taille de police , puis
cliquez sur 12.
Avec cette taille de police plus grande, le contenu de certains champs n’est plus visible en totalité et vous
devez corriger la largeur de certaines colonnes pour en imprimer et afficher le contenu complet.
6. Utilisez le pointeur pour double-cliquer sur le séparateur des noms des champs
Adresse et Ville, faites de même sur le séparateur des noms des champs CP et Téléphone,
procédez de même sur le séparateur des noms des champs Téléphone et PremierContact,
puis avec le séparateur à droite du nom de champ PremierContact.
Le double-clic sur le séparateur à droite d’un champ augmente ou réduit, si nécessaire, la largeur de la colonne
pour qu’elle affiche la totalité du contenu de ce champ (figure B-18).
ASTUCE 7. Cliquez sur l’onglet Fichier, cliquez sur Imprimer, puis cliquez sur Aperçu avant impression.
S’il vous faut une Tous les champs apparaissent à présent sur une seule page en largeur, en orientation paysage. L’aperçu occupe
copie sur papier de
cette feuille de don- encore deux pages, mais grâce à la taille de police légèrement plus importante, la lecture des données est facilitée.
nées, cliquez sur le 8. Cliquez du bouton droit sur l’onglet de la table Clients, cliquez sur Fermer, puis sur Oui
bouton Imprimer de
l’onglet Aperçu à l’invite d’enregistrement des modifications, cliquez sur l’onglet Fichier, puis cliquez sur
avant impression, Quitter pour fermer la base de données VTA-B.accdb et quitter Access 2010.
puis cliquez sur OK.

Access B-16 Créer et utiliser des requêtes

3_Access_B.indd 16 11-05-17 00:55


Figure B-17 : Aperçu avant impression de la feuille de données Clients
Bouton Fermer
l’aperçu avant
impression
Bouton
Paysage
Date actuelle
En-tête
dans l’entête
de page

Nom de l’objet
dans l’en-tête

Access 2010
Figure B-18 : Feuille de données mise en forme

Séparateur Flèche de Flèche de Autre


de champs liste Police liste Taille séparateur
de police de champs

Créer et utiliser des requêtes Access B-17

3_Access_B.indd 17 11-05-17 00:55


Cours ACCESS Les requêtes

1. Introduction.................................................................................................2

2. Création d'une requête ..................................................................................2

3. Définition des critères de sélection...................................................................5


3.1 Opérateurs .............................................................................................5
3.2 Les Fonctions ..........................................................................................6
3.3 Plusieurs critères portant sur des champs différents.......................................7
3.4 Requête paramétrée ................................................................................8

4. Les requêtes multitables ................................................................................9

5. Les fonctions de regroupement...................................................................... 10


5.1 Les opérations....................................................................................... 11
5.2 Quelques exemples ................................................................................ 12

6. Les requêtes d'analyse croisée ...................................................................... 13

7. Les requêtes ACTION................................................................................... 14


7.1 Les requêtes Création............................................................................. 14
7.2 Les requêtes Ajout ................................................................................. 15
7.3 Les requêtes Mise à Jour......................................................................... 16
7.4 Les requêtes Suppression........................................................................ 17

Page 1 sur 17
Cours ACCESS Les requêtes

LES REQUETES

1. Introduction

Les requêtes vont servir à afficher uniquement certaines données contenues dans les tables selon certains
critères. Elles peuvent aussi faire des calculs sur vos données, ainsi que créer des sources de données pour
les formulaires, les états ou même d'autres requêtes (on peut faire une requête sur le résultat d'une autre
requête). Elles servent encore à modifier des tables existantes ou à en créer des nouvelles.

Il existe différents types de requêtes que nous allons détailler après :

?? L a r e q u ê t e s é l e c t i o n : C'est celle qu'on utilisera le plus souvent. Elle permet de sélectionner des
enregistrements, de faire des calculs et des regroupements. Elles ressemblent beaucoup aux filtres, mais
permettent, en plus, de travailler sur plusieurs tables simultanément.
?? L a r e q u ê t e d ' A n a l y s e c r o i s é e : Cette requête présente ses résultats sous forme de tableau (de type
Excel). On l'utilisera pour comparer des valeurs, dégager des tendances.
?? L a r e q u ê t e d e C r é a t i o n d e t a b l e : Cette requête crée une table à partir des données qu'elle a extraites
dans une ou plusieurs autres tables.
?? L a r e q u ê t e M i s e à J o u r : Cette requête modifie le contenu d'un ou plusieurs champs d'une ou
plusieurs tables. C'est le moyen le plus efficace pour mettre à jour un grand nombre d'enregistrements
en une seule opération.
?? L a r e q u ê t e A j o u t : Cette requête ajoute les données qu'elle a extraites à la fin d'une table déjà
existante.
?? L a r e q u ê t e S u p p r e s s i o n : Cette requête supprime un ou plusieurs enregistrements dans une ou
plusieurs tables.

Les trois derniers types de requêtes ne seront pas étudiés :

?? La requête SQL direct


?? La requête de définition de données
?? La requête UNION

2. Création d'une requête

Dans la fenêtre principale d'Access, cliquez sur l'onglet "Requêtes", puis sur le bouton "Nouveau".

Page 2 sur 17
Cours ACCESS Les requêtes

Access nous propose 5 façons de créer une requête :

?? M o d e c r é a t i o n : nous allons créer la requête de A à Z par nous-mêmes


?? A s s i s t a n t d e R e q u ê t e s i m p l e : Crée une requête simple sur une ou plusieurs tables, on pourra, dans
cette requête simple, faire des calculs, des regroupements.
?? A s s i s t a n t d e R e q u ê t e d ' a n a l y s e c r o i s é e : Aide à la création d'une requête d'analyse croisée
?? A s s i s t a n t d e R e q u ê t e t r o u v e r l e s d o u b l o n s : Localise les enregistrements doublons dans une table
ou une requête.
?? As s i s t a n t d e R e q u ê t e d e n o n -c o r r e s p o n d a n c e : Localise les enregistrements d'une table auxquels
ne correspond aucun autre enregistrement d'une autre table. On peut, par exemple, utiliser un tel type de
requête pour localiser les clients qui n'ont pas passé de commande.

Comme nous ne reculons pas devant l'effort, nous allons créer les requêtes par nous même, nous cliquons
donc sur Mode Création, puis, sur OK :

Access nous affiche la liste des tables de la base. Nous choisissons ici les tables sur lesquelles vont porter la
requête. Nous allons prendre pour exemple la requête "liste des clients habitant la ville
de Paris". La requête va donc porter sur la table "Clients", on la sélectionne, et on clique sur "Ajouter",
comme il n'y a aucune autre table à ajouter, on clique sur "Fermer".

Notez qu'on peut aussi faire porter la requête sur le résultat d'une autre requête, dans ce cas, on choisira la
requête dans l'onglet "Requête".

Dans la partie supérieure de la fenêtre se trouvent la ou les tables avec la listes de leur champs, c'est sur ces
tables que vont porter les requêtes. Dans la partie inférieure, se trouve la description de la requête.

Page 3 sur 17
Cours ACCESS Les requêtes

Voici notre requête :

Nous avons un tableau composé de colonnes et de lignes, dans chaque colonne, on indique les champs qui
vont apparaître dans le résultat de la requête ou qui vont servir dans la requête, ici on veut la liste des clients
habitant Saint-Quentin, on veut donc voir apparaître le champ Nom et le champ Prénom, le critère de la
requête va se faire sur le champ ville, on ajoute donc aussi ce champ.

Pour ajouter un champ, on peut, soit le sélectionner dans la table et l'amener avec la souris sur une colonne,
soit on clique sur la ligne "Champ", la liste de tous les champs s'affiche alors et on en sélectionne un dans la
liste. Un des champs proposé s’appelle '*', ce champ signifie "tous les champs de la table", si on choisi ce
champ, tous les champs de la table apparaitront dans le résultat de la requête, en plus des autres champs que
vous aurez choisis.

La ligne "Table" sert à selectionner la table à laquelle appartient le champ sélectionné, dans notre cas, il n'y
a qu'une table, le choix est vite fait.

La colonne "Tri" indique de quelle façon vont être triés les champs dans le résultat de la requête : il y a trois
sortes de tri : Croissant (de A à Z), Décroissant (de Z à A) et non trié. On a choisi ici de trier le résultat de la
requête par nom et par prénom de façon croissante. Le tri se fait toujours de gauche à droite : le résultat de la
requête sera d'abord trié par nom, puis par prénom.

La colonne "Afficher" indique si le champ doit être affiché ou non, ici on veut afficher le nom et le prénom
de chaque client habitant à Saint-Quentin, mais on a pas besoin d'afficher, pour chaque client, la ville dans
laquelle il habite, puisqu'il s'agira toujours de Saint-Quentin, on a donc déselectionné l'affichage du champ
"Ville".

Enfin la colonne "Critères" va indiquer le critère de la requête, on veut la liste des clients habitant Sain-
Quentin, le critère est donc : le champ ville doit être égal à Saint-Quentin, d'où le critère = "Saint-Quentin".

Pour éxecuter la requête, on clique sur l'icône :

Access affiche le résultat :

Le résultat de la requête s'affiche sous la forme d'une table que l'on peut modifier comme si il s'agissait
d'une table normale, on peut ajouter des enregistrements, les modifier, faire des filtres, des tris, etc...

Page 4 sur 17
Cours ACCESS Les requêtes

Attention : Les résultats des requêtes, même si ils sont présentés sous forme de tables ne sont pas de
véritables tables qu’aurait généré la requête. Ils ne sont qu'une "vue" faite à partir des tables qui ont servi à
faire la requête. Autrement dit, si vous modifiez quelque chose dans le résultat de la requête, la modification
se repercutera dans la table qui a servi à faire la requête, si on change ici le nom du client, la modification
sera reportée dans la table Clients, si on ajoute un client au résultat de la requête, un nouvel enregistrement
va être crée dans la table Clients, et en plus, cet enregistrement sera incomplêt car seuls deux champs
auront pu être saisis dans le résultat de la requête (les champs nom & prénom).

3. Définition des critères de sélection

3.1 Opérateurs

On peut utiliser dans les requêtes les opérateurs suivants :

Opérateur Signification
= Egal
<> Différent
< Inférieur
> Supérieur
<= Inférieur ou égal
>= Supérieur ou égal

Access met à notre disposition d'autres opérateurs :

Opérat eur Signification Exemple


Entre Sélectionne les enregistrements pour Entre "A" et "C"
lesquels la valeur d'un champ est Entre 10 et 20
comprise dans un intervalle de Entre #01/01/99# et #31/12/99#
valeurs.
Dans Sélectionne les enregistrements pour Dans ("Paris";"Saint-Quentin")
lesquels la valeur d'un champ est
comprise dans une liste.
Est Sélectionne les enregistrements pour Est NULL
lesquels un champ est vide ou non Est pas NULL
Comme Sélectionne les enregistrements Comme "rue*"
contenant une donnée approximative.
Pas Sélectionne les enregistrements ne Pas Entre "A" et "C"
correspondant pas au critère

Page 5 sur 17
Cours ACCESS Les requêtes

3.2 Les Fonctions

On peut intégrer des fonctions dans les critères de sélection. Access met à notre disposition un très grand
nombre de fonctions (pour en avoir la liste complète, consultez l'aide intégrée à Access). Ce sont les mêmes
fonctions que celles qui sont utilisés dans les contrôles des formulaires (et d’ailleurs dans tous les logiciels
de la gamme Microsoft Office).

Par exemple, parmi ces fonctions, on trouve la fonction Mois ( ), à qui on passe une date en paramètre, cette
fonction renvoie le mois de cette date, par exemple Mois (#10/2/98#) renvoie 2. Une autre fonction, Date ( )
renvoie la date du jour. On peut utiliser ces deux fonctions dans des critères de sélection :

Par exemple, pour obtenir la liste des commandes du mois d'octobre :

Notez que pour faire référence au champ "Date de la commande" dans la fonction Mois ( ), on a écrit le
champ entre crochets [ ]. On utilise les crochets lorsqu’on travaille avec un champ dont le nom comporte
des espaces. Par extension et par mesure de précaution, on les utilisera avec tout type de champ.

Ou pour obtenir la liste des commandes passées il y a moins d'un mois :

Il existe un très grand nombre de fonctions, pour en avoir la liste et la syntaxe, consultez l'aide intégrée à
Access.

Page 6 sur 17
Cours ACCESS Les requêtes

3.3 Plusieurs critères portant sur des champs différents

On peut avoir plusieurs critères de sélection, ces critères étant séparés entre eux par des OU ou des ET, par
exemple : "liste des clients habitant à Saint-Quentin OU à Paris", "Liste des
clients s'appelant Dupont ET vivant à Paris".

1- Liste des clients s'appelant Dupont et vivant à Saint-Quentin

La requête ressemble à la précédente, sauf que là, il y a deux critères : le premier Nom = "Dupont" ET le
deuxième Ville = "Paris". Vous noterez au passage qu'il n'est pas nécessaire d'afficher le contenu du champ
"ville" puisqu'on sait que ce sera toujours Paris. Vous me direz que c'est la même chose avec "Nom", certes,
mais c'est mieux d'avoir une liste de nom + prénom qu'une seule liste de prénom.

2- Liste des clients habitant Saint-Quentin OU Paris

Quelle est la différence ?

Les deux critères ne sont plus sur la même ligne. Ils sont sur deux lignes séparées. Le premier est sur la
ligne "Critères", le second sur la ligne "Ou". Si on avait voulu ajouter un troisième critère (Liste des clients
habitant Saint-Quentin OU Paris OU Lille), on aurait ajouter le critère = "Lille" sur une troisième ligne et
ainsi de suite.

Page 7 sur 17
Cours ACCESS Les requêtes

En règle générale :

?? Si deux critères sont séparés par des ET, on les place sur la même ligne.
?? Si deux critères sont séparés par des OU, on les place sur des lignes différentes.

3.4 Requête paramétrée

Pour l'instant, les critères de chaque requête que nous avons fait étaient indiqués explicitement dans la
requête. Supposons maintenant que nous voulions faire une requête du type :

« Liste de tous les clients qui habitent dans une ville » mais qu’on veuille
entrer nous même la ville.

On ne connaît pas par avance la ville en question, et on ne va pas préparer autant de requêtes qu'il peut y
avoir de villes (on n'est pas sorti de l'auberge), la solution la plus simple est alors de demander à l'utilisateur
(l'utilisateur, c'est celui qui va utiliser votre requête plus tard) d'entrer la ville, et de faire la requête en
fonction de ce qu'il a entré.

Pour faire ça, on procède ainsi :

Au lieu d'indiquer une ville, on a mis =[Entrez la ville]. Que va-t-il se passer lorsqu'on va exécuter la
requête?

Habituellement, pour Access, tout ce qui est indiqué entre crochets est le nom d'un champ, si on avait mis
par exemple = [Nom], il aurait cherché les clients qui habitent une ville qui s'appelle comme leur nom. Or
ici, [Entrez la ville] n'est pas un nom de champ, Access ne sait donc pas ce que c'est, et il demande à
l'utilisateur d'entrer la valeur de ce champ inconnu :

L'utilisateur va entrer ici la ville (notez que le message affiché est ce qui était indiqué entre crochets dans la
requête). Maintenant, à chaque fois que Access va rencontrer dans la requête [Entrez la ville], il va le
remplacer par ce qu'à saisi l'utilisateur. Si l'utilisateur a saisi Paris, Access va remplacer dans son critère
=[Entrez la ville] par = "Paris".

Page 8 sur 17
Cours ACCESS Les requêtes

4. Les requêtes multitables

Pour l'instant, nos requêtes ne portaient que sur une seule table, il est possible de faire des requêtes qui
portent sur plusieurs tables simultanément. Dans ce cas, les requêtes peuvent être très complexes.

Par exemple, si nous voulons la liste des clients ayant commandé le produit n° 1 :

Avec le bouton : , on affiche la liste des tables de la base.

On va choisir ici toutes les tables entrant en jeu pour pouvoir faire la requête. Ici on veut la liste des clients,
il faut donc la table clients. "ayant commandé", il faut donc la table commandes, "le produit n°1", il faut
donc la table produits. Il faut aussi faire intervenir la table "Lignes-commandes".
Pourquoi ? parce que c'est elle qui fait la liaison entre la table commande et la table produits. De façon
générale, lorsqu'on fait une requête portant sur plusieurs tables, il faut respecter deux règles :

?? Toutes les tables intervenant dans la requêtes doivent être reliées entre elles, il ne doit pas y avoir de
tables isolées, sinon, Access va essayer de trouver lui-même les relations entre ces tables isolées et
parfois le résultat peut être folkorique.

?? Il ne doit pas y avoir de tables n'ayant rien à faire dans la requête, sinon, Access va se baser sur les
relations entre ces tables n'ayant rien à voir avec la choucroute et celles ayant à voir et va donner des
résultats erronés.

En résumé : toutes les tables nécessaires, mais pas plus.

Vous pouvez noter que, une fois les bonnes tables installées avec les bonnes relations entre elles, la requête
est fort simple, il suffit d'indiquer produits=1, et Access, grâce aux relations, va retrouver la liste des clients
ayant commandé ce produit.

Page 9 sur 17
Cours ACCESS Les requêtes

5. Les fonctions de regroupement

Jusqu'à présent, nos requêtes nous permettaient de répondre à des questions du type : "Liste des clients
habitant Paris", "Liste des produits commandés par le client 1". Grâce aux fonctions de regroupement, nous
allons pouvoir répondre à des questions du type : "Combien de clients habitent Paris ?" ou
"Pour combien à commandé chaque client ?".

Pour cela, cliquez sur le bouton :

Une nouvelle ligne "Opération" apparaît dans la requête, c'est grâce à elle que nous allons faire nos
opérations.

1- Combien de clients habitent Paris

Qu'y-a-t-il de différent ?

Nous avons deux champs : nous allons compter le nombre de clients, chaque client a un numéro, on insère
donc dans la requête le numéro de client, c'est le nombre de ces numéros que nous allons compter, il faut
qu'on compte les clients habitant Paris, d'où le deuxième champ Ville.

La différence est sur la ligne Opération :

Elle indique comment va se faire l'opération, si nous voulons compter, on va choisir l'opération "compte".
Dans tous les champs où il y a un critère de sélection (ici Ville = "Paris"), on choisira l'opération où. Le
résultat de la requête sera une table avec un unique champ, non modifiable, qui indiquera le nombre de
clients habitant Paris.

Page 10 sur 17
Cours ACCESS Les requêtes

2- Montant commandé par chaque client

Ca se corse !

Ici, on veut, par client, la somme de ses commandes. A partir du moment où on veut un résultat par
catégorie (une somme par client, un nombre de clients par ville, etc…), il y a regroupement, ici on veut la
somme des commandes regroupées par clients, c'est pour ça qu'on a choisi comme opération pour numéro de
client "Regroupement".

Pourquoi a-t-on ajouté le champ "nom" ? Simplement pour ne pas avoir une liste de numéros avec un
montant correspondant. Pourquoi dans ce cas, n'a-t-on pas regroupé les clients par leur nom au lieu de le
faire par numéro et nom ? parce que plusieurs clients peuvent avoir le même nom et qu'on ne veut pas
cumuler le montant des commandes par clients homonymes, on regroupe donc les clients par numéro et
nom.

Enfin, le troisième champ : on veut la somme du montant des commandes : qu'est-ce qu'une commande ?
c'est une liste de prix unitaires * une quantité. A la place d'un champ, on indique donc qu'on veut les prix
unitaires * les quantités. La syntaxe est [nom de la table]![champ de la table], une commande, c'est donc
une liste de [produits]![prix unitaire] * [lignes_commandes]![quantité]. Et on veut la somme de toutes ces
commandes, on choisi donc l'opération "Somme".

5.1 Les opérations

En plus de la somme et de compte, il existe d'autres opérations possibles :

Opérat ion Signification


Compte Compte le nombre de valeurs
Dernier Valeur du dernier enregistrement
Ecartype Ecart type
Max Valeur la plus élevée
Min Valeur la plus faible
Moyenne Moyenne
Premier Valeur du permier enregistrement
Somme Total
Var Variance

Page 11 sur 17
Cours ACCESS Les requêtes

5.2 Quelques exemples

Voici quelques exemples de requêtes :

Nombre de clients nommés "Dupont" par ville

Liste des clients ayant commandé plus de 1000 F du produit 1

Page 12 sur 17
Cours ACCESS Les requêtes

6. Les requêtes d'analyse croisée

Les requêtes d'analyse croisée permettent de répondre à des questions du type "qui à commandé combien de
quoi ?". Elles retournent le résultat sous forme d'un tableau comportant des champs en abscisse et en
ordonnée, avec, dans chaque case la réponse à notre question.

Exemple : Qui a commandé combien de quoi ?

Qui Qui
Quoi Combien Combien
Quoi Combien combien

L'en-tete "Qui" va contenir le nom des clients


L'en-tête "Quoi" va contenir la liste des produits
Et combien va donner, pour chaque client, le nombre de produits qu'il a commandé.

Comment procéde-t-on ?

1. D'abord on crée une requête standard : pour cette requête nous avons besoin du nom dans la table
clients, du libellé du produit dans la table produit et de la quantité commandé dans la table lignes-
commandes.
2. On transforme la requête en requête d'analyse croisée en allant dans le menu "Requête" et en choisissant
"Analyse croisée".
3. Une nouvelle ligne apparaît dans la requête : la ligne "Analyse"
4. Dans cette ligne, on va indiquer si le champ qu'on a choisi va être l'en-tête des colonnes, l'en-tête des
lignes ou la valeur contenue dans les cases du tableau.
5. L'Opération pour les en-têtes est toujours "Regroupement"
6. L'Opération pour les valeurs des cases dépend de ce qu'on cherche, ici on cherche le nombre de produits
acheté, l'opération est donc "Somme"

Page 13 sur 17
Cours ACCESS Les requêtes

7. Les requêtes ACTION

Les requêtes faites jusqu'à présent se contentent de retourner le résultat d'une sélection sous forme de table,
cette table, étant, selon le type de requête, modifiable. Il existe cependant d'autres types de requêtes, les
requêtes action, ces requêtes vont permettre de :

?? Créer une table à partir du résultat d'une requête


?? Ajout des enregistrements à une table à partir des résultats de la requête
?? Mettre à Jour une table en fonction de certains critères
?? Supprimer des enregistrements répondant aux critères de la requête

7.1 Les requêtes Création

Une requête création crée une table à partir des résultats qu'elle produit à partir d'une table existante.
Supposons que nous voulions créer une table "Commandes réglées" qui contiendrait la liste des commandes
déjà réglées.

1. Créer la requête normalement : nous voulons la liste des commandes réglées :

2. On la transforme en requête Création (Menu Requête / Requête Création de table)

3. Access nous demande le nom de la table à créer :

Attention, si vous sélectionnez une table existante, la table va être écrasée par cette opération

Page 14 sur 17
Cours ACCESS Les requêtes

4. Exécutez la requête avec l'icône point d'exclamation : la table va être créée avec le résultat de la requête.
Si vous vous voulez vérifier avant de créer la table quel sera le résultat de la requête, cliquez sur l'icône:

Une fois que le résultat sera conforme à vos attentes, vous pourrez cliquer sur l'icône point
d'exclamation.

7.2 Les requêtes Ajout

Une requête Ajout copie tout ou partie des enregistrements d'une table (la table source) à la fin d'une autre
table (la table cible).

Toujours dans notre table "Commandes réglées", nous voulons ajouter les commandes qui ont été réglées
depuis la semaine dernière :

1. Création de la requête normale :

2. On la transforme en requête Ajout (Menu Requête / Requête Ajout)

3. Access nous demande le nom de la table à laquelle il faut ajouter le résultat de la requête :

4. Comme précédemment, avec les icônes Affichage et point d'exclamation, vérifiez et validez votre
requête.

Page 15 sur 17
Cours ACCESS Les requêtes

Attention :

?? Les enregistrements sont COPIES de la table source vers la table cible et non pas déplacés.
?? Les deux tables doivent avoir des noms de champs identiques (et les mêmes types de données), les deux
structures ne doivent pas nécessairement être identiques.
?? Si la table source comporte plus de champs que la table cible, les champs supplémentaires sont ignorés
?? Si la table source comporte moins de champs que la table cible, les champs dont les noms sont
identiques sont copiés, les autres sont laissés vides.
?? Access ne copie QUE les champs que vous avez déclarés dans la requête (d'ou le champ *)

7.3 Les requêtes Mise à Jour

Les requêtes mise à jour permettent de modifier rapidement tous les enregistrements d'une table ou un
groupe d'entre eux :

Supposons que l'on veuille augmenter de 10% le prix des produits dont le prix actuel est inférieur à 1000 F.

1. On crée une requête, et dans le menu Requête, on clique sur "Requête Mise à Jour"

2. Un champ "Mise à jour" apparaît dans la requête, c'est là qu'on va indiquer la modification qui va avoir
lieu :

Dans la case Mise à Jour, on a indiqué, qu'à la place du prix unitaire, nous voulions [prix_unitaire]*1.1
(soit une augmentation de 10%), ceci pour les produits dont le prix est inférieur à 1000 (critère).

Page 16 sur 17
Cours ACCESS Les requêtes

7.4 Les requêtes Suppression

Les requêtes suppression vous permettent de supprimer un groupe d'enregistrements qui répondent à un
critère donné. Supposons que l'on veuille supprimer de la table commande toutes les commandes
réglées :

1. On crée une requête standard, puis dans le menu Requête, on clique sur Requête Suppression :

2. On exécute la requête ou on vérifie avant que le résultat est conforme à ce que l'on attend.

Attention :

Vérifiez bien le résultat avant d'exécuter la requête, il n'est pas possible de revenir en arrière après
avoir effacé des enregistrements.

Page 17 sur 17
Cours ACCESS les Formulaires / Sous-Formulaires

Présentation....................................................................................................2

1. Créer un formulaire à partir d’une table......................................................3

2. Les contrôles :.........................................................................................10


2.1 Le contrôle "Intitulé".......................................................................11
2.2 Le contrôle "Zone de Texte".............................................................12
2.3 Le contrôle « Groupe d’options ».....................................................14
2.4 Les contrôles « Traits » et « Rectangle »...........................................17
2.5 Les contrôles « Zone de Liste » et « Zone de Liste Modifable »........18
2.6 Le contrôle « Bouton de commande»................................................23
2.7 Le contrôles « Sous-Formulaire ».....................................................30

Page 1 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Présentation

Le formulaire va nous permettre d’affcher et de modifer le contenu d’une table de façon bien
plus agréable que le mode « feuille de données » qui ne permet qu’un affchage en lignes et
colonnes.

De plus, le mode « feuille de données » ne permet l’affchage et la modifcation


d’informations ne provenant que d’une seule table, le formulaire va nous permettre de
manipuler au même endroit des informations provenant de plusieurs tables simultanément :
par exemple, dans notre exemple de base de données magasin, nous pourrons avoir un
formulaire qui affchera dans la même fenêtre toutes les informations concernant une
commande : informations générales sur la commande (provenant de la table « commande »,
informations sur le client ayant passé cette commande (provenant de la table « clients » et le
détail de cette commande (provenant des tables « lignes-commande » et « produits ») alors
que précédemment, ces données étaient éclatées sur plusieurs feuilles de données.

Les informations saisies ou modifées dans le formulaire seront modifées dans les tables à
partir desquelles le formulaire a été créé.

Page 2 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

1. Créer un formulaire à partir d’une table


Nous allons créer le formulaire associé à la table « clients ». Pour créer un formulaire, on se
place dans la fenêtre principale d’Access et on clique sur l’onglet « formulaire », puis sur le
bouton « nouveau… »

Il existe plusieurs méthodes pour générer un formulaire, nous nous intéresserons seulement
aux deux premières méthodes :
?? Mode création : on va tout faire seul « à la main » sans aucune aide d’Access
?? Assistant Formulaire : Access va nous guider pas à pas dans la réalisation de notre
formulaire
?? Formulaires Instantanés : Ces trois méthodes vont générer rapidement un formulaire à
partir d’une table sans nous poser de questions, son aspect sera rudimentaire et ne nous
donnera pas de grandes possibilités de personnalisations.

Nous allons utiliser la méthodeAssistant


« Formulaire ».

Dans la partie inférieure de la fenêtre, nous allons choisir la table à partir de laquelle le
formulaire va être généré : les informations provenant de cette table seront affchées dans le
formulaire, les modifcations ou ajouts que nous ferons dans le formulaire seront répercutées
dans cette table :

Nous choisissons ici la table « clients » et on clique sur « OK »

Page 3 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Nous allons choisir ici quels sont les champs de la table que nous voulons voir dans le
formulaire, si nous voulons être en mesure de modifer tous les champs de chaque
enregistrement de la table, il faudra tous les choisir, si, par exemple, notre formulaire ne doit
servir qu’a affcher certaines informations, on choisira uniquement les champs pertinents.

Attention : Dans un formulaire, on va pouvoir, comme dans la feuille de données, ajouter des
enregistrements dans la table, les champs non présents dans le formulaire ne seront pas
initialisés (ils resteront vides) lors de l’ajout. (Le seul moyen alors pour remplir ces champs
sera d’aller dans la feuille de données).

Pour choisir les champs à ajouter ou à enlever dans le formulaire, on va utiliser les boutons :
?? > : Ajouter le champ dans le formulaire
?? >> : Ajouter tous les champs dans le formulaire
?? < : Supprimer un champ du formulaire
?? << : Supprimer tous les champs du formulaire

Nous allons ajouter tous les champs du formulaire, cliquez ensuite sur « suivant »

Page 4 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On choisit ici la façon d’affcher les champs choisis dans le formulaire, il y a quatre façons
d’affcher les champs :
?? Colonne simple : Le formulaire va affcher les champs sous la forme : « nom du champ :
contenu du champ ». Le formulaire va affcher les champs d’un enregistrement à la fois.
?? Tabulaire : Le formulaire va affcher les champs choisis sous la forme d’un tableau : en
haut du formulaire vont être affchés les noms des champs, et, en dessous sous forme de
tableau, le contenu, avec un enregistrement par ligne. Cette façon d’affcher les données
ressemble à la feuille de données.

?? Feuille de données : C’est la même chose que la feuille de données utilisées pour saisir
des informations dans une table, la seule différence est que ne sont affchés ici que les
champs sélectionnés dans l’étape précédente.
?? Justifié : Va affcher les champs choisis les un à la suite des autres, ce n’est pas très beau
(enfn c’est une question de goût).

Nous utiliserons le plus souvent (voire tout le temps) le mode « Colonne simple » ou le mode
« Tabulaire ». Nous choisissons ici le mode « Colonne Simple », puis on clique sur
« Suivant »

Page 5 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On choisit ici le "décor" que l'on va donner au formulaire, il existe une dizaine de décors
prédéfnis, bien sur, on pourra, par la suite, modifer un décor choisi ici. Choisissez celui qui
vous plaît le plus.

Enfn, on va nommer son formulaire, c'est sous ce nom qu'il apparaîtra dans l'onglet
"Formulaires" de la fenêtre principale d'Access, puis cliquez sur "Terminer", le formulaire est
créé.

Page 6 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Access nous propose alors de commencer tout de suite la saisie dans notre nouveau
formulaire.

Vous pouvez voir ici le formulaire tel qu'il est une fois créé : Il utilise les champs choisis dans
la table sélectionnée, il affche les champs sous forme de "Colonne simple" (un couple nom
du champ - contenu du champ par ligne) et utilise le décor choisi.
Les informations qui vont être saisies ou modifées dans ce formulaire le seront dans la table
qui est associée à ce formulaire.

Pour se déplacer parmi les enregistrements dans le formulaire, on utilise les icônes féchés en
bas du formulaire :

Aller sur Enregistrement


l'enregistrement courant
précédent
Aller sur le
dernier
enregistrement

Créer un nouvel
enregistrement
Aller sur le 1 er Aller sur
enregistrement l'enregistrement
suivant

Les différents contrôles

Pour modifer l'aspect et le contenu du formulaire, on clique soit sur le bouton "Modifer"
dans l'onglet "Formulaires" de la fenêtre principale d'Access, soit sur l'icône

Page 7 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On passe alors en mode modifcation :

Le formulaire est affché en mode modifcation (à gauche) et une boîte à outils s'affche (à
droite), la boîte à outils peut apparaître sous forme de barre d'icône en dessous du menu de la
fenêtre.

Le formulaire est constitué de plusieurs parties : L'en-tête, le détail et le pied. Dans le cas d'un
formulaire de type "Colonnes Simples" (comme c'est le cas ici), l'en-tête et le pied n'ont
aucune importance, ils sont utiles lorsque le formulaire est affché sous forme de tableau (type
Tabulaire ou Feuille de Données), dans ce cas, l'en-tête va contenir le titre des colonnes, le
détail va défnir la façon dont vont être affchées les informations dans chaque ligne du
tableau (nous verrons ça plus tard) et le pied pourra contenir des informations
supplémentaires, comme par exemple, après avoir affché un tableau de nombres, il pourra
affcher la somme de ces nombres.

Tout ce qui se trouve sur le formulaire s'appelle un contrôle : un texte affché sur le
formulaire est un contrôle, un champ d'un enregistrement est un contrôle, une image placée
sur le formulaire est un contrôle : tout ce qui est affché dans le formulaire est un contrôle. La
boîte à outils à gauche affche tous les contrôles possibles que l'on peut placer sur un
formulaire. Ils sont assez nombreux et permettent d'affcher tous les types d'informations
possibles (même du son ou de la vidéo !).

Page 8 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Ces contrôles peuvent être divisés en trois catégories :


?? Les contrôles indépendants : Ils n'ont aucune relation avec la table qui est liée au
formulaire (n'oubliez pas que chaque formulaire manipule des informations provenant
d'une table de la base). Par exemple une image placée sur le formulaire n'a pas de relation
avec la table, c'est un contrôle indépendant, du texte affché sur le formulaire (on pourrait
par exemple placer un titre "Formulaire Clients" en haut du formulaire), ce texte ne
provient pas de la table, il n'a aucun rapport avec elle, c'est donc un contrôle indépendant.
?? Les contrôles dépendants : Les contrôles dépendants sont liés à la table liée au
formulaire, ils vont affcher le contenu d'un champ, toute modifcation dans ce contrôle ira
modifer le champ auquel il est lié dans la table :

Dans notre exemple, le contrôle à droite est dépendant du champ "nom" de la table
"Clients", il affchera, pour l'enregistrement courant, le contenu du champ "nom". Toute
modifcation dans ce contrôle ira modifer le contenu du champ "nom" de la table "Client"
pour l'enregistrement en cours.

Notez que le contrôle à gauche est un contrôle indépendant, il se contente d'affcher le


texte "nom", tandis que celui de droite est dépendant et va chercher son contenu dans le
champ de la table dont le nom est affché (champ "nom"), nous verrons plus bas comment
rendre un contrôle dépendant.

?? Les contrôles calculés : Les contrôles calculés ne vont pas chercher les informations
qu'ils vont affcher dans un champ de la table lié au formulaire mais à partir du contenu
d'autres contrôle du formulaire, par exemple un contrôle dans le formulaire lié à la table
"Produit" pourra affcher le prix TTC à partir des contrôles affchant les prix hors taxe et
la TVA.

Page 9 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

2. Les contrôles :
Voici la liste des contrôles que nous pourrons utiliser, les contrôles non documentés servent,
de façon générale, à insérer dans un formulaire des "objets" provenant d'autres applications
Windows, comme par exemple un fchier sonore Wav, une vidéo AVI, un fchier au format
Word, une page HTML, etc.

Intitulé
Zone de Texte

Groupe d'options
Bouton Bascule

Bouton d'option
Case à cocher

Liste Modifable
Zone de Liste

Bouton Commande
Image

Onglet

Trait
Sous-Formulaire

Rectangle

Page 10 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Pour tous les contrôles placés sur le formulaire, en cliquant dessus avec le bouton droit, on
obtient le menu suivant :

Ce menu permet de modifer l'aspect (couleur, choix de la police, effets, etc.) ou le


comportement (format d'affchage, masque de saisie, etc.) du contrôle, l'option "Propriétés"
du menu permet l'affchage et la modifcation de toutes les caractéristiques du contrôle. Les
propriétés varient selon le type de contrôle.

2.1 Le contrôle "Intitulé"

Il va être utilisé pour affcher du texte "statique", c'est à dire qui ne variera pas d'un
enregistrement à l'autre, c'est donc un contrôle indépendant, qui servira typiquement à affcher
par exemple le titre du formulaire, ou le nom d'un champ dont le contenu sera affché à côté
dans un contrôle dépendant. Dans notre formulaire, tous les noms des champs affchés à
gauche sont des contrôles "Intitulé", ce sont des textes statiques ne dépendant de rien, on peut
modifer ce qui est affché sans affecter quoi que ce soit dans la table associée au formulaire.

Page 11 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

2.2 Le contrôle "Zone de Texte"

Ce contrôle est l'un des contrôles les plus utilisés dans l es formulaires, on va, dans ce
contrôle, pouvoir saisir des données. Typiquement, ce contrôle est soit un contrôle dépendant,
soit un contrôle calculé.

Pourquoi ? On peut, dans ce contrôle, saisir des informations, il serait alors judicieux que les
informations saisies puissent servir à quelque chose, si le contrôle n'est lié à aucun champ de
la table associée au formulaire, les informations que l'on va taper vont se perdre dans la nature
dès qu'on sera passé sur l'enregistrement suivant. En revanche, si le contrôle est lié à un
champ de la table, les informations entrées dans ce contrôle seront placées dans le champ lié
au contrôle.

Table Formulaire

Champ 1 Zone de texte liée au


champ 1

Champ 2 Zone de texte liée au


champ 2

Tout ce qui sera entré dans un contrôle dépendant affectera le contenu du champ auquel il est
lié. Bien sur, rien n’interdit de lier un même champ sur plusieurs contrôles dans le même
formulaire (ce qui n’a pas, à priori, d’intérêt).

Dans notre formulaire, tous les contrôles dans lesquels on va saisir des informations sur les
clients sont des contrôles dépendants liés à des champs de la table. Le nom du champ auquel
est lié le contrôle est d’ailleurs écrit dans ce contrôle.

Pour relier un contrôle à un champ, procédez ainsi :

1. Cliquez dans la boîte à outils sur le contrôle zone de texte


2. Placez le contrôle sur le formulaire et dimensionnez-le
3. Access crée en fait DEUX contrôles : il suppose, à juste titre, que l’on va lier ce
contrôle avec un champ, il crée donc un contrôle « Intitulé » qu’on à vu avant qui
contient le texte « Texte xx » (où xx est un nombre quelconque) et notre fameux
contrôle « Zone de Texte » qui contient la mention « indépendant ».
4. On va supposer ici qu ‘on veut lier ce contrôle au champ « Nom » de notre table
Clients (même si il se trouve déjà sur le formulaire, c’est juste un exemple)
5. A la place de « Texte xx », on va taper « Nom : » (histoire de savoir ce qu’il va
falloir saisir dans le contrôle d’à côté)

Page 12 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

6. Vous avez pu noter la mention « indépendant », ce qui signife que, pour l’instant, le
contrôle « Zone de Texte » créé n’est lié à rien, on peut taper du texte dedans mais le
texte ne sera sauvé nulle part. Pour dire à Access qu’on veut sauver ce texte dans le
champ « Nom » de la table Clients, on clique avec le bouton droit sur le contrôle et on
clique sur « Propriétés » :

Ici se trouvent toutes les propriétés qui vont défnir l’aspect et le comportement de
notre contrôle, il y en a beaucoup et je ne vais pas les détailler. Celle qui nous intéresse
particulièrement et la propriété « Source Contrôle » de l’onglet « Données ». C’est ici
qu ‘on indique à Access d’où viennent les informations qui vont être affchées dans le
contrôle.

Il y a une fèche qui descend à droite, si on clique dessus, tous les champs de la (ou
des) table(s) liés au formulaire vont s’affcher, on choisi dedans le champ « Nom », et
on ferme la fenêtre de propriétés.

Page 13 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

7. Le contrôle n’est plus indépendant, à la place de la mention « Indépendant », il est


affché « Nom », c’est-à-dire le nom du champ avec lequel il va être lié. A partir de
maintenant, lors de l’affchage d’un enregistrement dans le formulaire, le nom du
client sera affché dans ce contrôle, et toute modifcation de son contenu sera
répercutée dans la table.

2.3 Le contrôle « Groupe d’options »

Le contrôle « Groupe d’option » va servir a faire un choix l imité entre plusieurs options et
d’affecter l’option choisie à un champ d’une table. Par exemple, supposons maintenant que
nous ajoutions un champ « vendeur » à la table « Commandes » pour savoir qui a effectué une
vente. Nous allons supposer que notre magasin à trois vendeurs nommés Dupond (vendeur 1),
Durant (vendeur 2) et Martin (vendeur 3). Nous allons d’abord ajouter le champ
« num_vendeur » à la table « Commandes », puis sur le formulaire « Commandes » liée à
cette table, nous ajoutons un contrôle « Groupe d’options »

Nous entrons ici les différents noms des vendeurs et nous cliquons sur « Suivant »

Page 14 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Nous pouvons choisir ici le vendeur qui sera toujours proposé par défaut, nous pouvons
également ne choisir aucun vendeur par défaut.

Nous avons vu que chaque vendeur à un numéro, c’est ce numéro, et nom le nom du vendeur
qui va être sauvé dans le champ « num_vendeur » de la table « Commande », on indique ici,
pour chaque vendeur, son numéro.

Page 15 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On indique enfn à Access en choisissant dans le menu quel est le champ de la table qui va
contenir le numéro correspondant au vendeur qu’on a choisi.

On choisit l’aspect de notre groupe d’options

Page 16 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On le nomme, et c’est terminé :

Vous pouvez voir en bas le groupe d’options avec les trois vendeurs proposés, en en
choisissant un, on sauve dans le champ lié à ce groupe (num_vendeur), le numéro associé au
vendeur choisi.

2.4 Les contrôles « Traits » et « Rectangle »

Ces deux types de contrôles permettent de tracer des traits ou des rectangles sur le formulaire
pour encadrer ou souligner.

Page 17 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

2.5 Les contrôles « Zone de Liste » et « Zone de Liste Modifable »

Vous vous souvenez de l’assistant « Liste de choix » dans les tables qui permettait, au lieu de
saisir une valeur, de pouvoir choisir dans une liste. Ce type de menu existe également dans les
formulaires, on va pouvoir, grâce à ces deux types de contrôles, pouvoir, par exemple dans le
formulaire « Commande », choisir parmi la liste des clients au lieu de saisir son numéro.

Pour cela, on procède ainsi :

1. Ouvrir le formulaire « Commande » en modifcation


2. Choisir le formulaire « Zone de Liste » dans la boîte à outils
3. Le placer sur le formulaire

Il y a trois façon de générer cette zone de liste, comme pour la feuille de données, nous
voulons affcher une liste des clients existants dans la table client, pour cela, on
sélectionne la 1 ère option « Je veux que la zone de liste recherche les valeurs dans une
table » (en l’occurrence, la table clients), et on clique sur suivant

Page 18 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

4.

Access nous affche les tables existantes : On choisi la table « Clients »

5.

On choisit ici les champs qui seront affchés dans la zone de liste, nous pouvons juger que
seuls les nom et ville sont nécessaires

Page 19 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

6.

Access nous affche à quoi va ressembler notre zone de liste.

Notez que l’option « Colonne clé cachée » est cochée, qu’est-ce que cela signife ?

Nous sommes d’accord que le but de l’opération est de choisir parmi une liste un client et
d’affecter son numéro au champ « n° client » de la table « Commande » afn d’éviter
d’avoir à taper ce numéro. Or, nous avons choisi uniquement les champs Nom & Ville de
la table « Client », et pas le numéro. Access a remarqué que le numéro du client est la clef
de la table « Client », il en déduit que c’est donc le seul moyen d’identifer de façon
unique un client, il va donc ajouter une colonne à notre liste, cette colonne sera cachée, et
c’est le contenu de cette colonne cachée qui sera affectée au champ « n° client » de la
table « Commande ».

Page 20 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

7.

On va indiquer à Access dans quel champ de la table liée au formulaire on veut stocker
cette valeur (ici n° client)

8.

On nomme la zone de liste, et c’est terminé

Page 21 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Vous voyez qu’au lieu de saisir un numéro, nous avons une liste dans laquelle nous
pouvons choisir un client, le numéro de ce client, présent dans la colonne cachée de la
zone de liste, sera affecté au champ choisi plus haut (n° client). Magique non ?

Le contrôle « Zone de liste modifable » agit exactement de la même façon, il est différent
parce que c’est un menu déroulant (il faut cliquer sur une petite fèche pour le faire
apparaître) au lieu d’être fxe. Essayez le…

Page 22 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

2.6 Le contrôle « Bouton de commande»

Ce contrôle va permettre d’exécuter simplement en cliquant dessus n’importe quelle action


d’Access. Toutes les actions possibles d’Access, normalement accessibles par les menus
déroulant ou par la barre d’icônes peuvent être reproduites par l’intermédiaire de ce contrôle.
Pour comprendre son fonctionnement, nous allons créer un nouveau formulaire vide dans
lequel nous allons simplement poser un contrôle « Bouton de commande ».

Dès que le contrôle est posé sur le formulaire, l’assistant suivant apparaît :

Il y a deux colonnes dans cet assistant :

Le menuCatégories affche les principales fonctions d’Access :


?? Déplacement entre enregistrements : Pour se positionner sur un enregistrement
précis de la table.
?? Opération sur enregistrement : Ajouter, Supprimer, Copier, Imprimer un
enregistrement
?? Opération sur formulaire : Ouvrir un formulaire, le fermer, appliquer un fltre
dessus, l’imprimer
?? Opérations sur Etat : Imprimer, Sauver
?? Applications : Exécuter une autre application comme Word ou Excel
?? Divers : Exécuter une macro, Imprimer une table complète, …

Comme vous pouvez le voir, toutes les actions possibles d’Access sont réunies ici, il sufft
d’en choisir une et le fait de cliquer sur le contrôle exécutera cette action.
Nous allons prendre pour exemple l’ouverture du formulaire « Clients ».

Page 23 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Nous choisissons donc la Catégorie « Opération sur Formulaire » puis l’action « Ouvrir un
formulaire »

Access nous demande alors quel formulaire nous voulons ouvrir.

(ne vous préoccupez pas des noms des formulaires affchés ici, ils ne correspondent pas à nos
exemples)

Page 24 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On choisit « Clients »

Access nous propose deux choix, nous verrons le premier plus tard, nous lui demandons
d’affcher tous les enregistrements dans le formulaire

On peut ici choisir ce qui va être affché dans le contrôle, par défaut Access propose un icône,
on peut affcher à la place un texte ou choisir un autre icône.

Page 25 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

On nomme le contrôle et c’est terminé.

Notre formulaire ressemble à ça

Quand on cliquera sur le bouton de commande créé, le formulaire « Clients » s’ouvrira et


affchera tous les clients de la table « Clients ».

Page 26 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Nous pouvons améliorer ce formulaire grâce à quelques contrôles et en faire quelque chose de
plus intéressant : Nous allons affcher tous les clients dans un contrôle « Zone de Liste », et
ajouter sur le formulaire un bouton de commande comme celui que nous venons de créer avec
cette fois, un petit plus : le formulaire qui va s’affcher quand on cliquera dessus n’affchera
plus la totalité des clients mais seulement celui que nous aurons choisi dans la zone de liste.

Pour cela, on crée un nouveau formulaire vide ( directement en mode création) et, comme
plus haut, on crée une zone de liste dedans :

Notez cette fois-ci que, comme le formulaire a été crée à partir d’aucune table, Access ne
demande pas à quel champ de la table nous voulons rattacher ce contrôle. Il est donc
indépendant : il va se contenter d’affcher le numéro, le nom et le prénom des clients : le fait
d’en choisir un dans cette liste ne modifera aucune table.

Nous posons ensuite un contrôle « Bouton de Commande » sur le formulaire. Nous répétons
les étapes précédentes, mais cette fois nous nous arrêtons à la question suivante :

Page 27 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Nous avions, précédemment, affché tous les enregistrements de la table « Clients » dans le
formulaire « Clients ». Nous voulons maintenant, affcher dans ce formulaire que le seul
client correspondant à celui que nous avons choisi dans la liste.

La fenêtre suivante s’affche :

A gauche nous avons les contrôles se trouvant sur notre formulaire : il n’y en a qu’un, il s’agit
d’une zone de liste modifable qui s’appelle « Modifable3 » (le nom choisi par Access
lorsqu’on a créé le contrôle. Il peut être différent).
A droite se trouvent tous les champs de la table associée au formulaire que nous voulons
ouvrir.

Suivez bien le mouvement :

Lorsque nous avons crée notre contrôle « Zone de Liste » contenant la liste des clients, nous
avons choisi de faire apparaître dans cette liste le numéro du client, son nom et son prénom.
Access ayant noté que le numéro est la clef de la table « Clients », il ne l’affchera pas (voir
page 19). Il ne l’affchera pas mais il sera toujours présent dans la liste mais il sera caché.

Bon, quand on choisit une des lignes du menu de la zone de liste, Access fait l’opération
suivante : il « regarde « sur quelle ligne on a cliqué, il trouve une ligne « numéro, de client +
nom + prénom », le numéro étant caché. Il ne s’occupe alors que de la première colonne (en
l’occurrence la colonne cachée) : pour Access maintenant, le fait d ‘avoir cliqué sur cette
ligne correspond au fait d’avoir cliqué sur le numéro seulement. Si vous n’aviez pas mis la
colonne numéro de client, il aurait pris la première colonne (nom) et le fait de cliquer sur
toute la ligne aurait correspondu au fait de cliquer sur le nom. OK ? Si vous n’aviez pas
compris la page 19, j’espère que maintenant c’est plus clair.

Page 28 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Bien, maintenant, il faut dire à Access comment il va faire le lien entre ce qu’on a cliqué dans
la liste et la table « Client », on choisit donc à gauche notre contrôle (on a pas trop le choix) et
à droite le champ « nclient » (numéro de client) et on clique sur « <-> « .

Pourquoi ? comme on vient de le voir, le fait de cliquer sur un élément de la liste, correspond
au fait de cliquer sur le numéro, on va lui dire avec cette opération : « Affche dans le
formulaire les enregistrements dont le champ « nclient » est égal à ce qu’on vient de cliquer
dans la liste ».

On choisit ensuite l’icône et on doit se retrouver avec quelque chose comme ça :

Quand on va ouvrir le formulaire, on va voir ceci :

La liste des clients s’affche (le nom & le prénom, le numéro étant caché)

Une fois qu’on a choisi un, on clique sur le bouton de commande et comme par magie, le
formulaire client s’ouvre avec seulement les informations concernant le client choisi dans la
liste.

Ceci n’est qu’un petit exemple de ce que l’on peut réaliser avec le contrôle « bouton de
commande », vous pouvez essayer d’autres commandes.

Page 29 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

2.7 Le contrôles « Sous-Formulaire »

Grâce à ce contrôle, nous allons pouvoir affcher des formulaires imbriqués dans d’autres, par
exemple pour affcher une liste d’enregistrement correspondant à un seul enregistrement :
pour une commande donnée, on pourra, dans le même formulaire, affcher toutes les lignes de
cette commande.

Le but de la manœuvre va être de réaliser un formulaire complexe que l’on va nommer


« facture ». Il contiendra toutes les informations relatives à une commande : en en-tête le
numéro de la commande, sa date, les informations sur le client, et en dessous le détail de cette
commande, avec en bas le montant total de la commande.

Pour cela, on crée le formulaire « facture ». Ce formulaire va être l’en-tête de notre formulaire
fnal : il va contenir les informations sur la commande et sur le client qui l’a passé. On va
donc aller chercher des informations dans deux tables : « Clients » et « Commandes ».

Comme on l’a vu, le formulaire va être généré à partir de deux tables, on ne choisit donc rien
dans le menu « Choisissez la table ».

Page 30 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

C’est ici qu’on va choisir les tables : En haut à gauche se trouvent les tables de la base, en
dessous les champs de la table choisie plus haut et à gauche les champs que nous allons
utiliser dans notre formulaire.

Pour notre en-tête, nous avons besoin des informations suivantes : n° de la commande, n° du
client qui a passé cette commande, la date de la commande, ces informations provenant de la
table « Commande » et le nom, le prénom et la ville du client qui a passé cette commande, ces
informations provenant de la table « Clients ».

A partir de maintenant, nous supposerons que les relations ont été bien réalisées entre les
tables, c’est une condition nécessaire au bon déroulement de la suite des opérations. Si les
relations ne sont pas faites ou mal faites, Access va « tenter » de relier comme il peut les
tables entre elles, et c’est la source de problèmes…

Page 31 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Les relations étant correctement faites, Access, dans une crise d’intelligence remarque qu’a
partir des champs choisis précédemment, on peut faire deux choses : soit affcher les données
par clients, c’est à dire que, avec les champs choisis, on peut affcher un client et en dessous
affcher toutes les commandes qu’il a passé. Soit affcher les données par commande, c’est à
dire que pour une commande choisie, on va affcher les informations concernant le client qui
a fait cette commande. A droite s’affche la façon dont les données seront affchées en
fonction du mode qu’on aura choisi.

J’espère que votre esprit affûté aura remarqué que la deuxième proposition est la bonne, nous
la choisissons donc.

Page 32 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Les étapes suivantes sont classiques : choix de la disposition, de la décoration et du nom, on


arrive à la fn à quelque chose comme ça :

Bon, étape 1 terminée. Nous allons maintenant créer un nouveau formulaire, ce formulaire va
être une sorte de « super formulaire ligne-commandes ». Dans notre formulaire ligne
commande, nous avons seulement le numéro de la commande, le numéro du produit et la
quantité.

Nous allons créer un formulaire « super ligne-commande » qui va contenir sur chaque ligne :
le numéro de la commande, le numéro du produit, sa quantité (tout cela provenant de la table
« lignes-commande »), mais en plus le nom du produit, son prix unitaire, son taux de TVA
(tout cela provenant de la table « produits ») et pour corser l ‘affaire, nous ajouterons le calcul
du montant TTC de la ligne, et hop !

Page 33 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Comme pour notre précédent formulaire, nous allons utiliser deux tables :

Nous choisissons les champs numéro de commande, numéro de produit et quantité de la table
« ligne-commande » et les champs libellé, prix unitaire et tva de la table « Produits ».

Page 34 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Une fois de plus, Access fait preuve d ‘intelligence ! Il se rend compte qu’avec les champs
que nous avons choisi, nous pouvons affcher les données sous deux formes : soit par produit,
dans ce cas il va affcher toutes les lignes de commandes où ce produit est présent, pourquoi
pas ? mais ça ne nous intéresse pas spécialement, soit par ligne de commande, et il va dans ce
cas, affcher les informations sur le produit présent dans cette ligne de commande. Voilà qui
est beaucoup plus intéressant.

Cette fois-ci, nous allons affcher le formulaire sous forme « Tabulaire ». Comme ce
formulaire va contenir la liste des lignes d’une commande, c’est la meilleure façon d’affcher
une liste.

A la fn, on obtient un formulaire qui a cette forme :

Page 35 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Dans l’en-tête se trouvent les titres des colonnes, et dans le détail, les lignes du formulaire.
Une fois ouvert, il aura cet aspect :

Nous sommes bien d’accord, ce formulaire affche le détail de toutes les commandes. Comme
on peut le voir dans la ère
1 colonne, il concerne plusieurs commandes.

Bien, maintenant, nous allons ajouter un contrôle dans ce formulaire pour calculer le montant
TTC de chaque ligne :

Zone de texte
Intitulé

Page 36 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Nous avons a jouté deux contrôles : un contrôle « Intitulé » pour affcher l’en-tête de le
colonne, et un contrôle « Zone de Texte » dans lequel on va calculer le montant TTC.
Pour calculer le montant TTC, on affche les propriétés du contrôle et dans la propriété
« Source » de l’onglet « Données », on tape la formule de calcul :

La formule de calcul est :

( [prix unitaire] + ( [prix unitaire] * [tva] / 100 ) ) * [quantite]

Si on affche maintenant le formulaire, on obtient :

Ca marche !

Page 37 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Plus fort, maintenant, nous allons affcher le montant total commandé. Nous sommes toujours
d'accord, le montant total va être le montant total pour toutes les commandes, notre formulaire
pour l’instant ne fait pas de distinction entre les commandes.

Vous avez pu remarquer que le formulaire a en plus de l’en-tête et du détail, une partie « Pied
de formulaire ». Cette partie ne sera affchée que en bas du formulaire, une fois toutes les
lignes affchées. Comme précédemment, nous mettons dans cette partie du formulaire un
contrôle « Zone de Texte » dans lequel nous allons faire le calcul de la somme.

Que contient la formule ? La même que tout à l’heure, mais nous avons ajouté le mot-clef
« somme » avant : Access va calculer la somme de toutes les lignes ici.

Page 38 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Et voilà le travail : en bas du formulaire apparaît la somme totale.

Arrivé ici, nous avons notre formulaire « facture » qui contient les informations générales sur
la commande et le formulaire « super ligne commande » qui contient les détails de toutes les
commandes. Il serait bien de pouvoir insérer ce formulaire dans le premier et de lui faire
affcher seulement les lignes commandes correspondant à la commande choisie.

Pour cela, on v a rouvrir notre formulaire « facture » et poser dessus un contrôle « Sous-
Formulaire ». L’assistant suivant s’affche alors :

Access nous demande à partir de quoi il va affcher ce sous-formulaire ? d’une table ou d’un
formulaire existant déjà ? Nous choisissons la deuxième solution et nous choisissons notre
formulaire « super lignes commande ».

Page 39 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

C’est ici que tout se fait. Il va falloir indiquer à Access quel est le rapport entre le formulaire
et le sous formulaire qu’il contient. Si on se contentait d’insérer le sous formulaire tel quel
dans le formulaire, il continuerait à affcher tout le temps la totalité des lignes commandes
quelle que soit la commande affchée dans le formulaire principal.

Nous voulons qu’il affche dans le sous-formulaire les lignes commande correspondant à la
commande affchée dans le formulaire principal.
Quel est le rapport entre les deux ? Comment faire une relation entre les deux ? Simplement :
le formulaire contient le numéro de la commande en cours, le sous-formulaire contient pour
chaque ligne de commande affchée le numéro de la commande concernée. Il va donc falloir
dire à Access que les lignes affchées dans le sous formulaire vont être celles dont le numéro
de commande est celui qui est affché dans le formulaire.

Pour cela, on indique dans la colonne de gauche quel est le champ qui contient le numéro de
commande dans le formulaire principal et quel est le champ qui contient aussi un numéro de
commande dans le sous-formulaire.

Page 40 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

A la place du sous-formulaire, il y a un rectangle blanc. Ce qui implique que toute


modifcation dans ce sous-formulaire ne pourra se faire ici, il faudra la faire directement dans
le formulaire « super ligne commandes ». Dans Access 2000, on peut directement modifer le
sous formulaire à partir d’ici, il n’y a plus de rectangle blanc mais directement le formulaire.

Page 41 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Maintenant, lorsque vous ouvrez le formulaire principal :

Vous avez, pour une commande donnée en haut, son contenu exact et son montant. Vous
noterez que le numéro de commande est répété pour chaque ligne, vous pouvez, comme il est
inutile maintenant puisque déjà présent dans l’en-tête, le supprimer du formulaire.

Page 42 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Voilà pour les sous-formulaires. Il existe une méthode plus simple pour faire ce que nous
venons de faire. Il sufft pour cela, d’abord de bien relier les tables entre elles, ensuite
lorsqu’on crée le premier formulaire de mettre toutes les champs de toutes les tables
concernées dans le même formulaire : n° de commande, n° de client, date venant de la table
« Commande », nom, prénom, adresse venant de la table « Client », n° de commande, n° de
produit, quantité venant de la table « Lignes-commande » et libellé, prix unitaire et tva
venant de la table « Produits».

Access affche alors :

Et là, ô magie ! Access a deviné tout seul ce que nous voulions faire (grâce quand même aux
relations), et nous propose de faire tout seul ce que nous avons fait avant. Vous remarquez
que l’exemple qu’il nous propose à droite ressemble étrangement à ce que nous avons fait « à
la main ».

Page 43 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Il nous propose le format d’affchage

Ici on nomme le formulaire, vous pouvez noter qu’il a crée tout seul le sous formulaire et
qu’il en profte pour nous demander son nom.

Page 44 sur 45
Cours ACCESS les Formulaires / Sous-Formulaires

Et voilà le travail ! En cinq secondes, il a fait ce qui nous a pris beaucoup de temps !
Il nous faudra simplement ajouter ensuite dans le sous formulaire le calcul des montant TTC
et le montant total.

Comme quoi, si les relations sont bien faites, Access fait les trois quart du boulot tout seul.

Ici se termine l’histoire des formulaires. Il reste d’autres contrôles comme les boutons
bascule, les images, les objets OLE, etc… Nous ne les utiliserons pas souvent.

Page 45 sur 45

Vous aimerez peut-être aussi