Upload
infomobi
View
243
Download
2
Embed Size (px)
DESCRIPTION
http://www.clicparclic.eu/cpc/telechargements/syllabus/syl_access_avec_pg.pdf
Citation preview
Réf.: D-F04-10d (09_2012) Dominique Lieffrig
Institut d'enseignement
de promotion sociale
de la Communauté française
Arlon - Athus - Musson - Virton
Access
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012)
TABLE DES MATIERES
LES BASES DE DONNEES .............................................................................................................................................. 1
DEFINISSONS QUELQUES NOTIONS ............................................................................................................................. 1
1. QU'EST-CE QU'ACCESS ? ................................................................................................................................................... 2 2. BRÈVE INTRODUCTION AUX BASES DE DONNÉES ...................................................................................................................... 2
2.1. Notion de "base de données" .............................................................................................................................. 2 2.2. Notions d'enregistrement, de champ, de clé, … .................................................................................................. 2
LES OBJETS DE BASE .................................................................................................................................................... 3
1. INTRODUCTION ................................................................................................................................................................ 4 1.1. Notion de table .................................................................................................................................................... 4 1.2. Notion de formulaire ........................................................................................................................................... 4 1.3. Notion d'état ....................................................................................................................................................... 5 1.4. Notion de macro .................................................................................................................................................. 5
2. CRÉER LE NOYAU DE LA BASE DE DONNÉES ............................................................................................................................. 6 3. LES TABLES ..................................................................................................................................................................... 7
3.1. Créer une table .................................................................................................................................................... 7 3.2. Encoder des données dans une table existante ................................................................................................. 10 3.3. Modifier une table existante ............................................................................................................................. 10 3.4. Nouveautés Access 2007, Access 2010 pour la gestion des tables .................................................................... 13 3.5. Les différents types de champs .......................................................................................................................... 13 3.6. Les propriétés des champs ................................................................................................................................. 16 3.7. Exercices ............................................................................................................................................................ 27
4. LES REQUÊTES ............................................................................................................................................................... 31 4.1. Introduction ....................................................................................................................................................... 31 4.2. Créer une requête de type sélection portant sur une table ............................................................................... 31 4.3. Les opérations de jointure ................................................................................................................................. 38 4.4. Les requêtes avec regroupements, comptages, concaténation, … .................................................................... 46 4.5. Exercices ............................................................................................................................................................ 49
5. LES FORMULAIRES .......................................................................................................................................................... 51 5.1. Création d'un formulaire à l'aide de l'assistant ................................................................................................. 51 5.2. Utilisation d'un formulaire................................................................................................................................. 53 5.3. Personnalisation d'un formulaire ...................................................................................................................... 53 5.4. Formulaire graphique ........................................................................................................................................ 58 5.5. Exercices ............................................................................................................................................................ 78 5.6. Création etutilisation des sous-formulaires ....................................................................................................... 80 5.7. Création d'un formulaire sans utiliser les assistants ......................................................................................... 91
6. LES ÉTATS ..................................................................................................................................................................... 99 6.1. Introduction ....................................................................................................................................................... 99 6.2. Création d'un état via l'Assistant ....................................................................................................................... 99 6.3. Les différents modes d'affichage des états ..................................................................................................... 103 6.4. Création d'un état avec définition d'un regroupement ................................................................................... 103 6.5. Création d'étiquettes ....................................................................................................................................... 107 6.6. Création d'un état entièrement personnalisé .................................................................................................. 111 6.7. Utilisation d'une mise en forme conditionnelle au sein d'un état ................................................................... 115
7. LES MACROS ............................................................................................................................................................... 123 7.1. Introduction ..................................................................................................................................................... 123 7.2. L'action "AppliquerFiltre" ................................................................................................................................ 123 7.3. L'action "RechercherEnregistrement" ............................................................................................................. 129 7.4. Découverte de quelques autres actions ........................................................................................................... 134
8. EXERCICE DE SYNTHÈSE .................................................................................................................................................. 141
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 1
LES BASES DE DONNEES
DEFINISSONS QUELQUES NOTIONS
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 2
1. Qu'est-ce qu'Access ?
Parmi les différentes utilisations de l'outil informatique, la gestion de données représente une part
très importante. Depuis le début des années 60 jusqu'à nos jours, les techniques proposées pour
gérer l'information ont beaucoup évolué et les logiciels proposés actuellement sont généralement
très conviviaux et performants.
De nombreux systèmes de gestion de bases de données relationnelles sont proposés sur le marché:
FileMaker, MySQL, Oracle, SQL Server, et … Access qui est donc un logiciel permettant de gérer
des ensemblesstructurésde données.
2. Brève introduction aux bases de données
2.1. Notion de "base de données"
Base de données: ensemble structuré d’informations qui portent sur un sujet donné.
Exemples: ensemble des données concernant une bibliothèque, concernant des patients,
concernant les archives d’un cabinet médical, ...
Le stockage des données doit s’effectuer de manièrecohérente, exhaustive et non redondante.
Le présent cours est consacré à la gestion des bases des données relationnelles à l'aide d'Access.
Ce type de bases de données est caractérisé par le fait que les données sont stockées dans
différentes tables entre lesquelles il existera généralement des relations.
TBL_LIVRE_LIV
LIV_CODE LIV_TITRE AUT_CODE
L001 Le chant du monde G01
L002 Les jouets dans le monde K01
L003 …
TBL_AUTEUR_AUT
AUT_CODE AUT_NOM AUT_PRENOM AUT_DN
G01 Giono Jean 30/03/1895
K01 Kandert Josef
2.2. Notions d'enregistrement, de champ, de clé, …
Le schéma figurant ci-après permet d'illustrer les notions suivantes:
table;
enregistrement ou ligne ou tuple;
champ ou colonne;
clé primaire;
clé étrangère.
TBL_LIVRE_LIV
LIV_CODE LIV_TITRE AUT_CODE
L001 Le chant du monde G01
L002 Les jouets dans le monde K01
L003 …
Clé primaire Colonne Clé étrangère
Champ Colonne de référence
Ligne
Enregistrement
Tuple
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 3
LES OBJETS DE BASE
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 4
1. Introduction
Via le volet de navigation se trouvant à gauche dans la fenêtre d'Access, vous pouvez aisément
accéder aux différents types d'objets de la base de données active et ce au fur et à mesure de leur
création.
Pour que le volet de navigation se présente comme ci-dessus, il faut cocher les options comme
repris ci-dessous.
1.1. Notion de table
C'est dans les tables que sont stockées les informations de la base de données. Ces tables sont
structurées et constituent le cœur de la base de données.La structure d'une table correspond à la
liste des champs,ces derniers étant caractérisés par un type et différentes propriétés.
La création des tables constitue une étape extrêmement importante lors du développement
d'une base de données.
1.2. Notion de formulaire
Les formulaires servent à mieux présenter l'information qui se retrouve dans les différentes tables.
Il est aussi plus "convivial" ou pratique d'entrer l'information dans un formulaire que directement
dans une table ou une requête. Aussi, il est possible d'afficher seulement les champs qui sont
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 5
nécessaires à l'écran. Il est aussi possible de "verrouiller" un champ. Ceci permet à l'utilisateur du
formulaire de voir le contenu d'un champ mais pas de le modifier.
En résumé, le formulaire constitue l'objet principal pour la consultation, l'ajout, la suppression, la
modification des données à l'écran.
1.3. Notion d'état
Les états sont destinés à présenter l'information sur papier. Il est possible de regrouper, trier les
informations de manière très pertinente.
1.4. Notion de macro
Une macro permet d'exécuter une série de commandes l'une après l'autre. Les macros ont pour
but notamment d'automatiser des tâches. Une macro pourra être reliée à l'évènement "clic" d'un
bouton dans un formulaire par exemple. Lorsque l'utilisateur cliquera sur le bouton, la macro
s'exécutera. Une macro peut est reliée à bien d'autres types d'événements et d'objets.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 6
2. Créer le noyau de la base de données
Pour créer une nouvelle base de données:
1°) Ouvrez le menu "Fichier", cliquez sur "Nouveau".
2°) Définissez le nom de la base de données. Pour modifier le dossier destination et/ou le type de
bases de données, cliquez sur le bouton suivant: .
3°) Cliquez sur "Créer".
4°) Access vous propose alors directement de créer une table. Si le mode de création ne convient
pas, il suffit de fermer la table active.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 7
3. Les tables
3.1. Créer une table
Objectif:
Créer la table suivante:
1°) Activez l'onglet "Créer" puis cliquez sur "Création de table".
2°) Complétez la fenêtre proposée de la manière suivante.
3°) Sélectionnez le type "NuméroAuto" pour le champ "PER_ID" et définissez celui-ci comme clé
primaire via le bouton suivant: .
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 8
4°) Au niveau du champ "PER_TITRE", définissez une liste déroulante de la manière suivante.
N.B.:
Il est très intéressant de constater
qu'il est possible d'alimenter la
liste déroulante avec des
données extraites d'une table ou
d'une requête choisie.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 9
5°) Vous pouvez modifier la taille des champs de la manière suivante. Il suffit de sélectionner le
champ concerné puis d'utiliser la propriété "Taille du champ".
6°) Attribuez le type de données adéquat aux champs PER_DN et PER_EMAIL
7°) Enregistrez la table.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 10
La table enregistrée apparaît dans le volet de navigation.
3.2. Encoder des données dans une table existante
Pour encoder des données dans une table, vous pouvez:
1°) Effectuez un double-clic sur la table dans le volet de navigation.
2°) Encodez les données dans la "grille" proposée. Ce type de présentation correspond au mode
"Feuille de données".
3.3. Modifier une table existante
3.3.1. Ajouter un champ
Objectif:
Modifier la table précédente afin d'ajouter un champ nommé "PER_GSM" entre les champs
PER_PRENOM et PER_DN.
Supposons que la table soit ouverte en mode "Feuille de données".
1°) Cliquez sur le bouton "Mode Création".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 11
2°) Effectuez un clic avec le bouton droit de la souris au niveau du champ qui suivra le nouveau
champ puis sélectionnez l'option "Insérer des lignes".
3°) Définissez le champ (nom, type de données, propriétés).
N.B.: Il est également possible d'utiliser le bouton suivant présent dans "Outils de table/Création".
3.3.2. Modifier l'ordre des champs
1°) Ouvrez la table en mode "Création".
2°) Sélectionnez le champ voulu en cliquant sur l'en-tête de ligne.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 12
3°) Cliquez sur l'en-tête de ligne puis tout en maintenant le bouton gauche de la souris enfoncé,
faites glisser le champ à l'endroit voulu.
3.3.3. Supprimer un champ
1°) Sélectionnez le champ à supprimer en cliquant sur l'en-tête de ligne.
2°) Appuyez sur la touche "Delete" de votre clavier.
3°) Access demande de confirmer la suppression.
N.B.: il est également possible d'utiliser le bouton suivant présent dans "Outils de table/Création".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 13
3.4. Nouveautés Access 2007, Access 2010 pour la gestion des tables
Depuis Access 2007 … une fois la table concernée ouverte en mode "Feuille de données", via
"Outils de table/Champs", il est possible de modifier la structure d'une table: ajout, suppression,
modification de champs, … Il ne s'agit cependant pas toujours de la technique la plus pratique et
performante pour modifier une table lorsque le cas devient complexe.
3.5. Les différents types de champs
3.5.1. Introduction
Lors de la création d'une nouvelle table, une opération essentielle consiste à attribuer un certain
type (Numérique, Texte, Monétaire, ...) à chaque champ.
Nous allons passer en revue les différents types de données disponibles.
3.5.2. Texte / Mémo
Pour stocker les combinaisons de textes et de nombres, Access nous propose deux types de
champs: Texte et Mémo.
On utilisera le type de données Texte pour stocker des données telles que des noms, des prénoms,
des adresses et éventuellement des nombres qui ne sont pas mis en jeu dans des calculs comme les
numéros de téléphone, les codes postaux, ...
Un champ de type Texte permet de stocker jusqu'à 255 caractères.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 14
Par contre, on utilisera le type de données Mémo pour des champs qui sont susceptibles de devoir
stocker plus de 255 caractères. Un champ de type Mémo peut contenir jusqu'à 63999 caractères.
Les types de données Texte et Mémo ne stockent que les caractères tapés dans le champ, les
emplacementsnon utilisés ne sont pas stockés.
3.5.3. Numérique / Monétaire
Avec Access, pour stocker des valeurs numériques,nous disposons notamment des deux types
suivants: Numérique et Monétaire.
On utilisera un champ Numérique pour stocker des données numériques devant être utilisées
pour des calculs mathématiques. Le type et la taille des valeurs numériques qui peuvent être
stockées dans un champ Numérique sont déterminés grâce aux différentes propriétés que l'on
attribue au champ. Il sera question de ces propriétés dans les pages qui suivent.
Un champ de type Monétairepermet de minimiser les arrondis pendant les calculs. Un champ
Monétaire a une précision de 15 chiffres à gauche de la virgule et de 4 chiffres à droite.
3.5.4. NuméroAuto
Un champ de type NuméroAutose caractérise par le fait qu'un nombre est automatiquement placé
dans ce champ dès qu'un nouvel enregistrement est créé. Une fois qu'un nombre est généré dans
un tel type de champ, il ne peut être ni effacé ni modifié. Habituellement, un champ de type
NuméroAuto contient des nombres séquentiels qui sont incrémentés d'une unité d'un
enregistrement à l'autre. Il est également possible de demander que la valeur stockée soit définie
de manière aléatoire par le système.
3.5.5. Oui/Non
Les champs Oui/Nonstockent des données du type Oui/Non, Vrai/Faux, Activé/Désactivé.
Un champ Oui/Non stocke -1 pour une entrée Oui et 0 pour une entrée Non, mais on utilise un
format d'affichage pour afficher Oui ou Non dans le champ. On pourra sélectionner Oui/Non,
Vrai/Faux ou Activé/Désactivé en définissant la propriété Format dont il sera à nouveau question
dans les pages qui suivent.
3.5.6. Date/Heure
Pour stocker des dates et des heures, Access nous propose les champs Date/Heure. Nous aurons
une nouvelle fois l'occasion de déterminer le format de tels champs.
3.5.7. Champ OLE
Les champs OLE permettent de stocker des données telles que des documents, des images, des
sons et des fichiers binaires créés dans d'autres programmes. Les objets OLE peuvent être liés ou
incorporés dans le champ d'une table Microsoft Access. Pour afficher l'objet OLE, il faut utiliser un
contrôle dans un formulaire ou un état.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 15
3.5.8. Champ "Lien hypertexte"
Ce type de champ permettra de stocker des liens hypertextes dans une table.Un lien hypertexte
peut être une adresse URL, une adresse email,...
3.5.9. Champ "Pièce jointe"
Vous pouvez joindre des images, des feuilles de calcul, des documents, des graphiques et tout
autre type de fichier pris en charge, aux enregistrements de votre base de données, de la même
manière que des fichiers à des messages électroniques. Vous pouvez également afficher et modifier
les fichiers joints, en fonction de la configuration du champ Pièce jointe définie par le concepteur
de la base de données. Les champs "Pièce jointe" offrent plus de souplesse que les champs Objet
OLE et ils utilisent l'espace de stockage plus efficacement, car ils ne créent pas d'image bitmap du
fichier d'origine.
3.5.10. Champ "Calculé"
Il est à présent possible de créer des champs calculés dans les tables Access. Dès le choix de ce
type de champ, Access vous demande de définir la formule qui correspond au calcul à réaliser.
Exemple:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 16
3.6. Les propriétés des champs
3.6.1. Introduction
Quand on se trouve en mode Création d'une table, le système nous donne la possibilité de définir
tout un ensemble de propriétés pour chaque champ constitutif de la table.
N.B.: Les propriétés disponibles dépendent du type de champ qui est choisi.
Le tableau ci-après permet de mettre en relation les différentes propriétés disponibles et les divers
types de champs que l'on peut utiliser. La liste n'est pas exhaustive.
Propriété Applicable aux types suivants
Légende Date/Heure, Oui/Non, Mémo, Texte, Numérique, NuméroAuto,
Monétaire
Décimales Numérique, Monétaire
Taille du champ Texte, Numérique
Format Date/Heure, Oui/Non, Mémo, Texte, Numérique, NuméroAuto,
Monétaire
Valide si Date/Heure, Oui/Non, Mémo, Liaison OLE, Texte, Numérique,
Monétaire
Message si erreur Date/Heure, Oui/Non, Mémo, Liaison OLE, Texte, Numérique,
Monétaire
Indexé Date/Heure, Texte, Numérique, NuméroAuto, Monétaire
Valeur par défaut Date/Heure, Oui/Non, Mémo, Texte, Numérique, Monétaire
Null interdit Date/Heure, Oui/Non, Liaison OLE, Mémo, Texte, Numérique,
Monétaire
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 17
Masque de saisie Date/Heure, Texte, Numérique, Monétaire, NuméroAuto
Chaîne vide autorisée Texte, Mémo
3.6.2. La propriété Légende
La propriété Légende permet de définir le commentaire qui vient se placer en vis à vis du champ
quand ce dernier est utilisé dans un formulaire ou un état. Un champ peut donc porter un
nomdifférent de l'indication reprise au niveau du formulaire par exemple.
Exemple:
Soit la table suivante:
Au niveau de la fenêtre de création de la table, on peut remarquer que le huitième champ porte le
nom "SPE_ID". Pour ce dernier, on a donné la valeur "SPECIALITE" à la propriété Légende.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 18
On peut alors constater que lorsque l'on a inséré ce champ au niveau du formulaire, le
commentaire qui est venu se placer en vis à vis correspond bien à la propriété Légende. Le nom
du champ (qui permet d'y faire référence au sein de macros, ...) est quant à lui toujours "SPE_ID".
Cette propriété Légende est intéressante car on peut, par exemple, traduire dans une autre langue
les intitulés présents au niveau des formulaires sans modifier les noms des champs. Ceci permet
d'éviter de devoir adapter les requêtes, les macros, et le code présent au niveau des modules, ...
3.6.3. La propriété "Taille du champ"
Les champs de type Texte et Numérique peuvent être limités en leur affectant la propriété
Tailledu champ. Cette limitation peut être utile pour plusieurs raisons. D'une part, elle permet
d'économiser de la place mémoire qui pourrait être accaparée sans être utilisée. D'autre part,
l'utilisateur ne peut pas entrer de grandes données comme il le souhaiterait.
Pour les champs Texte:
La propriété Taille du champ limite la longueur du texte entre 1 et 255 caractères pour les champs
de type Texte. Si on décide de réduire la taille d'un champ après y avoir encodé des données, il
faut être attentif aux pertes d'informations qui peuvent en résulter.
Pour les champs Numérique:
Pour les champs de type Numérique, la propriété Taille du champ a une signification légèrement
différente. Elle permet de définir le type des valeurs numériques qui pourront être encodées dans
le champ concerné.
Cinq types de nombres sont proposés:
Type de nombre Domaine de valeur Mémoire allouée
Octet 0 à 255 sans décimale 1 octet
Entier -32768 à 32767 sans décimale 2 octets
Entier long -2147483648 à 2147483647 sans décimale 4 octets
Réel simple -3,4 E+38 à 3,4 E+38
7 chiffres significatifs au total
4 octets
Réel double -1,797 E+308 à 1,797 E+308
15 chiffres significatifs au total
8 octets
Décimal -10^28 - 1 à 10^28 - 1
28 chiffres significatifs maximum
12 octets
Il importe de toujours bien adapter la taille des champs par rapport aux besoins. Il est évident qu'un
sous-dimensionnement entraîne immédiatement des problèmes. De la même façon, si on
surdimensionne les champs, on entraîne par la même occasion une diminution de la vitesse de travail.
3.6.4. Les propriétés Format et Décimales
L'affichage des nombres et de la date dépend en premier lieu du pays spécifié sous Windows.
Microsoft Access prévoit en outre divers réglages auxquels on peut avoir recours.
a) La propriété Format pour les champs de type Numérique
Pour les champs de type Numérique, au niveau de la propriété Format on dispose de six options:
Nombre général: 256,7125
Monétaire: 127,89 $ (la devise dépend de ce qui a été défini au niveau de Windows)
Euro: 127,89 €
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 19
Fixe: 4692,37
Standard: 4.125,18
Pourcentage: 75,00 %
Scientifique: 4,12E+05
ATTENTION:
Afin de rester cohérent, pour le type Monétaire, il faut dans la mesure du possible choisir soit le
format du même nom, soit laisser la propriété vide.
Exemples:
Ci-après figurent des valeurs numériques représentées avec les différents types de formats.
b) La propriété Décimales
Si on a choisi le format "Nombre général", la propriété Décimales n'a aucun effet. Par contre,
elle peut s'avérer très utile pour les formats suivants: Standard, Fixe.
Exemples (valeurs encodées: 452,79 et 79):
Valeurs de la propriété Décimales Présentation de la valeur numérique
Automatique 452,79 79,00
0 453 79
1 452,8 79,0
2 452,79 79,00
N.B.: Cette propriété peut également être utilisée pour les formats suivants: Monétaire, Euro,
Pourcentage, Scientifique.
c) La propriété Format pour les champs de type Date/Heure
Pour les champs de type Date/Heure, le système nous propose sept formats différents.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 20
d) La propriété Format pour les champs de type Oui/Non
Pour un champ de type Oui/Non, on dispose de trois formats: Vrai/Faux
Oui/Non
Actif/Inactif
e) Les formats personnalisés
Si parmi tous les formats prédéfinis, aucun ne convient il est toujours possible de définir un format
personnalisé.
Exemples:
Nouveau format Type de champ Valeur entrée Affichage
hh:nn:ss" Heure" Date/Heure 3:51 03:51:00 Heure
aaaa/mmm/jj Date/Heure 1/4/94 1994/avr/01
a-aa Date/Heure 1/04/95 91-95
0000" N°" Numérique 107 0107 N°
00.000,0# Numérique 7412,9 07.412,9
$ #,## Monétaire 7,51 $ 7,51
<[Vert] Texte ESSAI essai (en vert)
> Texte couleur COULEUR
Ci-après, figurent les symboles que l'on peut utiliser pour définir les formats. Ces symboles sont
répertoriés en fonction du type de données qui est concerné.
Symboles d'ordre général
Symbole Description
"Texte" Tous les caractères entre guillemets sont interprétés comme un texte à afficher.
* Le système complète l'espace vide d'un champ de données avec le caractère
situé après * dans le champ de texte Format.
\ Le caractère faisant suite au \ dans le champ de texte Format est interprété
comme un caractère à afficher.
[Couleur] Affecte la couleur spécifiée aux données du champ de données. Les mots Noir,
Bleu, Vert, Cyan, Rouge, Magenta, Jaune ou Blanc sont utilisables pour le
paramètre Couleur.
Espace Interprété comme espace dans le champ de données.
! Force l'alignement à gauche au lieu de l'alignement à droite habituel (pour les
valeurs numériques).
Symboles pour les nombres et la monnaie
Symbole Description
0 A l'emplacement concerné, le système indique soit le chiffre qui a été encodé, si
rien n'a été spécifié il affiche 0.
# Aucun chiffre n'est affiché à cet endroit du nombre édité si aucun chiffre n'a été
mentionné.
, Affiche le caractère décimal.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 21
Symbole Description
% Multiplie par 100 le nombre spécifié et ajoute le caractère "%".
E- ou e- Pour les exponentielles négatives, la notation technique est utilisée avec un
signe moins pour afficher le nombre spécifié.
E+ ou e+ Pour les exponentielles positives, la notation technique est utilisée avec un signe
plus pour afficher le nombre spécifié.
Symboles de Date/Heure
Symbole Description
/ Séparateur de date.
a Numéro du jour à l'intérieur de l'année
(1-366)
aa Les deux derniers chiffres de l'année à 4 chiffres (01-99)
aaaa Année à 4 chiffres.
h Selon le cas, l'heure est affichée avec un ou deux chiffres.
hh L'heure est toujours affichée avec deux chiffres.
j Jour du mois représenté avec un ou deux chiffres selon le cas.
jj Jour du mois toujours représenté avec deux chiffres.
jjj Les trois premières lettres du jour (Dim-Sam).
jjjj Nom du jour (Dimanche-Samedi).
jjjjj Correspond au format prédéfini "Date, abrégé".
jjjjjj Correspond au format prédéfini "Date, complet".
m Numéro du mois affiché avec un ou deux chiffres selon le cas.
mm Le numéro du mois est toujours affiché avec deux chiffres.
mmm Mois en abrégé.
mmmm Nom du mois.
n Minute affichée avec un ou deux chiffres selon le cas.
nn Minutes représentées toujours par deux chiffres.
s Secondes affichées avec un ou deux chiffres selon le cas.
ss Secondes toujours affichées avec deux chiffres.
t Numéro du trimestre (1-4).
tttt Format "Heure, complet".
Symboles de Texte et Mémo
Symbole Description
< Convertit en minuscules les caractères spécifiés.
> Convertit en majuscules les caractères spécifiés.
@ Caractère de texte obligatoire.
Ex.: @@@@ si l'utilisateur n'encode que trois caractères, un espace est
automatiquement placé devant par le système afin d'obtenir une chaîne de 4
caractères.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 22
f) Formats "sélectifs"
Pour un champ de type Numérique, on peut définir jusqu'à quatre formats:
le premier format est pris en compte si la valeur encodée est >0.
le second format est pris en compte si la valeur encodée est <0.
le troisième format est pris en compte si la valeur encodée est =0.
le quatrième format est utilisé si aucune valeur n'est encodée dans le champ.
Exemple: 000,0;-0,00;"valeur nulle";"rien"
Pour un champ de type Texte, on pourra définir un format contenant deux parties:
le première partie est utilisée si du texte est encodé dans le champ.
la seconde partie est utilisée si aucune donnée n'est encodée dans le champ.
Exemple: @;"Rien"
3.6.5. La propriété Valeur par défaut
Lors de la définition d'une table, si on sait déjà qu'un champ déterminé obtient souvent la même
valeur, on peut définir une valeur par défaut pour ce champ. Cette dernière apparaît alors dans
une feuille de données ou un formulaire dès que l'on encode de nouvelles informations.
La propriété "Valeur par défaut" accepte non seulement une valeur fixe mais aussi une expression.
Une expression est une combinaison de fonctions, d'opérateurs, de constantes et de noms de
champs retournant ensemble un résultat.
Une expression peut être encodée directement dans la zone "Valeur par défaut" mais elle peut
aussi être définie à l'aide du Générateur d'expression. Pour faire appel à ce dernier, il suffit de
cliquer sur le bouton comportant trois petits points: .
Présentation du Générateur d'expression:
Dans la liste de gauche, le Générateur d'expression montre une sorte d'arborescence. Si l'icône du
classeur contient un signe "plus", cela signifie que cette catégorie renferme des sous-catégories qui
peuvent être activées dans la liste en double-cliquant sur cette icône. Lorsque vous choisissez un
groupe dépourvu de tout sous-groupe, le Générateur remplit les deux listes restantes avec des
valeurs. La liste du milieu contient des expressions d'ordre général qui renvoient à une ou
plusieurs entrées dans la liste de droite.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 23
En ce qui concerne les expressions composées de plusieurs éléments, on peut utiliser les opérateurs
qui s'affichent par simple clic sur la catégorie Opérateurs. Il faut également souligner que les
principaux opérateurs sont directement accessibles grâce à une série de boutons situés dans la
partie supérieure de la boîte de dialogue.
Supposons que l'on veuille définir la date du jour comme valeur par défaut pour un champ
déterminé. Dans la liste de gauche, on marque alors la catégorie Fonctions intégrées. La liste du
milieu est alors dotée d'une série d'intitulés où on peut choisir l'entrée Date/heure. A la suite de
cette action, la liste de droite révèle à son tour un certain nombre de fonctions. Nous pouvons
alors effectuer un double-clic sur la fonction "Date".
3.6.6. La propriété Valide si
Ce point traite des propriétés Valide si et Message si erreur qui sont dépendantes l'une de l'autre.
Le commentaire définit au niveau de la propriété "Message si erreur" (max. 255 caractères)
correspond au texte qui sera affiché lorsque la valeur entrée dans le champ concerné ne vérifie pas
la condition définie au niveau de la propriété "Valide si" (max. 2048 caractères).
Exemple:
Soit une table au niveau de laquelle on a un champ "NOMBRE". Les valeurs encodées au niveau
de ce champ doivent être strictement supérieures à 10.
On pourra alors définir les propriétés suivantes:
Si l'utilisateur encode une valeur inférieure ou égale à 10 dans le champ NOMBRE, le système
refuse de valider l'entrée et affiche la boîte de message qui suit.
Supposons que l'on n'ait pas encodé de commentaire au niveau de la propriété "Message si erreur",
dans ce cas, si on introduit une valeur inférieure ou égale à 10 dans le champ NOMBRE
le système affiche une boîte de message du type suivant:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 24
Les expressions qui sont encodées au niveau de la propriété Valide Si peuvent être plus ou moins
complexes.
Dans le tableau ci-dessous figurent quelques exemples d'expressions de validité. Il importe de
constater que les dates figurant dans de telles expressions sont encadrées par le caractère #.
Expressions Type de donnés Description
<>7 Numérique La valeur encodée doit être différente de 7.
15 OU <0 Numérique La valeur encodée doit être égale à 15 ou être
strictement inférieure à 0.
<>30 OU Est Null Numérique Le champ doit contenir un nombre différent de 30 ou
aucune valeur (ne pas confondre avec la valeur 0).
<#1/1/2001# Date/Heure La date doit précéder l'année 2001.
>Date() Date/Heure La date ne doit pas être antérieure à la date du jour.
Comme "L?????" Texte La valeur doit commencer par la lettre L et se
composer de 6 caractères.
"D" OU "A" Texte La valeur encodée doit être D ou A.
3.6.7. La propriété Indexé
a) Introduction
Un index permet à Microsoft Access de retrouver rapidement des valeurs fréquemment cherchées
ou triées. On peut établir une certaine comparaison avec l'index d'un livre.
b) Définition d'un champ en tant qu'index
Pour un champ unique, l'index se définit par la propriété Indexé. On pourra choisir parmi les
valeurs suivantes:
Valeurs de la propriété Indexé. Résultats.
Non Effacer l'index existant ou ne pas créer d'index.
Oui - Avec doublons Créer un index avec doublons.
Oui - Sans doublons Créer un champ d'index unique.
Dans le cas de l'option Sans doublons, une valeur donnée ne peut apparaître que dans un seul
enregistrement. D'autre part, dès qu'un champ est défini comme clé primaire, le système attribue
automatiquement la valeur Oui (sans doublons) à la propriété Indexé de ce champ.
c) La fenêtre des index
Rappelons qu'un champ doit être défini en index s'il permet d'accélérer la recherche ou le tri.
Il faut être conscient du fait qu'un index sans doublons tend à compliquer la modification des
données, en effet, avec un tel index Microsoft Access doit vérifier toutes les valeurs existantes lors
de l'entrée d'une nouvelle valeur pour vérifier que cette dernière n'existe pas déjà.
Un champ susceptible de jouer le rôle d'index doit être par exemple, de type Texte, Numérique,
Monétaire ou Date/Heure. La propriété Indexé n'existe pas pour les champs de type Objet OLE et
Lien Hypertexte.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 25
Procédure pour gérer les index via la fenêtre du même nom:
1°) Veillez à bien être en mode Création pour la table concernée.
2°) Cliquez sur le bouton suivant.
3°) Définissez, … le(s) index voulu(s).
3.6.8. La propriété "Masque de saisie"
La propriété Masque de saisie permet un filtrage efficace des données au cours de l'encodage au
niveau des champs.
Soit une table au sein de laquelle, on trouve notamment les champs suivants: - matricule.
- code postal.
- n° de tél.
On veut définir des masques de saisie pour faciliter l'encodage des données dans ces trois champs.
Pour créer un masque de saisie, l'utilisateur peut soit avoir recours à l'assistant adéquat, soit
encoder lui-même le code du masque de saisie.
L'assistant ne permet pas de répondre à tous les besoins de l'utilisateur avec suffisamment de
souplesse. Nous allons donc uniquement nous intéresser à l'encodage personnel du masque de
saisie.
La création d'un masque de saisie se fera à l'aide des symboles figurant dans le tableau suivant:
Caractère Entrée admise Entrée facultative
0 Chiffre (0 à 9), signes plus et moins non autorisés. non
# Chiffre ou espace, signes plus et moins autorisés. oui
9 Chiffre ou espace, signes plus et moins non autorisés. oui
L Lettre A à Z. non
? Lettre A à Z oui
A Lettre ou chiffre non
a Lettre ou chiffre oui
& Tout caractère ou espace non
C Tout caractère ou espace. oui
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 26
Caractère Entrée admise Entrée facultative
< Implique la conversion en minuscules de tous les
caractères qui suivent.
> Implique la conversion en majuscules de tous les
caractères qui suivent.
! Implique le remplissage de droite à gauche du masque
de saisie plutôt que l'inverse.
\ Implique l'affichage du caractère qui suit comme
caractère d'affichage littéral. Sert à afficher tout
caractère compris dans ce tableau comme caractère
d'affichage littéral. Ex. \A permet d'afficher la lettre A
qui dans le cas présent ne sera pas considéré comme
étant un code.
. , : ; - / Virgule décimale et séparateurs des milliers, de date et
d'heure (tout dépend des paramètres régionaux du
Panneau de configuration de Windows).
Mot de
passe
L'attribution de "Mot de passe" à la propriété Masque de
saisie crée une zone de texte permettant la saisie d'un
mot de passe. Tout caractère tapé dans cette zone de
texte est stocké sous cette forme mais s'affiche sous
forme d'astérisque (*).
Dans l'exemple qui nous concerne, voici les masques de saisie que l'on pourrait créer:
pour le matricule (on suppose que ce dernier commence toujours par la lettre A suivie d'une
lettre quelconque puis de 3 chiffres):\AL000
pour le code postal (4 chiffres obligatoires):0000
pour le numéro de téléphone (préfixe: 3 chiffres et numéro de 6 chiffres):000/000000
3.6.9. La propriété "Null interdit"
On règle cette propriété sur Oui si on veut absolument que le champ concerné soit rempli par une
valeur dans tous les enregistrements.
Remarque
Si on attribue la valeur Oui à cette propriété alors que la table contient déjà des enregistrements,
Access nous demande si les données existantes doivent être testées.
3.6.10. La propriété "Chaîne vide autorisée"
En plus de la propriété Null interdit, les champs de type Texte ou Mémo possèdent la propriété
Chaîne vide autorisée. Elle détermine si un champ peut contenir une chaîne de longueur nulle
(pas d'espace).
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 27
3.7. Exercices
Exercice T-01
Créez la table suivante.
TBL_ABONNE_ABO
AB
O_
ID
AB
O_
TIT
RE
AB
O_N
OM
AB
O_
PR
EN
OM
AB
O_
DN
AB
O_
SIT
UA
AB
O_
EM
AIL
AB
O_
CO
MM
EN
TA
IRE
S
AB
O_
PH
OT
O
…
Caractéristiques des champs de cette table:
Champ Type Notes
ABO_ID NuméroAuto Ce champ sera défini comme clé primaire
ABO_TITRE Texte
ABO_NOM Texte
ABO_PRENOM Texte
ABO_DN Date/Heure
ABO_SITUA Texte Au niveau de ce champ, on créera une liste déroulante
proposant les valeurs suivantes:
- Demandeur emploi
- Handicapé
- Omnio
- RAS
- Retraité
ABO_EMAIL Lien hypertexte
ABO_COMMENTAIRES Mémo
ABO_PHOTO Objet OLE
Encodez quelques données dans cette table.
Exercice T-02
Créez la table suivante.
TBL_PERSONNE_PER
PE
R_I
D
PE
R_T
ITR
E
PE
R_N
OM
PE
R_P
RE
NO
M
PE
R_L
OC
_NA
I
SS
AN
CE
PE
R_D
N
PE
R_D
D
…
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 28
Caractéristiques des champs de cette table:
Champ Type Notes
PER_ID NuméroAuto Ce champ sera défini comme clé primaire
PER_TITRE Texte Prévoir une liste déroulante reprenant les
valeurs suivantes: - Madame
- Mademoiselle
- Monsieur
PER_NOM Texte Taille du champ = 35 caractères
PER_PRENOM Texte Taille du champ = 45 caractères
PER_LOC_NAISSANCE Texte Valeur par défaut = "Bastogne"
PER_DN Date/Heure La date de naissance (DN) est valide si elle est
comprise entre le 1/1/1900 et le 31/12/2000
PER_DD Date/Heure La date de décès (DD) est valide si elle est
postérieure à la date de naissance.
De plus, différents formats pourront être expérimentés au niveau des champs DN et DD.
Encodez quelques données dans cette table.
Exercice T-03
Créez les tables suivantesainsi que la relation voulue entre celles-ci (cf. ci-après).
TBL_SPECIALITE_SPE
TBL_MEDECIN_MED
Cette liste est alimentée par la table TBL_SPECIALITE_SPE
Encodez quelques données dans ces tables.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 29
Procédure pour créer une relation entre deux tables:
1°) Activez l'onglet "Outils de base de données".
2°) Cliquez sur le bouton "Relations".
3°) Ajoutez les tables voulues à la fenêtre des relations.
4°) Cliquez sur le premier champ de la relation, puis tout en maintenant le bouton gauche de la
souris enfoncé, glissez jusqu'au champ correspondant dans l'autre table.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 30
5°) Access vous propose de définir les propriétés de la relation. Effectuez les choix voulus puis
cliquez sur "Créer".
Résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 31
4. Les requêtes
4.1. Introduction
Il existe différents types de requêtes: sélection, création de table, ajout, suppression, mise à jour,
analyse croisée, …
Il est possible de créer les requêtes en s'aidant d'un assistant ou en créant tout de manière
personnalisée.
4.2. Créer une requête de type sélection portant sur une table
4.2.1. Créons une requête simple
1°) Ouvrez la base de données voulue (BD_COMMANDE).
2°) Au niveau du Ruban, Sélectionnez l'onglet "Créer" puis cliquez sur le bouton "Création de requête".
3°) Ajoutez la(les) table(s) dans la(les)quelle(s) les données seront extraites. Dans le cas présent,
ajoutez la table "TBL_CLIENT_CLI".
4°) Fermez la fenêtre précédente.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 32
Remarques:
Si par la suite on veut ajouter une table à la requête, il suffit de cliquer sur le bouton suivant.
Une autre méthode pour insérer une table au sein d'une requête consiste à sélectionner la table
voulue au niveau du volet de navigation (partie gauche de la fenêtre) et tout en maintenant le
bouton gauche de la souris enfoncé on peut la faire glisser vers la fenêtre "Requête".
5°) Il convient à présent de sélectionner les différents champs qui doivent être inclus dans la
requête. Il s'agira des champs qui doivent être affichés et/ou ceux qui serviront de critères.
Tous ces champs devront logiquement apparaître au sein de la ligne intitulée "Champ".
Pour ajouter un champ à la sortie, il suffit d'effectuer un double-clic sur celui-ci.
Remarque
Si on désire déplacer plusieurs champs d'une même table on peut les sélectionner en utilisant la
touche Shift (ou Ctrl) puis on les déplace en un bloc vers la ligne voulue. Le système les dispose
alors automatiquement dans les différentes colonnes. Si on veut déplacer tous les champs d'une
table, il faut faire un double clic dans la barre de titre de la table, tous les champs se
sélectionnent alors automatiquement, il ne reste plus qu'à les déplacer.
6°) Pour visualiser le résultat obtenu, cliquez sur le bouton suivant.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 33
Quand on a visualisé le résultat obtenu et que l'on se trouve en mode "Feuille de données", si on
veut apporter certaines modifications à la requête il suffit de cliquer sur le bouton suivant.
Notes
Il ne faut pas oublier d'enregistrer la requête.
Dès son ouverture la requête est exécutée et la feuille de données obtenue est affichée.
Access stocke uniquement le code de la requête et non pas son contenu.
Si on désire que les champs apparaissent avec un intitulé différent au niveau de la feuille de
données obtenue on peut procéder de la façon suivante:
Au sein de la feuille "Requête", il faut cliquer devant le champ concerné et encoder l'intitulé
voulu en terminant par deux points (:).
Exemple:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 34
Voici un aperçu du résultat obtenu:
4.2.2. Trier les données
Dans la fenêtre de création d'une requête, nous disposons d'une ligne permettant de définir les
critères de tri.
4.2.3. Notes
Si on désire que certains champs ne soient pas affichés, il suffit de désactiver la case "Afficher"
qui correspond au champ ne devant pas apparaître. Ce champ pourra cependant jouer le rôle
de critère dans la requête.
Toutes les requêtes créées sont accessibles via le volet de navigation.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 35
4.2.4. Les critères de sélection
Comme leur nom l'indique les requêtes de sélection ont pour but de permettre une sélection de
certaines données issues d'une ou plusieurs tables et cela en fonction de critères déterminés.
Dans une requête, on peut sélectionner des enregistrements dont un des champs est inclus dans
une zone de valeurs. On peut, par exemple, déterminer une date entre le 31/12/2005 et le
31/12/2010 de la façon suivante: Entre #31/12/2005# Et #31/12/2010#
On peut également sélectionner tous les enregistrements caractérisés par une date antérieure au
04/07/2001, le critère s'écrirait de la façon suivante: < #04/07/2001#
Pour les chaînes de caractères, on peut représenter un ensemble quelconque de caractères par
un astérisque et un caractère quelconque par un point d'interrogation.
Si on recherche toutes les personnes dont le nom commence par la lettre C, le critère s'écrira de
la façon suivante: Comme "C*". Si par contre on désire obtenir toutes les personnes dont le
nom ne commence pas par la lettre C, on notera: Pas Comme "C*".
N.B.: Il est inutile de taper les guillemets, le système les ajoute lui-même.
Critères multiples: pour un champ déterminé on peut définir plusieurs critères. On peut par
exemple demander de lister toutes les personnes dont le nom commence par la lettre C ou
la lettre F.
N.B.: Il suffit d'encoder le critère suivant: C* ou F*. Le système complète automatiquement la
syntaxe.
L'expression Nullpermet de sélectionner les enregistrements ayant un champ déterminé
dépourvu de valeurs. L'expression PAS Nullpermet le contraire.
L'opérateur In permet quant à lui d'extraire les enregistrements faisant partie d'un groupe de
valeurs. Si on veut sélectionner les personnes qui habitent Arlon, Bastogne ou Virton, sous le
champ LOCALITE on écrira le critère suivant:In("Arlon";"Bastogne";"Virton")
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 36
4.2.5. Résumé concernant les opérateurs de comparaison
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 37
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 38
4.2.6. Exercices
Exercice R-01
Base de données concernée: BD_BIBLIOTHEQUE
Elaborez les requêtes permettant d'atteindre les objectifs suivants. La table concernée se nomme
"TBL_LIVRE_LIV". Pour chacune des requêtes on affichera les champs suivants: LIV_ID,
LIV_TITRE et LIV_ANNEE_PUBLICATION.
a) Afficher la liste de tous les livres.
b) Afficher la liste de tous les livres. La liste devra être triée par ordre alphabétique du titre.
c) Afficher le livre dont l'identifiant (LIV_ID) est "10251".
d) Afficher les livres portant les identifiants suivants: "10251", "48596", "57458".
e) Afficher la liste des livres dont le titre contient le mot "monde".
f) Afficher la liste des livres dont l'identifiant commence par "25".
g) Afficher la liste des livres publiés entre 1990 et 2000.
4.3. Les opérations de jointure
Dès l'instant où on décide d'ajouter plusieurs tables dans une requête, il faut réfléchir à la façon
avec laquelle les tables seront jointes entre elles. La jointure est représentée par une ligne qui est
interprétée,par défaut, de la façon suivante par Access: "A partir des deux tables, je sélectionne
chacun des enregistrements qui ont des valeurs identiques dans les champs joints".
On peut distinguer deux types de liens:
lien standard;
lien dans la fenêtre de requête.
Les liens standards correspondent aux relations qui sont définies dès la création de la base de
données.
La définition d'un lien au sein de la fenêtre "Requête" s'effectue de la même façon que la création
des liens standards.
Pour supprimer un lien, il suffit de le sélectionner et d'appuyer sur Delete.
4.3.1. Les équijointures
Dans le cas des équijointures, Access sélectionne tous les enregistrements dont les champs joints
sont identiques dans les deux tables.
Exemple
Partons de la base de données BD_COMMANDE qui comprend les 4 tables suivantes:
TBL_CLIENT_CLI
TBL_COMMANDE_COM
TBL_DETAIL_COMMANDE_DET
TBL_PRODUIT_PRO
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 39
Si on réalise une opération d'équijointure entre la table TBL_CLIENT_CLI et la table
TBL_COMMANDE_COM, on pourra par exemple obtenir l'identifiant, le titre, le nom, le prénom
et le numéro des bons de commande pour tous les clients ayant passé au moins une commande.
Résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 40
4.3.2. Les jointures externes
Si on réalise une jointure externe en définissant la table TBL_CLIENT_CLI comme table prioritaire
même pour les clients n'ayant pas passé de commandes, on obtiendra leur identifiant, leur titre,
leur nom et prénom alors que pour les clients ayant passé une ou plusieurs commandes, on
obtiendra le numéro du(des) bon(s) de commande en plus.
Pour définir une telle jointure externe:
1°) Créez la requête suivante.
2°) Effectuez un double-clic sur la ligne de jointure.
3°) Le système propose la boîte de dialogue suivante.
L'option 1 permet de définir une équijointure.
L'option 2 permet de définir une jointure externe avec la table TBL_CLIENT_CLI dominante.
L'option 3 permet de définir une jointure externe avec la table TBL_COMMANDE_COM dominante.
4°) Choisissez l'option 2.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 41
5°) Demandez l'affichage du résultat.
Résultat obtenu:
4.3.3. Les jointures réflexives
La jointure réflexive permet de relier des valeurs dans une même table. Une jointure réflexive est
en fait une jointure d'une table avec elle-même. On parle également d'auto-jointure.
Exemple: soit la table suivante "TBL_TRAVAILLEUR_TRAV" (base BD_TRAVAILLEUR)
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 42
On veut obtenir le matricule, le nom, le prénom de chaque travailleur, ces différentes informations
étant accompagnées du nom et du prénom du supérieur du travailleur concerné.
Résultat à obtenir:
Requête à créer pour obtenir le résultat voulu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 43
4.3.4. Trouver la non-correspondance
Partant de la base de données "BD_COMMANDE", supposons que l'on veuille trouver tous les
produits ne figurant sur aucune commande.
Procédure à suivre:
1°) Activez l'onglet "Créer" puis cliquez sur "Assistant Requête".
2°) Sélectionnez "Assistant Requête de non-correspondance".
3°) Confirmez par OK.
4°) Sélectionnez la table TBL_PRODUIT_PRO car c'est dans cette table que le système devra
extraire les données à afficher.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 44
5°) Sélectionnez la table qui contient les enregistrements correspondants, dans notre cas il s'agit
de TBL_DETAIL_COMMANDE_DET.
6°) Cliquez sur "Suivant".
7°) Veillez à ce que le champ de correspondance soit bien sélectionné puis cliquez sur "Suivant".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 45
8°) Sélectionnez les champs qui devront apparaître au niveau du résultat obtenu. Cliquez sur
"Suivant".
9°) Nommez la requête puis cliquez sur "Terminer".
Résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 46
4.4. Les requêtes avec regroupements, comptages, concaténation, …
4.4.1. Concaténation
Pour fusionner deux champs au niveau d'une requête il suffit d'utiliser l'opérateur &.
Exemple (base BD_COMMANDE – Table TBL_CLIENT_CLI):
On désire créer une requête permettant d'afficher le nom, le prénom, le code postal et la localité de
tous les clients. Mais on veut que le nom et le prénom soient rassemblés au niveau d'une seule
colonne. On aimerait également que le code postal et la localité soient présentés dans une colonne
commune.
Requête à créer:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 47
4.4.2. Opérations diverses
Access met à notre disposition différents types d'opérations:
Compte: affiche le nombre de valeurs.
Max: affiche la valeur maximale.
Min: affiche la valeur minimale.
Moyenne: affiche la valeur moyenne.
Ecartype: calcul de l'écart-type relatif à un ensemble de valeurs.
Somme: le système calcule et affiche la somme des valeurs sélectionnées.
Var: calcul de la variance.
…
Pour accéder aisément à toutes ces opérations, il suffit de demander l'affichage de la ligne "Opération".
Pour ce faire, lorsque vous vous trouvez dans la fenêtre de création d'une requête, cliquez sur le
bouton "Totaux".
Quelques exemples
Base de données concernée: BD_COMMANDE
Objectif n°1
Supposons que l'on veuille afficher le nombre total de produits répertoriés.
Au niveau de la ligne "Opération", choisissez"Compte".
Résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 48
Objectif n°2
Au niveau de la table des produits, on veut obtenir le prix max. et le prix min.
Objectif n°3
On veut obtenir le nombre de clients par localité.
Résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 49
4.5. Exercices
Exercice R-02
Base de données concernée: BD_BIBLIOTHEQUE
Soit les tables suivantes:
Elaborez les requêtes suivantes.
Requête n°1
Afficher la liste de tous les livres en reprenant les informations suivantes:
LIV_CODE_ISBN / LIV_TITRE / AUT_NOM / AUT_PRENOM / EDI_NOM
Les données doivent être triées par ordre alphabétique deLIV_TITRE.
Requêten°2
Afficher la liste des livres écrits par Jean Giono.
Requêten°3
Afficher la liste des livres qui sont classés dans la catégorie "Littérature".
Requêten°4
Afficher la liste des livres qui ont déjà été empruntés.
Requêten°5
Afficher la liste des livres qui n'ont pas encore été empruntés.
Requêten°6
Afficher en vis-à-vis de chaque emprunteur le nombre de livres empruntés.
Requêten°7
Afficher la liste des livres qui n'ont pas encore été restitués (ID_LIVRE, TITRE, DATE_EMPRUNT).
Requêten°8
Afficher en vis-à-vis de chaque livre, le nombre de fois que celui-ci a été emprunté.
Requêten°9
Afficher le montant total encaissé pour les emprunts réalisés en 2010.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 50
Requêten°10
Afficher le nombre de livres par catégorie (classification).
Requêten°11
Afficher le nombre d'éditeurs par ville (on suppose, que dans la table TBL_EDITEUR_EDI, il n'y a
pas plusieurs villes différentes portant le même nom).
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 51
5. Les formulaires
5.1. Création d'un formulaire à l'aide de l'assistant
N.B.: Les explications sont données en considérant que l'on repart de l'ouverture de la base de données.
1°) Ouvrez la base de données voulue.
2°) Activez l'onglet "Créer" dans lequel vous trouvez différents boutons permettant de créer
des formulaires.
Permet de créer instantanément un formulaire de type
"Colonne simple" en reprenant tous les champs de la table
ou la requête sélectionnée.
Permet de créer un formulaire de manière entièrement
personnalisée.
Un assistant vous aide pas à pas pour créer le formulaire.
Le bouton "Plus de formulaires" permet de créer
instantanément différents types de formulaires.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 52
Exemple:
1°) Sélectionnez la table TBL_PERSONNE_PER créée précédemment.
2°) Cliquez sur "Assistant Formulaire".
3°) Effectuez les choix voulus au niveau des fenêtres proposées.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 53
Résultat obtenu:
5.2. Utilisation d'un formulaire
Avec la présentation en mode "Formulaire" on peut aisément encoder les données, modifier
certains enregistrements existants, ...Il ne faut pas perdre de vue que le formulaire ne contient pas
de données lui-même, les données sont stockées dans la(les) table(s) source(s) du formulaire.
Pour passer d'un champ à l'autre, il suffit d'utiliser la touche Return ou la touche de tabulation.
Pour faire défiler les enregistrements, on peut utiliser les boutons présents dans le bas de
la fenêtre:
5.3. Personnalisation d'un formulaire
5.3.1. Introduction
Bien que le résultat obtenu à l'aide de l'assistant soit déjà satisfaisant, il est
souvent nécessaire de personnaliser les formulaires obtenus.
Pour ce faire, quand le formulaire est actif à l'écran on peut sélectionner l’option
présentée ci-contre.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 54
Aperçu de ce que l'on obtient:
On peut alors distinguer trois zones principales au niveau du formulaire:
En-tête de formulaire.
Détail.
Pied de formulaire.
N.B.: Deux autres zones peuvent venir s'y ajouter: - En-tête de page.
- Pied de page.
5.3.2. Modification de l'apparence du formulaire
Objectifs: - on désire que les intitulés des champs apparaissent en italique;
- on veut d'autre part que le titre soit affiché dans une taille de 21 points.
1°) Il faut s'assurer que l'on se trouve bien en mode Création du formulaire.
2°) Sélectionnez le titre du formulaire (par un simple clic sur l'objet).
3°) Modifiez la taille, la mise en forme (gras, italique, ...) en se servant des icônes disponibles dans
"Outils de création de formulaire/Format".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 55
N.B.:
Si on désire obtenir plus de possibilités, effectuez un clic droit puis sélectionnez "Propriétés" dans
le menu contextuel.
Le système vous propose la fenêtre suivante:
Vous pouvez alors choisir la couleur des caractères, définir une bordure autour de l'objet, fixer une
taille limite pour les champs, ...
4°) Sélectionnez les différents intitulés des champs (pour effectuer une sélection multiple, maintenez
la touche Shift (pas Shift Lock) enfoncée et cliquez sur les différents intitulés). Une autre solution
consiste à tracer un rectangle de sélection qui coupe les contrôles qui vous intéressent(a).
(a)
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 56
5°) Demandez une mise en italique.
6°) Revenez en mode Formulaire afin d'observer le résultat obtenu. Pour ce faire, cliquez sur le
bouton "Mode Formulaire".
7°) Terminez en enregistrant le formulaire.
5.3.3. Comment déplacer un contrôle ?
1°) Passez en mode Création du formulaire.
2°) Cliquez sur le contrôle voulu afin de le sélectionner.
3°) Des poignées apparaissent au niveau du contrôle.
4°) Pointez sur une des bordures de la sélection (pas sur une poignée), le pointeur prend la forme
suivante: .
5°) Cliquez et tout en maintenant le bouton gauche de la souris enfoncé, faites glisser le contrôle à
l'endroit voulu. Dans le cas présent, les contrôles associés se déplacent ensemble, par exemple
l'étiquette et la zone de texte.
Pour déplacer un contrôle sans son étiquette (ou l'inverse):
1°) Cliquez sur le contrôle voulu afin de le sélectionner.
2°) Des poignées apparaissent au niveau du contrôle.
3°) Cliquez dans une des poignées (carrés plus grands) puis tout en maintenant le bouton gauche
de la souris enfoncé, faites glisser le contrôle à l'endroit voulu.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 57
5.3.4. Changer l'ordre de tabulation
Si on effectue une modification de la position des champs, l'ordre de tabulation entre les champs
ne se trouve pas automatiquement modifié, ceci peut s'avérer gênant au cours de l'utilisation du
formulaire. Voici la procédure à suivre pour modifier l'ordre de tabulation.
Procédure:
1°) Ouvrez le formulaire en mode Création.
2°) Cliquez sur le bouton "Ordre de tabulation" présent dans "Outils de création de formulaire/Création".
3°) Veillez à ce que la section "Détail" soit activée au sein de la boîte de dialogue qui s'est ouverte.
4°) Sélectionnez le champ voulu en cliquant sur la case grise située à gauche de celui-cipuis tout en
maintenant le bouton gauche de la souris enfoncé, faites glisser le champ à la position voulue.
Les autres éléments se décalent en conséquence. On modifie ainsi l'ordre de tabulation pas la
position des contrôles sur le formulaire.
N.B.:
Le bouton de commande "Ordre automatique" permet d'établir un ordre de tabulation
directement en rapport avec l'ordre de disposition des champs au sein du formulaire.
Toujours penser à enregistrer les modifications effectuées.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 58
5.3.5. Changer le thème d'un formulaire
Le thème choisi détermine les couleurs, les polices de caractères, … qui sont utilisées.
Procédure pour modifier le thème:
1°) Ouvrez le formulaire en mode Création.
2°) Assurez-vous que le formulaire soit bien sélectionné. Au besoin, cliquez dans la case de
sélection située à l'intersection des règles horizontale et verticale.
3°) Utilisez le bouton "Thèmes" présent dans "Outils de création de formulaire/Création".
4°) Cliquez sur le thème souhaité.
5.4. Formulaire graphique
5.4.1. Introduction
Avant de procéder au traçage du graphique, il faut définir quelles sont les données que l'on désire
représenter. Ensuite, l'Assistant Graphique nous aidera dans notre tâche.
Si tous les champs à représenter figurent dans la même table, il suffit de baser le graphique sur
celle-ci. Toutefois, si on désire représenter des champs issus de deux ou plusieurs tables, ou bien
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 59
des résultats de calculs réalisés sur des champs, il faudra commencer par créer une requête qui
unira ces tables ou réalisera ces calculs, puis on pourra baser le graphique sur cette requête.
5.4.2. Les graphiques indépendants
Ces graphiques dits "indépendants" permettent une vue globale des données, il ne s'agit pas d'un
graphique qui va se modifier lors du passage d'un enregistrement à l'autre. Ainsi, nous pourrons
utiliser un graphique indépendant pour totaliser les ventes par catégorie, pour compter les clients
que l'on a dans chaque province, pour montrer les ventes moyennes, par année ou par produit, ...
Objectif:
Partant de la table TBL_PRODUIT_PRO de la base de données "BD_COMMANDE", on a pour
objectif de créer un graphique de type Histogramme reprenant l'évolution de PRO_QSTOCK en
fonction de PRO_NPRO.
Résultat à obtenir:
Procédure:
1°) Activez l'onglet "Créer" puis cliquez sur le bouton "Création de formulaire".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 60
2°) Vous vous trouvez en mode Création d'un nouveau formulaire. Déroulez la liste présentant les
contrôles disponibles.
3°) Cliquez sur "Graphique".
4°) Cliquez dans le formulaire, puis tout en maintenant le bouton gauche de la souris enfoncé,
définissez la zone dans laquelle le formulaire sera créé.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 61
5°) Dès que la zone voulue est définie, l'Assistant se met en fonctionnement. Au niveau de la
fenêtre suivante, il faut sélectionner la table TBL_PRODUIT_PRO qui contient les données
servant de base à la création du formulaire graphique.
6°) Après avoir cliqué sur Suivant, vous vous trouvez face à la fenêtre suivante. Il faut
sélectionner les champs devant apparaître au niveau du graphique.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 62
7°) Après avoir cliqué sur le bouton de commande "Suivant" dans la fenêtre précédente, le système
vous donne l'opportunité de choisir le type de graphique souhaité.
8°) Cliquez sur Suivant. Le système vous propose la boîte de dialogue suivante.
9°) Vous pouvez alors constater que le système a, par défaut, indiqué la somme des quantités en
stock (par produit) au niveau de l'axe des ordonnées. Cette action n'est pas nécessaire, il suffit
d'afficher le champ PRO_QSTOCK. Pour supprimer la somme, effectuez un double clic sur
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 63
l'indication "SommeDePRO_QSTOCK". Le système affiche une liste au niveau de laquelle il
suffit de sélectionner l'option "Aucun" puis confirmez par OK.
Le système indiquera ainsi les quantités en stock sans appliquer aucune opération.
10°) Dans la fenêtre qui suit, encodez un titre pour le graphique et demandez de ne pas afficher de
légende dans le cas présent.
11°) Cliquez sur "Terminer" afin d'obtenir le résultat suivant:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 64
12°) Vous obtenez un graphique "type". Pour visualiser le graphique reprenant les données de la
table TBL_PRODUIT_PRO, passez en mode Formulaire.
Résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 65
13°) On peut constater que le résultat obtenu ne correspond pas exactement au résultat attendu.
Il manque: les commentaires voulus au niveau des axes des abscisses et des ordonnées,
l'affichage des valeurs au-dessus des bâtonnets. De plus, la taille des différents éléments de
texte n'est pas optimale.
14°) Avant tout, il faut se placer en mode Création du formulaire.
15°) Sélectionnez le graphique puis en utilisant les poignées, redimensionnez ce dernier.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 66
16°) D'une manière générale, lorsque vous souhaitez modifier des éléments internes au graphique,
commencez par effectuez un double-clic dans celui-ci pour vous placer en mode Modification.
Lorsque le graphique se trouve dans le mode Modification, il est entouré d'une bordure
hachurée.
17°) Pour personnaliser un élément du graphique, il suffit d'effectuer un double-clic sur cet élément et
vous obtiendrez une fenêtre permettant d'appliquer la personnalisation voulue. Par exemple, si
vous effectuez un double-clic sur l'axe des abscisses, vous obtenez la fenêtre suivante.
Via l'onglet "Police", il est alors possible de modifier la taille des caractères, …
N.B.: pour information, certaines modifications peuvent être réalisées via la barre d'outils de mise
en forme qui s'affiche lorsque l'axe est sélectionné.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 67
18°) Pour ajouter les commentaires voulus au niveau des axes, ouvrez le menu "Graphique" et
sélectionnez l'option "Options du graphique".
19°) Dans la fenêtre suivante (onglet "Titres"), vous pouvez encoder les éléments voulus.
20°) Dans la même boîte de dialogue, au niveau de l'onglet "Etiquettes de données", vous pouvez
cocher "Valeur" afin que les valeurs apparaissent au-dessus des bâtonnets.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 68
5.4.3. Les graphiques dépendants
5.4.3.1. Introduction
Pour créer un graphique dépendant ou autrement nommé "lié":
1. Créer et enregistrer le formulaire ou l'état dans lequel on veut placer le graphique. Il faut
s'arranger pour qu'il y ait suffisamment de place libre pour que le formulaire ou l'état puisse
accueillir le graphique.
2. Si on souhaite baser notre graphique sur une requête, il faut créer cette requête.
3. Ouvrir en mode création le formulaire ou l'état créé, puis utiliser le bouton "Graphique"
disponible au niveau des contrôles.
5.4.3.2. Un exemple concret
Objectif:
Créer le formulaire suivant:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 69
Procédure:
1°) Activez l'onglet "Créer" dans le Ruban puis cliquez sur "Assistant Formulaire".
2°) Choisissez la table TBL_CLIENT_CLI comme source principale du formulaire puis
sélectionnez les champs devant apparaître dans ce dernier.
3°) Suivez les étapes proposées par l'Assistant comme repris ci-après.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 70
4°) Cliquez sur "Terminer. Vous obtenez le résultat suivant.
5°) Enregistrez ce formulaire.
6°) Il faut à présent créer la requête sur laquelle le graphique incorporé se basera, on peut utiliser
les méthodes étudiées précédemment. Toutefois, si on souhaite que le graphique change
lorsqu'on passe d'un enregistrement à un autre, on doit y inclure un champ qui assurera la
liaison entre le graphe d'une part, et le formulaire ou l'état d'autre part. C'est ce champ, en
effet, qui indique au graphique quelles données il doit afficher.Dans notre cas, le champ de
liaison est CLI_ID.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 71
N.B.: ne pas oublier de définir les regroupements et la somme.
7°) Enregistrez et fermez la requête.
8°) Maintenant que nous disposons de l'état ou du formulaire qui accueillera le graphique ainsi
que de la requête sur laquelle il se fondera, nous pouvons incorporer le graphique dans ce
formulaire ou dans cet état. Ouvrezen mode Création, le formulaire ou l'état dans lequel nous
voulons incorporer le graphique. Si nécessaire, augmentez la hauteur de la zone "Détail" afin
de pouvoir aisément dessiner la zone susceptible de contenir le graphique.
9°) Au niveau des onglets "Outils de création de formulaire/Création", sélectionnez l'outil "Graphique".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 72
10°) En cliquant-glissant, tracez un rectangle dans lequel le graphique viendra s'insérer.
11°) L'Assistant démarre. Sélectionnez la requête à partir de laquelle le graphique sera créé.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 73
12°) Suivez les différentes étapes comme illustré ci-après.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 74
13°) La somme des quantités commandées, ayant déjà été réalisée dans la requête, effectuez un
double-clic dans la zone indiquée dans la page précédentepuis choisissez "Aucun" dans la
fenêtre suivante.
N.B.: l'étape suivante est très importante car c'est à ce niveau que la liaison voulue est faite entre le
graphique et le formulaire principal.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 75
14°) Vous obtenez le graphique suivant. Il s'agit d'un graphique modèle qui ne correspond pas
encore aux données de la table source.
15°) Passez en mode Formulaire puis activez un client ayant déjà passé des commandes en 2010
afin de voir le graphique de type secteur.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 76
5.4.4. Personnaliser un graphique
Pour rappel, pour personnaliser un graphique, il faut passer en mode Création du formulaire puis
effectuez un double-clic sur le graphique pour passer en mode Modification (à moins que ce mode
soit déjà actif). Ensuite, il suffit d'effectuer un double-clic sur l'élément que vous souhaitez
personnaliser. Access propose une fenêtre qui dépend de l'élément sur lequel vous avez effectué
un double-clic.
5.4.5. Quelques conseils
Quelques conseils pour créer des graphiques faciles à interpréter:
Choisir le type de graphique qui représente les données le plus clairement possible. Ainsi,
les graphiques en courbe conviennent particulièrement pour traduire des tendances. Les
graphiques en aires et à barres empilées illustrent bien la manière dont chaque élément
participe au total; quant aux histogrammes et aux graphiques à barres simples, ils
permettent de comparer efficacement des valeurs. Enfin, les graphiques à secteurs
montrent la part relative des éléments d'un tout.
Access propose de nombreux types de graphique, il suffit de chercher votre bonheur.
Éviter d'encombrer un graphique avec des données et des étiquettes non pertinentes qui
font que le message que l'on veut faire passer ne passe, en définitive, absolument plus !
Mettre les informations primordiales en évidence. Eclater les secteurs principaux d'un
graphique à secteurs, affecter des couleurs voyantes ou des motifs facilement repérables
aux marques de données clés; ou ajouter un commentaire.
Ne pas abuser des graphiques en trois dimensions. Si leur effet est saisissant, leur
interprétation est souvent complexe. Ce sont indéniablement les graphiques 2D qui
représentent les données de la manière la plus claire.
Utiliser une échelle adaptée pour les graphiques représentant des données apparentées afin
d'en faciliter la comparaison.
5.4.6. Geler les données dans le graphique
Il faut se rappeler que les graphiques basés sur une table ou une requêteaffichent
systématiquement les données mises à jour. Si cette actualisation ne nous convient pas, il faudra
geler les données afin que le graphe représente une situation figée à un moment donné et, par
conséquent, n'évolue plus.
Deux techniques sont à notre disposition : convertir le graphique en image (voir ci-après) ou
dissocier le graphique de la table ou de la requête sous-jacente en créant et en exécutant une
requête "Création de table" qui place les données sélectionnées dans une table à part qui ne change
jamais. On peut alors baser le graphique sur la table gelée plutôt que sur les données "vivantes".
Convertir le graphique en Image
Pour que les données du graphique ne soient plus jamais mises à jour même si les données de la
table ou de la requête sous-jacente évoluent, on peut convertir le graphique en image.
Procédure:
1°) Ouvrez en mode Création le formulaire ou l'état qui contient le graphique indépendant à convertir.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 77
2°) Effectuez un clic avec le bouton droit de la souris dans le graphique puis sélectionnez
"Remplacer par/Image".
Access vous demande de confimer.
Remarques:
Lorsque la conversion est réalisée, on ne peut plus faire marche arrière.
Si on sait que les données représentées n'évolueront pas, la conversion du graphe en image
accélère l'ouverture du formulaire ou de l'état.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 78
5.5. Exercices
Exercice F-01
En utilisant la table TBL_ABONNE_ABO créée dans le cadre de l'exercice T-01 (p. 27), créez
le formulaire suivant.
Exercice F-02
En utilisant la table TBL_MEDECIN_MED créée dans le cadre de l'exercice T-03 (p. 28), créez
le formulaire suivant. En utilisant ce formulaire, encodez quelques données puis vérifiez dans la
table TBL_MEDECIN_MED que les nouvelles données y sont bien stockées.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 79
Exercice F-03
En utilisant les tables voulues de la base de données BD_BIBLIOTHEQUE, créez un formulaire
contenant le graphique suivant.
Exercice F-04
En utilisant les tables voulues de la base de données BD_BIBLIOTHEQUE, créez le formulaire suivant.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 80
5.6. Création etutilisation des sous-formulaires
La création d'un formulaire principal lié par exemple à deux sous-formulaires se fait sur base de
tables liées par des relations de type 1-N.
Dans ce qui suit, on fera référence à la base de données "BD_COMMANDE".
Au niveau de cette base de données, on veut créer un formulaire permettant de gérer simultanément
les tables TBL_CLIENT_CLI, TBL_COMMANDE_COM et TBL_DETAIL_COMMANDE_DET.
Formulaire à obtenir:
formulaire principal sous-formulaire "COMMANDES" Sous-formulaire
"CONTENU DE LA COMMANDE ACTIVE"
En cliquant sur les flèches situées dans le bas de la fenêtre, on peut faire défiler les différents
enregistrements de la table TBL_CLIENT_CLI. Pour chaque client, on visualisera l'identifiant,
le nom et le prénom. De plus, au niveau du sous formulaire "COMMANDES", on peut voir les
numéros des bons de commande qui ont été passés par le client qui figure à cet instant à l'écran.
De la même façon, au sein du sous-formulaire "CONTENU DE LA COMMANDE ACTIVE", on peut
voir le détail des produits qui ont été commandés et cela pour la commande qui est active au
niveau du sous-formulaire "COMMANDES".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 81
Si pour un client déterminé, on désire visualiser le contenu d'une autre commande que celle qui est
active à cet instant, on peut cliquer sur le numéro de la commande qui nous intéresse
(au niveau du sous-formulaire "COMMANDES") le contenu du sous-formulaire "CONTENU DE LA
COMMANDE ACTIVE" est alors automatiquement mis à jour.
N.B.: Dans le bas du sous-formulaire "COMMANDES ", on dispose également de flèches qui
permettent de passer d'un enregistrement à l'autre.
Procédure:
1°) Ouvrez la base de données "BD_COMMANDE". Au niveau du Ruban, activez l'onglet "Créer"
puis cliquez sur "Assistant Formulaire".
2°) Sélectionnez la table TBL_CLIENT_CLI ainsi que les champs devant figurer dans le formulaire
principal.Ensuite ne cliquez pas encore sur le bouton "Suivant".
3°) Au niveau de la liste "Tables/Requêtes", sélectionnez la table TBL_COMMANDE_COM qui
permettra d'alimenter le premier sous-formulaire. Vous pouvez ensuite transférer le(s)
champ(s) voulu(s) (provenant de la table TBL_COMMANDE_COM) vers la liste "Champs
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 82
sélectionnés". Dans notre exemple, il s'agit des champs COM_NCOM et COM_DATE.
Ensuite ne cliquez pas encore sur le bouton "Suivant".
4°) Au niveau de la liste "Tables/Requêtes", sélectionnez la table TBL_DETAIL_COMMANDE_DET
qui permettra d'alimenter le deuxième sous-formulaire. Vous pouvez ensuite transférer le(s)
champ(s) voulu(s) (provenant de la table TBL_DETAIL_COMMANDE_COM) vers la liste
"Champs sélectionnés". Dans notre exemple, il s'agit des champs PRO_NPRO, DET_QCOM et
DET_PU_COM.
5°) Cliquez sur le bouton "Suivant".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 83
6°) Indiquez que les données doivent être affichées par client. Ceci permet de bien mettre en
évidence le fait que le formulaire lié à la table TBL_CLIENT_CLI est bien le formulaire principal.
7°) Après avoir cliqué sur Suivant, choisissez un type de présentation pour chaque sous-formulaire.
8°) Encodez les titres voulus et cliquez sur le bouton de commande Terminer.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 84
Résultat obtenuen activant un client ayant passé des commandes en 2010:
9°) A présent, nous pouvons personnaliser ce formulaire afin d'obtenir le résultat voulu.
Pour pouvoir apporter les modifications voulues au formulaire, il faut passer en mode
Création, pour ce faire, il suffit de cliquer sur le bouton "Mode Création". Il est également
possible d'utiliser le bouton suivant présent dans le coin inférieur droit de l'écran
10°) Déplacez, redimensionnez les éléments voulus. Modifiez certains libellés. Ci-après figurent
quelques rappels et indications permettant de réaliser ces différentes tâches.
Résultat à obtenir:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 85
Pour déplacer les contrôles indépendamment les uns des autres, il faut se positionner au
niveau des poignées (carrés) présentes dans le coin supérieur gauche des contrôles.
Pour redimensionner un contrôle, sélectionnez celui-ci puis agissez au niveau des poignées
situées sur le contour.
Pour sélectionner tous les contrôles situés à la même hauteur, positionnez le pointeur de la
souris dans la règle verticale en face de ces contrôles (il prend la forme d'une petite flèche
noire orientée vers la droite) puis effectuez un simple clic.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 86
Pour déplacer simultanément plusieurs contrôles, sélectionnez ceux-ci, placez-vous sur
ceux-ci puis cliquez et tout en maintenant le bouton gauche de la souris enfoncé, faites
glisser les contrôles à l'endroit voulu.
Pour aligner un ensemble de contrôles en haut, à droite, … il est possible de sélectionner
ceux-ci puis d'utiliser les options disponibles via "Outils de création de
formulaire/Organiser/Boutons Redimensionnement et classementpuis Aligner".
N.B.: d'autres options relatives à la taille des contrôles, … sont disponibles.
Voici le résultat obtenu:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 87
11°) Vous pouvez à présent créer une liste déroulante au niveau du sous-formulaire "CONTENU DE
LA COMMANDE ACTIVE" afin que les utilisateurs puissent aisément sélectionner les produits
sur base du libellé et non pas du numéro. Pour ce faire, suivez les indications reprises ci-après.
Passez en mode Création du formulaire.
Elargissez les contrôles (étiquette et zone de texte) PRO_NPRO.
Effectuez un clic avec le bouton droit de la souris sur la zone de texte PRO_NPRO puis
sélectionnez "Remplacer par/Zone de liste déroulante".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 88
Vous obtenez une liste déroulante.
Il faut à présent définir le contenu de la liste déroulante. Pour ce faire, effectuez un clic
droit sur la liste PRO_NPRO puis sélectionnez "Propriétés".
Dans la fenêtre "Propriétés", cliquez sur le bouton suivant à droite de la propriété
"Contenu" qui se trouve dans l'onglet "Données".
Créez la requête qui alimentera la liste déroulante.
Fermez la requête et enregistrez les modifications
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 89
Au sein de l'onglet "Format" de la fenêtre des propriétés, définissez les propriétés
suivantes: "Nbre colonnes", "Largeurs colonnes" et "Largeur liste".
Voici le résultat obtenuen mode Formulaire:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 90
Exercice F-05
Base de données concernée: BD_BIBLIOTHEQUE
Créez le formulaire suivant. Ce dernier comporte deux sous-formulaires.
En utilisant le formulaire et les sous-formulaires créés, encodez les données de l'emprunt suivant.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 91
5.7. Création d'un formulaire sans utiliser les assistants
5.7.1. Introduction
On peut facilement créer un formulaire sans avoir recours aux assistants.
Il est également intéressant de rappeler que les formulaires peuvent être visualisés suivant
différents modes.
Mode Formulaire
Le mode Formulaire permet d'ajouter, de modifier, de supprimer et de consulter des données.
Il s'agit du mode d'utilisation classique des formulaires.
Mode Page
Ce mode est apparu avec la version 2007 d'Access.Le mode Page s'avère être un puissant éditeur
Wysiwyg (What You See Is What You Get). Vous visualisez le formulaire comme dans le mode
Formulaire tout en pouvant déplacer les contrôles comme dans le mode Création. Cependant,
toutes les actions permises dans le mode Création ne sont pas possibles dans ce mode. Tous les
modes d'affichage sont donc intéressants et ont leurs spécificités.
Mode Création
Comme son nom l'indique, ce mode permet de créer mais également de modifier un formulaire
existant. On pourra insérer de nouveaux objets dans le formulaire, définir différentes propriétés
(épaisseur des traits, couleur des caractères, mise en gras,...).Pour ce faire, on dispose de différents
outils au niveau du Ruban.
5.7.2. Exemple n°1
Base de données concernée: BD_COMMANDE
Procédure:
1°) Activez l'onglet "Créer" puis cliquez sur "Création de formulaire".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 92
2°) Activez les onglets "Outils de création de formulaire/Création" puis cliquez sur "Ajouter des
champs existants" afin d'afficher la liste des champs.
3°) Vous pouvez faire glisser les champs voulus de la liste des champs présente à droite vers la
partie "Détail" du formulaire.
4°) Il est possible de modifier la position, la dimension des contrôles, …
5°) Passez en mode Formulaire pour tester celui-ci.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 93
5.7.3. Exemple n°2: utilisation d'autres contrôles que les étiquettes et les zones de texte
Objectifs:
Créer la table suivante.
Créer le formulaire suivant.
Procédure:
1°) Activez l'onglet "Créer" puis cliquez sur "Création de formulaire".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 94
2°) Cliquez sur le bouton "Ajouter des champs existants" afin d'afficher la liste des champs.
3°) Faites glisser les champs VOY_ID, VOY_DESTINATION, VOY_DATE_DEPART et
VOY_DATE_RETOUR vers le formulaire.
4°) Au niveau des propriétés du formulaire, définissez la table TBL_VOYAGE_VOY comme
source de celui-ci.
5°) Sélectionnez le contrôle "Groupe d'options" au niveau de l'onglet "Création" qui dépend de
l'onglet "Outils de création de formulaire".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 95
6°) Dessinez le groupe d'options sur le formulaire. Suivez les différentes étapes proposées par
l'Assistant.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 96
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 97
Résultat obtenu:
7°) Ajoutez les champs "VOY_ILLUSTRATION_CATALOGUE" et "VOY_COMPLET" sur
le formulaire.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 98
8°) Passez en mode Formulaire et testez le fonctionnement de celui-ci.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 99
6. Les états
6.1. Introduction
L'objectif lors de la création d'un état consiste à concevoir un modèle de présentation des données
qui pourra être utilisé au cours de l'impression totale ou partielle des données.
6.2. Création d'un état via l'Assistant
6.2.1. Présentation
N.B.: La base de données BD_TRAVAILLEUR doit être ouverte.
Procédure:
1°) Activez l'onglet "Créer" au niveau du ruban puis cliquez sur "Assistant Etat"
2°) Sélectionnez la table source puis les champs qui doivent apparaître au niveau de l'état.
Cliquez sur "Suivant".
3°) L'Assistant demande ensuite si on souhaite un niveau de regroupement. Dans le cas présent,
nous ne définirons pas de regroupement, vous pouvez donc cliquer directement sur "Suivant".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 100
4°) Définissez les critères de tri voulus puis cliquez sur "Suivant".
5°) Choisissez le type de disposition, définissez l'orientation de la page, … puis cliquez sur "Suivant".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 101
6°) Définissez un titre puis cliquez sur "Terminer".
Voici le résultat obtenu:
Pour personnaliser l'état, il suffit de passer en mode Création de ce dernier. Pour ce faire, de
nombreuses techniques existent, une des plus simples et polyvalentes consiste à effectuer un clic
droit dans l'état puis à sélectionner l'option "Mode Création".
Aperçu de l'état en mode Création:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 102
On peut distinguer plusieurs sections:
En-tête état
Cette zone contient le titre de l'état et d'autres informations ne devant apparaître qu'une seule fois
au début de l'état.
En-tête de page
Le contenu de cette zone sera répété sur chaque page.
Section Détail
Contient les données proprement dites. C'est dans cette zone que le contenu des champs sera
énuméré.
Pied de page
Le contenu du pied de page est répété en bas de chaque page. Dans le cas qui nous concerne, le
système nous propose d'indiquer la date et le numéro de page.
Pied état
Il s'agit de données qui ne figureront qu'en fin d'état.
Le déplacement, le redimensionnement des contrôles, … s'effectuent comme pour les formulaires.
6.2.2. Exercice E-01
Base de données concernée: BD_BIBLIOTHEQUE
Créez l'état suivant dont la source est la table TBL_LIVRE_LIV.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 103
6.3. Les différents modes d'affichage des états
Mode Création
Ce mode est utilisé pour personnaliser l'état: ajout, suppression de contrôles, redimensionnement
et déplacement d'éléments, …
Aperçu avant impression
Ce mode est utilisé afin de vérifier la présentation avant d'imprimer.
Mode Page
Il s'agit d'un mode intermédiaire entre le mode Création et le mode Aperçu. Il permet de
retoucher à certains éléments: redimensionnement, déplacement de contrôles, …
Mode Etat
Permet d'obtenir l'état comme en mode Aperçu avant impression mais permet en plus de placer
des données dans le presse-papiers après sélection ainsi que l'application de filtrage. Aucune
personnalisation de présentation n'est cependant possible dans ce mode.
6.4. Création d'un état avec définition d'un regroupement
6.4.1. Présentation
Objectif:
Créer l'état suivant:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 104
Procédure:
1°) Activez l'onglet "Créer" au niveau du ruban puis cliquez sur "Assistant Etat".
2°) Effectuez les choix voulus au niveau des différentes étapes proposées par l'Assistant et
présentées ci-après.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 105
3°) Vous obtenez ce qui suit.
4°) Passez en mode Création puis personnalisez l'état de la manière suivante:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 106
IMPORTANT
Si vous ne souhaitez pas qu'Access gère automatiquement les couleurs de fond appliquées en
alternance danscertaines zones, il faut sélectionner la zone concernée, utiliser le bouton "Autre
couleur de ligne" présent dans "Outils de création d'état/Format" et sélectionner "Aucune couleur".
Après personnalisation, voici le résultat obtenu:
6.4.2. Exercice E-02
Base de données concernée: BD_BIBLIOTHEQUE
Commencez par créer une requête qui permettra d'extraire les données voulues des tables
TBL_CLASSIFICATION_CLA et TBL_LIVRE_LIV. L'état sera ensuite créé sur base de cette requête.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 107
6.5. Création d'étiquettes
6.5.1. Présentation
Base de données concernée: BD_COMMANDE
Objectif:
Créer les étiquettes suivantes:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 108
Procédure:
1°) Ouvrez la base de données voulue (BD_COMMANDE).
2°) Activez l'onglet "Créer" puis cliquez sur "Etiquettes".
3°) Suivez les différentes étapes proposées par l'Assistant comme repris ci-après.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 109
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 110
Voici le résultat obtenu:
6.5.2. Exercice E-03
Base de données concernée: BD_BIBLIOTHEQUE
Créez les étiquettes suivantes (format L7159).
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 111
6.6. Création d'un état entièrement personnalisé
6.6.1. Présentation
Base de données concernée: BD_COMMANDE
Objectif:
Créer l'état suivant:
Procédure:
1°) Ouvrez la base de données voulue (BD_COMMANDE).
2°) Créez la requête suivante (QRY_BON_COMMANDE) qui rassemble toutes les données
nécessaires pour créer l'état.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 112
3°) Activez l'onglet "Créer" puis cliquez sur "Création d'état".
4°) Effectuez un double-clic dans la zone située à gauche de la règle horizontale.
5°) Définissez la source de l'état: QRY_BON_COMMANDE.
6°) Cliquez sur le bouton "Regrouper et trier" présent dans l'onglet "Création".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 113
7°) Cliquez sur "Ajouter un groupe" et définissez le champ de regroupement "COM_NCOM".
8°) Cliquez sur "sans section de pied de page" puis sélectionnez "avec une section de pied de
page". Cet intitulé peut prêter à confusion, il s'agit en fait de l'ajout d'un pied de groupe.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 114
9°) Faites glisser les champs voulus de la liste de champs vers l'état en mode Création.
10°) Passez en mode "Aperçu avant impression".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 115
6.6.2. Exercice (E-04)
Base de données concernée: BD_BIBLIOTHEQUE
Créez l'état suivant.
6.7. Utilisation d'une mise en forme conditionnelle au sein d'un état
6.7.1. Présentation
Base de données concernée: BD_COMMANDE
Objectif:
Créer l'état suivant:
Note:
Dans la colonne COMPTE, si la
valeur est:
inférieure à 0, elle doit être mise
en gras et en couleur rouge;
égale à 0, elle doit être
soulignée;
supérieure à 0, elle doit être
mise en italique.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 116
Procédure:
1°) Ouvrez la base de données voulue (BD_COMMANDE).
2°) A l'aide de l'Assistant Etat, créez l'état suivant.
3°) Sélectionnez la zone de texte "CLI_COMPTE" puis cliquez sur le bouton "Mise en forme
conditionnelle" présent dans "Outils de création d'état/Format".
4°) Cliquez sur le bouton "Nouvelle règle".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 117
5°) Complétez la première règle de la manière suivante puis cliquez sur OK.
6°) Cliquez sur le bouton "Nouvelle règle".
7°) Complétez la deuxième règle de la manière suivante puis cliquez sur OK.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 118
8°) Cliquez sur le bouton "Nouvelle règle".
9°) Complétez la troisième règle de la manière suivante puis cliquez sur OK.
10°) Voici un récapitulatif des règles créées. Validez en cliquant sur OK.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 119
6.7.2. Exercice (E-05)
Base de données concernée: BD_BIBLIOTHEQUE (table TBL_LIVRE_LIV)
Créez l'état suivant en utilisant une mise en forme conditionnelle(cf. notes ci-après).
Notes:
Définissez une mise en forme conditionnelle au niveau de la zone de texte relative à l'année de
publication. Si l'année est inférieure à 2000, elle doit être soulignée sinon elle doit être mise en
gras et en rouge foncé.
Lors de la création de l'état via l'assistant, ne définissez pas de tri. Définissez le tri une fois
l'état créé et ce en suivant les indications reprises ci-après.
Complément:
Modifier l'ordre de tri d'un état en mode Création
1°) Une fois l'état ouvert en mode Création, cliquez sur le bouton "Regrouper et trier" présent dans
l''onglet "Création" du volet "Outils de création d'état".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 120
2°) Cliquez sur "Ajouter un tri" dans le bas de la fenêtre.
3°) Sélectionnez le champ de tri (LIV_TITRE).
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 121
4°) Le système indique le critère de tri défini.
6.7.3. Exercice (E-06)
Base de données concernée: BD_BIBLIOTHEQUE (table TBL_LIVRE_LIV)
Créez l'état suivant en définissant un regroupement. Supposons que le regroupement n'ait pas
été défini via l'assistant, il faudra ajouter le regroupement via l'option "Ajouter un groupe".
Partir de l'état suivant:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 122
Pour finalement arriver au résultat suivant:
Aperçu de l'état en mode Création:
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 123
7. Les macros
7.1. Introduction
Une macro permet d'exécuter une ou plusieurs commandes. Les macros permettent notamment
de faciliter certaines tâches, d'automatiser les procédures répétitives.
Dans le premier exemple qui suit, des macros seront liées à l'événement "Sur clic" de boutons de
commande.
7.2. L'action "AppliquerFiltre"
7.2.1. Présentation
Base de données concernée: BD_COMMANDE (table TBL_CLIENT_CLI)
Objectif:
Créer le formulaire suivant et les macros voulues. Via celui-ci, il sera possible de filtrer les
données en fonction de la valeur contenue dans le champ CLI_COMPTE. Trois boutons présents
dans l'en-tête de formulaire permettent de réaliser ces filtrages.
Procédure:
1°) Comme vu précédemment, créezle formulaire suivant.
2°) Augmentez la hauteur de la zone "En-tête de formulaire" puis cliquez sur le bouton "Bouton"
dans la partie "Contrôles" de l'onglet "Création".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 124
3°) Créez les quatre boutons suivants et modifiez les commentaires présents sur ces boutons.
4°) Effectuez un double-clic sur le premier bouton puis modifiez le nom dans la fenêtre des propriétés.
5°) Dans l'onglet "Evénement", cliquez sur le bouton muni de trois points situés à droite de
l'événement "Sur clic".
6°) Sélectionnez "Générateur de macro" puis validez par OK.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 125
7°) Access vous propose la fenêtre de création de la macro. Sélectionnez l'action "AppliquerFitre".
8°) Complétez l'argument "Condition Where" comme illustré ci-dessous.
9°) Fermez la fenêtre de la macro.
10°) Confirmez l'enregistrement de la macro.
11°) Passez en mode Formulaire puis testez le bon fonctionnement du premier bouton.
12°) Passez en mode Création du formulaire puis suivez une procédure analogue pour le bouton
"COMPTE = 0".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 126
13°) Suivez une procédure analogue pour le bouton "COMPTE > 0".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 127
14°) Suivez une procédure analogue pour le bouton "Afficher tout".
15°) Passez en mode Formulaire et testez les différents boutons.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 128
7.2.2. Exercice (M-01)
Base de données concernée: BD_BIBLIOTHEQUE (table TBL_LIVRE_LIV)
Créez le formulaire suivant et les macros voulues.
7.2.3. Exercice (M-02)
Base de données concernée: BD_COMMANDE (table TBL_CLIENT_CLI)
Créez le formulaire suivant et les macros voulues.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 129
Notes:
C'est l'événement "Après MAJ" qui est utilisé au niveau de la liste déroulante.
Aperçu de la macro:
7.3. L'action "RechercherEnregistrement"
7.3.1. Présentation
Base de données concernée: BD_COMMANDE (table TBL_PRODUIT_PRO)
Objectif:
Créer le formulaire suivant. Via celui-ci, il sera possible de rechercher un produit donné à l'aide de
la liste déroulante.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 130
Procédure:
1°) Créez le formulaire suivant.
2°) Passez en mode Création du formulaire. Augmentez la hauteur de la zone "En-tête de
formulaire". Veillez à ce que les "Assistants Contrôle" soient activés puis sélectionnez le contrôle
"Zone de liste déroulante". Dessinez la zone de liste déroulante dans l'en-tête du formulaire.
3°) Suivez les étapes proposées par l'Assistant.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 131
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 132
4°) Déplacez les contrôles comme vous le souhaitez.
5°) Si vous souhaitez modifier l'ordre de tri des éléments dans la liste déroulante, sélectionnez
celle-ci puis cliquez sur le bouton suivant au niveau de la propriété "Contenu".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 133
6°) Définissez le tri voulu.
7°) Fermez la fenêtre relative à la requête et enregistrez les modifications.
8°) Passez en mode Formulaire et testez le bon fonctionnement de celui-ci.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 134
7.3.2. Exercice (M-03)
Base de données concernée: BD_BIBLIOTHEQUE (table TBL_LIVRE_LIV)
Créez le formulaire suivant.
7.4. Découverte de quelques autres actions
7.4.1. Actions sur les enregistrements: déplacements, …
Base de données concernée: BD_COMMANDE (table TBL_CLIENT_CLI)
Objectif:
Créer le formulaire suivant dans lequel figurent des boutons de déplacement (bien visibles) entre
enregistrements.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 135
Procédure:
1°) Créez la base du formulaire en utilisant l'assistant.
2°) Créez les boutons de déplacement via l'outil adéquat se trouvant dans l'onglet "Création".
3°) Si la fonction "Assistants contrôle" est bien activée, Access propose l'assistant suivant
permettant de choisir les actions voulues.
7.4.2. Exercice (M-04)
Base de données concernée: BD_BIBLIOTHEQUE (table TBL_LIVRE_LIV)
Créez le formulaire suivant.
Nouvel Supprimer
enregistrement enregistrement
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 136
7.4.3. Actions "OuvrirFormulaire", "OuvrirEtat", …
Base de données concernée: BD_COMMANDE (table TBL_CLIENT_CLI)
Objectif:
Créer un formulaire comportant deux boutons de commande. Le premier bouton permettra d'ouvrir
le formulaire "FRM_CLIENT_CS" et le deuxième bouton permettra d'ouvrir l'état "RPT_CLIENT_TAB".
Formulaire "FRM_CLIENT_CS"
Etat "RPT_CLIENT_TAB"
…
Procédure:
1°) Activez l'onglet "Créer" puis cliquez sur "Création de formulaire".
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 137
2°) Dans l'onglet "Création", sélectionnez le contrôle "Bouton" puis dessinez celui-ci dans le
formulaire. N.B.: on suppose que les "Assistants Contrôle" sont actifs.
3°) Suivez les différentes étapes proposées par l'assistant comme repris ci-après.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 138
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 139
Résultat obtenu:
4°) Répétez les mêmes actions pour le deuxième bouton.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 140
Résultat obtenu:
Il ne reste plus qu'à passer en mode Formulaire puis à tester.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 141
8. Exercice de synthèse
1°) Créez une nouvelle base de données (BD_GESTION_MATERIEL) et les tables suivantes.
Cette base de données a pour objectif de stocker des données relatives à des fournitures de bureau.
TBL_FOURNISSEUR_FOU
TBL_RANGEMENT_RAN
TBL_MATERIEL_MAT
Différentes listes déroulantes doivent être créées.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 142
Importez les données voulues dans la table TBL_MATERIEL_MAT à partir du fichier mis à votre
disposition.
2°) Créez les requêtes suivantes.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 143
MAT_QSTOCK Entre 0 et 4
MAT_QSTOCK > 25
Fournitures
stockées dans le
local "L02"
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 144
3°) Créez les formulaires suivants.
Fournitures de
type "Classeur"
Fournitures de type "Papier" dont MAT_QSTOCK Entre 0 et 5
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 145
4°) Créez les états suivants.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 146
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 147
5°) Complétez les formulaires et créez les macros voulues.
Implémenter une liste déroulante permettant des recherches dans le formulaire de type colonne
simple relatif aux fournitures.
Implémenter des listes déroulantes permettant d'effectuer des filtrages dans le formulaire de type
tabulaire relatif aux fournitures.
Dominique Lieffrig Access 2010
Réf.: D-F04-10d (09_2012) 148
Créer le menu général suivant permettant d'accéder aux différents formulaires et états.