Académique Documents
Professionnel Documents
Culture Documents
azzedine.alfaidy@u-pec.fr
SUPPORT
ACCESS
SOMMAIRE
1. Le lancement ................................................................................................................................................... 3
2
ACCESS : SYSTÈME DE GESTION DE BASE DE
DONNÉES.
ACCESS est un logiciel de la catégorie « système de gestion de base de données relationnelles »
qui offre de nombreuses interfaces graphiques pour la construction des tables, des requêtes et
des formulaires d’écran ou des états imprimés.
Une base de données (BD)est une collection homogène de données liées et stockées ensemble avec
aussi peu de redondance que possible pour servir à une ou plusieurs applications de manière optimale.
Un système de gestion de base de données est un logiciel qui assure les fonctions de stockage, de mise
à jour, de recherche et de présentation de ces données.
La page Prise en main de Microsoft Office Access s'affiche lors du démarrage initial d'Access ou
lorsque vous fermez une base de données sans fermer Access.
3
2. La création et la modification d’une table
Une base de données ACCESS comporte une ou plusieurs tables relationnelles, dans lesquelles des
données sont mémorisées.
Pour créer une table :
Créer la structure d'une table revient à définir les champs de cette table. Le nom des champs
doit commencer par une lettre, ne pas dépasser 64 caractères, il est conseillé d'éviter tous les
caractères spéciaux.
Il est possible d'utiliser des majuscules ou des minuscules mais Access ne les distingue pas :
NomAssuré, nomassuré ou NOMassuré sont équivalents.
Lorsque vous attribuez les noms de champs, veillez à ne pas utiliser les mots réservés d'Access,
cela pourrait vous attirer des ennuis par la suite. C'est de cas de "nom" et "date" par exemple.
Évitez également d'attribuer des noms composés de plusieurs mots, ou comportant un espace,
Access les accepte mais ce n'est pas le cas de tous les logiciels et vous pourriez avoir des ennuis
lors d'une exportation par exemple.
Les types de données sont déclarés dans la partie surlignée de la copie d'écran ci-dessous.
On distingue essentiellement les données de type texte des données de type numérique mais
chacun des groupes est subdivisé comme il est indiqué sur la page types de données.
4
Définir des propriétés des champs
Créer la structure d'une table revient à définir les champs de cette table.
Il convient alors de déterminer les types de données et de paramétrer les propriétés de chaque
champ en utilisant le mode création de table.
Les propriétés et leurs paramétrages diffèrent d'un type de données à l'autre ainsi que nous le
verrons sur la page Propriétés des champs.
5
et leur taille.
Les données alphanumériques comprennent tous les caractères, chiffres, lettres en majuscules et
minuscules et signes.
Le type numérique est attribué à toutes les données qui prennent une valeur chiffrée sur laquelle il est
possible d'effectuer des calculs.
Les dates en font partie la partie entière d'un nombre représentant une date indique le nombre de jour
écoulé depuis une date qui dépend du paramétrage de Windows. La partie décimale correspond à l'heure.
longueur en
Type de
valeurs possibles nombre
données
d'octets
oui/non -1 et 0 ; oui/non ; vrai/faux ; actif/inactif 1 octet
octet 0 à 255 1 octet
entier -32768 à +32767 2 octets
9 9
entier long -2x10 à +2x10 4 octets
réel simple nombre décimal en virgule flottante à 7 chiffres significatifs 4 octets
réel double nombre décimal en virgule flottante à 14 chiffres significatifs 8 octets
nombre décimal en virgule fixe à 4 décimales -922 337 203 685
Monétaire 8 octets
477.5808 à +922 337 203 685 477.5807
Date dates comprise entre 1/1/100 et 21/12/9999 8 octets
NuméroAuto entier long incrément automatique 8 octets
28 28
-7.9x10 à +7.9x10 sans décimale ou 28 chiffre significatifs à droite
décimal 14 octets
du séparateur décimal
6
Propriétés des champs
Les propriétés des champs ne seront pas vues de manière exhaustive ici, mais nous nous
intéresserons à celles qui sont incontournables pour optimiser :
l'encombrement de la base
la sécurité des données
la rapidité d'exécution des requêtes
De même nous ne verrons pas toutes les valeurs possibles pour chaque propriété, mais
seulement les plus couramment utilisées.
Liste des propriétés des champs
Taille du champ
Format
Masque de saisie
Légende
Valeur par défaut
Valide si
Message si erreur
Null interdit
Chaîne vide autorisée
Indexé
La compression Unicode permet de coder chaque caractère d'une zone de type texte sur un caractère
au lieu de deux pour autant qu'il s'agisse de caractère latin. La valeur par défaut est oui.
Les propriétés "mode IME" et "mode de formulation IME" sont utiles pour travailler dans les
langues orientales, nous n'en parlerons pas ici.
Les balises actives sont utiles pour gagner du temps en effectuant dans Access des actions qui
devraient normalement être exécutée dans d'autres programmes. Nous ne les aborderons pas pour
l'instant.
Zones de listes et listes déroulantes
7
Taille du champ
Il convient de délimiter la taille de ce champ de manière plus précise pour éviter de réserver trop d'espace
inutilement cela ralentit considérablement les recherches. Par exemple, réserver 50 caractères pour un
numéro de téléphone consomme 5 fois trop d'espace.
Format
Le format règle le mode d'affichage des données, il n'agit pas sur le contenu proprement dit.
Type texte
Type numérique
symbole signification
. ou , séparateur décimal (indiqué dans les paramètres régionaux de Windows)
espace ou . séparateur de milliers (indiqué dans les paramètres régionaux de Windows)
# affiche les chiffres s'ils sont significatifs et n'affiche rien s'ils ne le sont pas
0 affiche les chiffres saisis ou 0 quand ils sont non significatifs
# ##0"texte" affiche le texte littéralement après le nombre
Exemples :
Format saisie Affichage
# ##0,00 1957,5589 125,2 1 957,56 125,20
# ##0" litres" 125,2 125 litres
# ##0 " km" 12480,26 12 km
Dans le dernier exemple l'espace après le zéro est considéré comme un séparateur de millier. Le
nombre est donc exprimé au millier près. Dans tous les cas, le contenu réel de la donnée sera
celui qui a été saisi.
Application à une distance : # ##0" km"
8
Type date
Les symboles utilisés pour présenter une date sont j m a (pour jour, mois, an) et h n (pour heures
minutes). Le séparateur courant est le "/" pour la date, "-" est également possible et ":" pour l'heure.
1/1/2008 31/12/2008
Format
02:05 12:30
j 1 31
jj 01 31
jjj mar mer
jjjj mardi mercredi
m 1 12
mm 01 12
mmm jan déc
mmmm janvier décembre
aa 08 08
aaaa 2008 2008
h 2 12
hh 02 12
n 5 30
nn 05 30
Exemples :
Format Affichage
vendredi 10 octobre
JJJJ J MMMM AAAA
2008
HH" heures et "NN" 10 heures et 25
minutes" minutes
JJ-MMM-AAAA 10-oct-2008
HH:NN 09:30
Masque de saisie
Le masque de saisie permet de déterminer la nature des caractères qui seront acceptés, il effectue
en quelque sorte un premier niveau de contrôle sur les informations saisies.
Il se compose de trois parties séparées par des ";" toutes sont facultatives, si la première n'éxiste
pas les autres sont sans objet.
Le masque proprement dit (composé des symboles ci-dessous)
0 si Access doit stocker les délimiteurs, 1 sinon
Caractère à remplacer (à utiliser quand on attend un nombre précis de caractères)
Caractère Description
0 Chiffre (0 à 9, entrée obligatoire, signes plus (+) et moins (-) non acceptés)
9 Chiffre ou espace (entrée facultative, signes plus et moins non acceptés)
# Chiffre ou espace (entrée facultative, signes plus et moins acceptés)
L Lettre (A à Z, entrée obligatoire)
? Lettre (A à Z, entrée facultative)
A Lettre ou chiffre (entrée obligatoire)
9
a Lettre ou chiffre (entrée facultative)
& Caractère quelconque ou espace (entrée obligatoire
C Caractère quelconque ou espace (entrée facultative)
.,:;-/ Séparateurs (le caractère à utiliser dépend des paramètres régionaux de Windows)
< Convertit tous les caractères en minuscules
> Convertit tous les caractères en majuscules
! Permet un remplissage du masque de saisie à partir de la droite
En cas de saisie ne correspondant pas au masque un bip retentit pour une saisie inappropriée
(lettre quand un chiffre est requis) à la validation de la zone, s'il manque des caractères
obligatoires un message d'erreur apparaît
Légende
Si la légende n'existe pas, le nom du champ sera utilisé dans les états et les formulaires pour désigner la
donnée concernée. Si l'on estime que le nom du champ n'est pas suffisamment explicite pour l'opérateur
en saisie on peut le remplacer par un libellé plus clair en renseignant la propriété légende.
Permet de spécifier une valeur par défaut. Si une valeur est courante pour un champ, on peut la mettre en
valeur par défaut de manière à gagner du temps en saisie.
Valide si
Cette propriété permet de spécifier une condition de validité de la saisie. On peut imposer par exemple
qu'une date de naissance soit comprise entre le 1/1/1880 et la date du jour de la saisie.
Message si erreur
Le message spécifié s'affiche dans les cas où la condition spécifiée dans le valide si n'est pas remplie.
Prévoyez un message qui aide l'utilisateur à saisir les champs convenablement. Éviter par exemple un
message du style : "Erreur de saisie" et préférez un message du genre : "Vous devez saisir une valeur
comprise entre 5000 et 10000"
Null interdit
Le paramètre par défaut est "non". Si on saisit "oui" il sera impossible de laisser le champ sans saisir
d'information.
10
Chaîne vide autorisée
Par défaut le paramètre est à "oui". On obtient une chaîne vide, "" en validant le champ sans rien saisir
dans la zone. Si on passe le paramètre à "non", on sera contraint de saisir quelque chose dans la zone.
Indexé
En dehors des clés primaires qui sont des index particuliers, on distingue deux types d'index : avec ou
sans doublons. Les index sont utilisés pour optimiser les recherches sur un champ. Le nom d'un contact
sera un champ indexé avec doublons (2 personnes dans le fichier peuvent s'appeler Dupont). Le numéro
d'INSEE sera un index sans doublons le même numéro ne peut pas être attribué à deux personnes
différentes.
Remarques :
- ACCESS crée automatiquement un index quand un champ porte un nom évoquant un
identifiant (numéro_xxx, code_xxx …). Il faut donc, le cas échéant, adapter ou
supprimer cet index ;
- Pour faciliter la mise à jour des tables à clés composées de plusieurs champs, il est
fortement recommandé de leur attribuer un numéro automatique comme clé
primaire. Les champs constituant la clé « naturelle » de la table pourront constituer
un ou plusieurs index secondaires avec ou sans doublons, selon le cas.
Le type « Assistant liste de choix » permet, lorsque l’on saisit une donnée dans le champ, de
choisir la valeur du champ dans une liste présentant des valeurs provenant d’une autre table.
Ces relations entre tables peuvent être représentées graphiquement et sont définies grâce aux
opérations qui suivent :
- depuis le plan de travail, cliquer sur l’icône ou choisir les options de menus
« Outils » puis « Relations » ;
- une fenêtre « Relations » apparaît. Utiliser le cadre « Ajouter une table » pour ajouter
les tables nécessaires à la définition des relations. Si ce cadre est absent, il peut être
affiché par les options « Relations » et « Afficher la table… » ;
- lier les champs en relation dans chaque table par un « clic maintenu» en partant du
champ qui est clé primaire ou index unique, en allant vers la duplication de ce
champ. La table de départ (table source) est la « Table/requête » et la table d'arrivée
la « Table/requête liée » selon la terminologie ACCESS (dans l'exemple, partir du
« code client » dans « CLIENT» et aller vers le « code client » dans « FACTURE ») ;
- une fenêtre de dialogue « Relations » s'affiche, qui permet de préciser les contraintes
à appliquer. Cliquer sur « Appliquer l'intégrité référentielle » et « Créer ». ACCESS
indique par le côté « lié » (plusieurs factures peuvent être liées à un client) et par 1
le côté « source » (l'origine unique du code client) de la contrainte d’intégrité
référentielle.
11
Remarque :
Une contrainte d’intégrité référentielle est une règle qui impose que toute valeur saisie dans
le champ lié soit présente dans le champ source. ACCESS fait automatiquement cette
vérification lors de la saisie de données, dès lors que la contrainte d’intégrité référentielle est
définie.
Remarque :
- dans l’écran « Relations », les champs qui constituent ou participent à une clé
primaire ressortent en caractères gras ;
- la notation ACCESS sur les liens est INVERSE des cardinalités du SCD
(1 --> et N ---> 1) ;
- une relation ne peut être établie entre un champ ACCESS de type "NuméroAuto"
et un champ numérique correspondant dans une autre table que si ce dernier est
défini comme un "Entier long". De manière générale, les champs en relation
doivent avoir des définitions compatibles.
Exemple :
Pour accéder aux « Relations » ACCESS déjà enregistrées, procéder comme pour leur création.
L'affichage de toutes les relations fait apparaître à l'écran une image graphique complète de la
structure des tables relationnelles.
Une relation particulière peut être sélectionnée par « simple clic » sur le trait qui la représente,
puis supprimée par la touche « Suppr ». Un « double clic » sur ce trait permet d’accéder au
cadre de définition de la relation et de la modifier.
12
La saisie et l’exploitation des données d’une table
Le mode feuille de données est réservé à la saisie des données en table. On peut créer des
champs supplémentaires en mode feuille de données mais je le déconseille. Il est préférable de
définir les types de données et les propriétés des champs avec précision.
Une table peut être ouverte en « Feuille de données » afin d’en travailler le contenu : ajout de
lignes, modifications ou suppressions. Une ou plusieurs lignes peuvent être sélectionnées par
« simple clic » ou « clic maintenu » sur la colonne de gauche de la feuille de données.
Dans une table ouverte (et contenant des données), il est possible de passer d'un
enregistrement à l'autre à l'aide d'outils standards simples :
- par balayage séquentiel, en cliquant sur pour aller au premier enregistrement, sur pour
aller au dernier enregistrement, sur ou sur pour sauter à l'enregistrement précédent ou au
suivant ;
- par recherche sélective, en cliquant sur le champ servant à la sélection puis sur l'icône .
Suivre alors les indications de la fenêtre « Rechercher dans le champ : ... », saisir la valeur
recherchée puis choisir et fermer la fenêtre de recherche. ACCESS se positionne
sur l'enregistrement correspondant s'il existe.
13
2. Créer les relations entre les tables ainsi que les contraintes d’intégrité
référentielles ;
3. Créer un jeu d’essai (données destinées à tester la base) ou collecter les données
réelles ;
4. Saisir les données en respectant l’ordre imposé par les contraintes (une valeur
doit être saisie dans le champ « source » avant de l’être dans le champ « lié »).
Remarque : il est essentiel de ne pas saisir de données (6°) dans les tables avant d’avoir défini
toutes les contraintes s’appliquant aux données, notamment les contraintes d’intégrité
référentielles. Ceci évitera des incohérences qui peuvent ensuite nécessiter l’effacement de
certaine relations, certaines données voire certaines tables pour être corrigées.
14
II. LES REQUETES GRAPHIQUES ACCESS
Que vous créiez des requêtes Sélection simples à l'aide d'un Assistant ou à partir du mode Création, les
étapes sont essentiellement les mêmes. Il suffit de choisir la source d'enregistrement à utiliser, ainsi que
les champs à inclure dans la requête. Vous pouvez également spécifier des critères pour affiner les
résultats.
Une fois la requête Sélection créée, exécutez-la pour vérifier qu'elle fonctionne correctement. Pour cela,
ouvrez-la en mode Création. Vous pouvez ensuite la réutiliser à tout moment, comme source
d'enregistrement d'un formulaire, d'un état ou d'une autre requête, par exemple.
Access propose plusieurs types de requête pour vous permettre d'exécuter différentes opérations. Par
exemple, la requête Sélection affiche des données, la requête Action modifie les données dans sa source
de données, ou crée une table. La requête Paramétrée vous demande d'entrer des critères lorsque vous
l'exécutez.
Nous allons identifier les outils avec lesquels nous allons principalement travailler.
En cliquant sur la partie liste déroulante des boutons (1) et (2), Access ouvre des sous-menus découvrant
d'autres outils.
Dans le sous-menu "Affichage", nous trouvons dans l'ordre :
Nous allons identifier les différents éléments avec lesquels nous travaillerons lors de la création d'une
requête.
Cliquez sur le bouton Requêtes.
Cliquez sur "Créer une requête en mode création."
Sélectionnez les tables sources.
Cliquez sur le bouton Ajouter.
En double-cliquant sur les noms de champs des tables situées dans la partie haute de
l'écran ; ceux-ci apparaissent dans la structure de la requête.
16
1. Volet des tables : contient toutes les tables sources de la requête ;
2. Tables "source" : contiennent les champs disponibles (A noter la clé primaire affichée en
gras) ;
3. La jointure : c'est la relation qui existe entre les deux tables.
4. La structure de la requête : regroupe tous les champs nécessaires à l'extraction des
informations souhaitées ;
5. La zone de critères : partie de l'écran dans lequel nous pourrons combiner les différentes
valeurs de sélection.
Un critère de requête ressemble à une condition que vous appliquez à un champ. Le critère définit une
condition, en fonction des valeurs de champ, exprimant ce que vous souhaitez ajouter à la requête, par
exemple « afficher uniquement les enregistrements dont le champ Ville est Paris ».(Voir la table Client)
Ajoutez deux autres critères pour obtenir des résultats plus parlants. Par exemple, vous ne souhaitez
obtenir que les enregistrements qui contiennent l'adresse, et le numéro de téléphone du contact.
2. Dans la ligne Critères du champ Adresse, tapez Est Pas Null AND <>"". Faites de même pour
le champ Téléphone dans la ligne Critères.
Remarque : Le critère Est Pas Null AND <>"" est vrai lorsqu'une valeur connue, non vide existe pour
le champ avec un critère. Il est faux lorsqu'il n'existe pas de valeur connue (Null), ou lorsque la valeur est
vide (""). Vous pouvez utiliser cette expression pour vérifier un champ pour une valeur connue et non
vide.
Que faire si vous ne voulez pas combiner les conditions à l'aide de l'opérateur AND ? En d'autres termes,
comment spécifier deux critères ou plus en incluant uniquement les enregistrements qui remplissent l'une
ou les deux conditions ?
17
3. Spécifiez d'autres jeux de critères en utilisant l'opérateur
OR
Supposons que vous souhaitiez afficher tous les enregistrements dont la Ville est Paris et contenant au
moins une information de contact (l'adresse ou le numéro de téléphone , par exemple). Vous souhaitez
combiner les critères en utilisant l'opérateur OR, comme suit :
Pour spécifier des critères de substitution, complétez les lignes Critères et Ou dans la grille de création.
Tous les enregistrements qui répondent aux critères définis dans la ligne Critères ou Ou font partie des
résultats.
Vous allez maintenant modifier la requête en entrant des critères de substitution dans les lignes Critères
et Ou.
Remarque Pour spécifier deux jeux de critères de substitution ou plus, complétez les lignes en dessous
de la ligne Ou. Chaque ligne représente un jeu de critères indépendant.
Dans cet exercice, vous allez modifier la requête « Contacts à Paris » de sorte que la date de naissance et
l'âge de chaque individu soient affichés.
Âge est le nom que vous utilisez pour le champ calculé. Si vous n'entrez pas de nom, Access utilise un
nom générique, par exemple EXPR1. La chaîne qui se trouve après les deux-points (:) est l'expression
qui fournit les valeurs de chaque enregistrement. La fonction DiffDate calcule la différence entre deux
dates et renvoie le résultat au format spécifié. Le format aaaa affiche le résultat en années et les éléments
[DateNaissance] et Date() de l'expression indique les deux valeurs de date. La fonction Date renvoie la
date du jour et [DateNaissance] fait référence au champ DateNaissance de la table sous-jacente.
Remarque Le calcul utilisé pour Âge dans cet exemple est une approximation qui risque d'être
légèrement inexacte, selon le mois en cours.
Basculez en mode Feuille de données. Le résultat inclut deux champs supplémentaires : DateNaissance et
Âge.
5. Synthétiser les valeurs de la requête
Il est plus facile de synthétiser les colonnes d'une requête dans Office Access 2007 que dans les versions
précédentes d'Access. Vous pouvez ajouter, compter ou calculer d'autres valeurs d'agrégat, puis les
afficher sur une ligne spéciale (appelée « ligne Totaux ») qui apparaît sous la ligne marquée d'un
astérisque (*) en mode Feuille de données.
Vous pouvez utiliser une fonction d'agrégat différente pour chaque colonne ou choisir de ne pas
synthétiser une colonne.
Dans cet exercice, vous allez modifier la requête « Contacts à Paris » de sorte que la ligne Total soit
affichée.
Dans la liste déroulante, sélectionnez Aucun ou Nombre. Comme la colonne Nom du contact affiche des
valeurs textuelles, les fonctions telles que Somme et Moyenne ne sont d'aucune utilité, et par
conséquent, ne sont pas disponibles.
5. Dans le champ Âge, sélectionnez Moyenne. Comme le champ Âge renvoie un nombre, les
fonctions Somme, Moyenne, Nombre, Maximum, Minimum, Écart type et Variance sont
disponibles.
Pour effacer le total d'une colonne, cliquez dans la ligne Total sous la colonne en question et
sélectionnez Aucun dans la liste déroulante. Pour masquer la ligne Total, sous l'onglet Accueil, dans le
groupe Type de données et mise en forme, cliquez sur Totaux.
Pour paramétrer une requête, il faut saisir (entre crochets) un libellé libre dans la zone de
critère du champ considéré (par exemple = [Entrez le code article] ).
Ce libellé sera affiché par ACCESS lors de l’exécution de la requête, pour indiquer quelle
valeur doit être saisie.
19
Département
RéfClient Société Adresse Ville CodePostal PaysOuRégion Tél. Coordonnées DateNaissance
Ou Région
Baldwin Museum 7, place 03 80 Stéphane
1 Beaune Côte d'Or 21203 France 03.12.45
of Science Beaubernard 203 130 Rogert
(201)
Blue Yonder 52 avenue des Patrice Dupont-
2 Valenciennes Nord 59300 France 555- 21.03.59
Airways anémones Roc
0123
05 49 Gilles
3 Coho Winery 31 rue du soleil Poitiers Vienne 86201 France 01.04.73
413 201 Fabrouque
Contoso 1 Impasse des 01 85 04
4 Paris 75003 France Fabrice Grand 16.06.67
Pharmaceuticals vallées 12 35
01 15 56
5 Fourth Coffee Paris 75201 France Julien Dupré 09.08.71
10 63
Consolidated 23 rue de la Ille-et- 02 23 62 Christine
6 Rennes 35031 France 27.05.48
Messenger poste Vilaine 10 10 Huguette
Graphic Design 151 rue de la 04 93 39
7 Cannes 6400 France Denise Barré 12.08.61
Institute plage 11 71
3 avenue de la 05 56
8 Litware, Inc. Bordeaux Gironde 33080 France Jean Aimée 01.09.75
victoire 201 201
François
9 Tailspin Toys 22 rue de l'église Paris 74301 France 15.02.53
Parrèche
01 15 56
10 Woodgrove Bank 37 Grande rue Paris 75056 France Martin Gorbot 25.09.38
10 63
III. LES FORMULAIRES ACCESS
1. Le formulaire ACCESS
Un formulaire est un objet de base de données qui permet d'entrer, de modifier ou d'afficher les données
d'une table ou d'une requête. Les formulaires permettent également de contrôler l'accès aux données en
n'affichant, par exemple, que certains champs ou lignes de données. Par exemple, il est possible que
certains utilisateurs n'aient besoin d'afficher que certains champs d'une table constituée d'une multitude
de champs. En leur proposant un formulaire qui ne contient que ces champs, il leur sera plus facile
d'utiliser la base de données. Vous pouvez également ajouter des boutons et d'autres fonctionnalités à un
formulaire afin d'automatiser les opérations fréquemment effectuées.
Les formulaires peuvent être comparés à des fenêtres à travers lesquelles les personnes voient et
atteignent votre base de données. Un formulaire efficace permet d'accélérer l'utilisation d'une base de
données dans la mesure où les personnes n'ont pas besoin de rechercher les éléments dont elles ont
besoin. Un formulaire d'aspect agréable améliore non seulement la convivialité et l'efficacité de la base
de données, mais il permet également d'éviter la saisie de données incorrectes. Microsoft Office Access
2007 contient de nouveaux outils destinés à simplifier la création de formulaires, et propose de nouveaux
types de formulaires et de nouvelles fonctionnalités qui améliorent la facilité d'emploi de votre base de
données.
1. Dans le volet de navigation, cliquez sur la table ou la requête qui contient les données que vous
souhaitez faire figurer dans le formulaire.
2. Sous l'onglet Créer, dans le groupe Formulaires, cliquez sur Formulaire.
Access crée le formulaire et l'affiche en mode Page. Ce mode vous permet d'apporter des modifications à
la conception du formulaire tout en ayant les données affichées. Par exemple, vous pouvez ajuster la
taille des zones de texte en fonction des données à afficher, si nécessaire.
Si Access détermine que seule une table a une relation un-à-plusieurs avec la table ou la requête qui a
servi à la création du formulaire, Access ajoute une feuille de données au formulaire, basée sur la table
ou la requête associée. Par exemple, si vous créez un formulaire standard à partir de la table Employés, et
qu'une relation un-à-plusieurs est définie entre la table Employés et la table Commandes, la feuille de
données affiche tous les enregistrements de la table Commandes se rapportant à l'enregistrement
Employé actif. Vous pouvez supprimer la feuille de données du formulaire si vous jugez ne pas en avoir
besoin. S'il existe plusieurs tables liées par une relation un-à-plusieurs avec la table qui a servi à créer le
formulaire, Access n'ajoute pas de feuilles de données au formulaire.
Créer un formulaire à l'aide de l'Assistant Formulaire
Pour être plus sélectif quant aux champs à faire figurer sur votre formulaire, vous pouvez utiliser
l'Assistant Formulaire à la place des divers outils de création de formulaires mentionnés précédemment.
Vous pouvez également définir la façon dont les données sont regroupées et triées, et vous pouvez
utiliser les champs de plusieurs tables ou requêtes, si tant est que vous ayez préalablement spécifié les
relations entre les tables et les requêtes.
1. Sous l’onglet Créer, dans le groupe Formulaires, cliquez sur Plus de formulaires, puis sur
Assistant Formulaire .
Remarque : Si vous souhaitez inclure des champs de plusieurs tables ou requêtes dans votre formulaire,
ne cliquez pas sur Suivant ou sur Terminer après avoir sélectionné les champs de la première table ou
requête dans la première page de l'Assistant Formulaire. Au lieu de cela, répétez les étapes afin de
sélectionner une table ou une requête, puis cliquez sur les champs supplémentaires que vous souhaitez
inclure dans le formulaire. Cliquez ensuite sur Suivant ou sur Terminer pour continuer.
Remarque : Plusieurs outils du groupe Contrôles ne sont accessibles que lorsque votre formulaire est
ouvert en mode Création. Pour passer au mode Création, cliquez avec le bouton droit sur le nom du
formulaire dans le volet de navigation, puis cliquez sur Mode Création .
Vous pouvez utiliser les Assistants pour créer des boutons de commande, des zones de liste, des sous-
formulaires, des zones de liste déroulante et des groupes d'options. Sous l'onglet Créer, dans le groupe
Contrôles, si l'option Utiliser les Assistants contrôle n'est pas activée, cliquez dessus pour l'activer.
Si vous préférez créer des contrôles sans l'aide de l'Assistant, cliquez sur l'option Utiliser les Assistants
1. Cliquez sur l'outil correspondant au type de contrôle que vous souhaitez ajouter. Par exemple,
pour créer une case à cocher, cliquez sur l'outil Case à cocher.
2. Cliquez dans la grille de création de formulaire à l'endroit où vous souhaitez positionner le coin
supérieur gauche du contrôle. Cliquez une fois pour créer un contrôle de taille standard, ou
cliquez sur l'outil et faites glisser le pointeur de la souris dans la grille de création de formulaire
pour créer un contrôle de taille personnalisée.
3. Si vous avez activé l'option Utiliser les Assistants contrôle et que le contrôle que vous souhaitez
placer est associé à un Assistant, celui-ci démarre et vous guide tout au long du processus de
paramétrage du contrôle.
4. Si vous ne positionnez pas parfaitement le contrôle, vous pouvez le déplacer en procédant comme
suit :
1. Cliquez sur le contrôle pour le sélectionner.
2. Placez le pointeur de la souris sur le contrôle pour qu'il se transforme en flèche
cruciforme .
3. Cliquez sur le contrôle et faites-le glisser jusqu'à l'emplacement souhaité.
Si vous utilisez un Assistant Contrôle, il est possible qu'il contienne une procédure pour lier le contrôle à
un champ. À défaut, cette procédure crée un contrôle indépendant. Si, de par son type, le contrôle est en
mesure d'afficher des données (par exemple, une zone de texte ou une case à cocher), vous devez entrer
le nom d'un champ ou une expression dans la zone de la propriété Source contrôle du contrôle pour que
ce dernier puisse afficher des données. Pour afficher les propriétés d'un contrôle, sélectionnez le contrôle
et appuyez sur F4.
Afficher les valeurs Oui/Non en utilisant des cases à cocher, des cases d'option et
des boutons bascule
Dans Microsoft Office Access 2007, un champ Oui/Non ne stocke que deux valeurs : Oui ou
Non. Si vous utilisez une zone de texte pour afficher un champ Oui/Non, la valeur affiche -1
pour Oui et 0 pour Non. Ces valeurs ne sont pas compréhensibles pour la plupart des utilisateurs,
c'est pourquoi Office Access 2007 met à leur disposition les cases à cocher, les cases d'option et
les boutons bascule à utiliser pour afficher et entrer les valeurs Oui/Non. Ces contrôles offrent
une représentation graphique de la valeur Oui/Non facile à utiliser et à lire.
Dans la plupart des cas, la case à cocher est le meilleur contrôle pour représenter une valeur
Oui/Non. C'est un type de contrôle par défaut créé pour ajouter un champ Oui/Non à un
formulaire ou un état. En revanche, les cases d'option et les boutons bascule sont le plus
fréquemment utilisés dans un groupe d'options.
L'illustration suivante montre ces trois contrôles et leur mode de représentation des valeurs Oui
et Non. La colonne Oui affiche le contrôle tel qu'il apparaît en cas d'activation, la colonne Non
affiche le contrôle tel qu'il apparaît en cas de désactivation.
23
Comprendre les groupes d'options
Une case à cocher, une case d'option ou un bouton bascule peuvent être dépendants,
indépendants ou membres d'un groupe d'options. Un groupe d'options affiche un ensemble
limité de choix, vous ne pouvez sélectionner qu'une option de groupe à la fois. Un groupe
d'options est constitué d'un cadre de groupe et d'un ensemble de cases à cocher, boutons bascule
ou cases d'option.
Si un groupe d'options est lié à un champ, seul le cadre de groupe y est lié ; les contrôles
contenus dans le cadre sont exclus. Plutôt que de définir la propriété Source contrôle pour
chaque contrôle du groupe d'options, définissez leur propriété Valeur contrôle sur un nombre
significatif pour le champ auquel le cadre est lié. Lorsque vous sélectionnez un groupe d'options,
Access définit la valeur du champ lié au groupe d'options sur la valeur de la propriété Valeur
contrôle de l'option sélectionnée.
La valeur d'un groupe d'options ne peut être que numérique. Access stocke ce nombre dans la
table sous-jacente. Vous pouvez également définir un groupe d'options sur une expression ou le
rendre indépendant. Vous pouvez utiliser un groupe d'options indépendant dans une boîte de
dialogue personnalisée pour accepter la saisie d'un utilisateur et exécuter l'action associée.
Les cases à cocher sont couramment utilisées pour les champs Oui/Non, il en est de même avec
les cases d'option ou les boutons bascule utilisés pour les groupes d'options. Cependant, il ne
s'agit que d'une simple recommandation, vous pouvez utiliser les trois contrôles à toutes ces fins.
Vous pouvez rapidement créer un groupe d'options à l'aide de l'Assistant Groupe d'options.
Avant tout, vous devez savoir si vous souhaitez stocker la valeur de l'option dans une table. Si
tel est le cas, vous devez avoir un champ avec un type de données Numérique à cet effet.
1. Ouvrez le formulaire en mode Création en cliquant dessus avec le bouton droit dans le volet de
navigation, puis en cliquant sur Mode Création.
2. Sous l’onglet Création, dans le groupe Contrôles, vérifiez que Utiliser les Assistants contrôle
est sélectionné.
Bien que rien ne vous y oblige, il est recommandé de donner au groupe d'options un nouveau
nom plus significatif. Cette opération ne modifie pas l'étiquette affichée en regard du groupe
d'options, mais il est plus facile de vous y reporter dans les expressions ou les macros.
1. Assurez-vous que le groupe d'options est sélectionné en cliquant sur le cadre du groupe.
2. Si la feuille des propriétés n'est pas déjà visible, appuyez sur F4 pour l'afficher.
3. Tapez un nouveau nom dans la zone de propriété Nom du groupe d'options.
24
3. Ajouter une nouvelle option à un groupe d'options existant
Vous pouvez ajouter des options à un groupe, en fonction de vos besoins. Vous pouvez soit
créer un nouveau contrôle dans le groupe, soit couper un contrôle existant d'un autre
emplacement sur le formulaire pour le coller dans le groupe.
1. Ouvrez le formulaire en mode Création en cliquant dessus avec le bouton droit dans le volet de
navigation, puis en cliquant sur Mode Création.
2. Cliquez sur le cadre du groupe d'options pour le sélectionner, puis faites glisser les poignées de
dimensionnement de ce cadre pour insérer la nouvelle option.
Il ne suffit pas de faire glisser un contrôle vers un groupe d'options pour l'y intégrer. Vous devez
le couper et le coller au groupe pour qu'il devienne une option.
4. Vous devrez probablement déplacer le contrôle et son étiquette pour les aligner sur les contrôles
existants et leurs étiquettes.
1. Sélectionnez le contrôle que vous venez d'ajouter, puis appuyez sur F4 pour ouvrir la feuille des
propriétés associée.
2. Notez la valeur de la propriété Valeur contrôle du contrôle que vous venez d'ajouter. En
fonction de vos besoins, vous pouvez la conserver, comme Access le suggère, ou la modifier.
La zone de texte est le contrôle standard utilisé pour afficher et modifier des données dans des
formulaires et des états. Les zones de texte peuvent contenir différents types de données, qui
peuvent également servir pour effectuer des calculs. Cet article explique comment créer et
utiliser une zone de texte et décrit certaines propriétés de zone de texte parmi les plus
importantes.
25
Ajouter une zone de texte dépendante
Une zone de texte dépendante affiche les données d'un champ de table ou de requête. Dans un
formulaire, l'utilisation d'une zone de texte liée à une source d'enregistrement modifiable s'avère
particulièrement utile pour entrer ou modifier les données d'un champ. Les modifications que
vous effectuez dans la zone de texte sont répercutées dans la table sous-jacente.
Un moyen simple et rapide de créer une zone de texte liée consiste à faire glisser un champ du
volet Liste de champs vers le formulaire ou l'état. Access crée automatiquement une zone de
texte associée aux champs de types de données suivants :
Texte
Mémo
Numérique
Date/Heure
Monnaie
Lien hypertexte
En faisant glisser des champs associés à d'autres types de données, vous créez différents types
de contrôles. Par exemple, si vous faites glisser un champ Oui/Non du volet Liste de champs
vers un formulaire ou un état, Access crée une case à cocher. Si vous faites glisser un champ
Objet OLE vers un formulaire ou un état, Access crée un cadre d'objet dépendant, et si vous
faites glisser un champ Pièce jointe vers un formulaire ou un état, Access crée un contrôle Pièce
jointe.
1. Ouvrez le formulaire ou l'état en mode Page ou en mode Création en cliquant dessus avec le
bouton droit dans le volet de navigation puis en cliquant sur le mode souhaité.
2. Sous l'onglet Création, dans le groupe Outils, cliquez sur Ajouter des champs existants.
3. Dans le volet Liste de champs, développez la table contenant le champ à lier à la zone de texte.
4. Faites glisser le champ du volet Liste de champs vers l'état ou le formulaire.
Vous pouvez également ajouter une zone de texte dépendante à un formulaire ou un état en
ajoutant d'abord une zone de texte indépendante, puis en spécifiant le champ auquel vous
souhaitez la lier dans sa propriété Source contrôle.
Une zone de texte indépendante n'est rattachée à aucun champ de table ou de requête. Vous
pouvez utiliser une zone de texte indépendante pour afficher les résultats d'un calcul ou pour
accepter une entrée que vous ne souhaitez pas stocker directement dans une table. L'ajout d'une
zone de texte indépendante s'avère plus simple en mode Création.
1. Ouvrez le formulaire ou l'état en mode Création en cliquant dessus avec le bouton droit dans le
volet de navigation, puis en cliquant sur Mode Création dans la barre d'état d'Access.
2. Sous l'onglet Création, dans le groupe Contrôles, cliquez sur Zone de texte.
3. Placez le pointeur à l'endroit où vous souhaitez faire figurer la zone de texte dans le formulaire
ou l'état, puis cliquez pour insérer la zone de texte.
Remarque : Access place une étiquette à gauche de la zone de texte. De ce fait, prévoyez de la
place à gauche du pointeur pour cette étiquette, même si vous pouvez par la suite repositionner
l'étiquette et la zone de texte. Vous pouvez supprimer l'étiquette en cliquant dessus et en
appuyant sur Suppr.
26
Il existe un autre moyen de créer une zone de texte indépendante : créez d'abord une zone de
texte dépendante en faisant glisser un champ du volet Liste de champs vers le formulaire ou
l'état, puis supprimez la valeur de sa propriété Source contrôle. Si vous effectuez cette
opération en mode Création, la zone de texte affichera la mention « Indépendant » à la place du
nom du champ. En mode Page, la zone de texte n'affichera plus de données et sera vide.
1. Ouvrez le formulaire ou l'état en mode Création en cliquant dessus avec le bouton droit dans le
volet de navigation, puis en cliquant sur Mode Création dans la barre d'état d'Access.
2. Sous l'onglet Création, dans le groupe Contrôles, cliquez sur Zone de texte.
3. Placez le pointeur à l'endroit où vous souhaitez faire figurer la zone de texte dans le formulaire
ou l'état, puis cliquez pour insérer la zone de texte.
4. Effectuez l'une des opérations suivantes :
Placez le curseur dans la zone de texte, puis tapez une expression qui calcule un total.
Sélectionnez la zone de texte, appuyez sur F4 pour afficher la feuille de propriétés, puis tapez
l'expression dans la zone de la propriété Source contrôle. Pour créer l'expression à l'aide du
Générateur d'expression, cliquez sur , en regard de la zone de la propriété Source contrôle.
5. Enregistrez le formulaire ou l'état puis basculez en mode Formulaire ou en mode Rapport pour
vérifier les résultats.
Remarques
Si vous avez besoin d'espace supplémentaire pour taper une expression dans la zone de la
propriété Source contrôle, appuyez sur Maj+F2 pour ouvrir la zone Zoom.
Si votre formulaire ou état est basé sur une requête, vous pouvez éventuellement placer
l'expression dans la requête plutôt que dans un contrôle calculé. Cela peut améliorer les
performances et, si vous prévoyez de calculer des totaux pour des groupes d'enregistrements, il
est plus simple d'utiliser le nom d'un champ calculé dans une fonction d'agrégation.
Créer une liste de choix en utilisant une zone de liste ou zone de liste déroulante
Lors de la saisie de données dans des formulaires, il est souvent plus rapide et plus facile de
sélectionner une valeur dans une liste que de s'en rappeler. Une liste de sélections permet
également de garantir l'exactitude de la valeur entrée dans un champ. Un contrôle de liste permet
une connexion aux données existantes ou l'affichage de valeurs fixes entrées lors de la création
de votre contrôle.
Office Access 2007 met à votre disposition deux contrôles de liste, la zone de liste et la zone de
liste déroulante.
Zone de liste : La zone de liste affiche une liste de valeurs ou de choix. Elle
contient des lignes de données et sa taille permet généralement l'affichage simultané de
plusieurs lignes. Les lignes peuvent posséder une ou plusieurs colonnes, qui peuvent
apparaître avec ou sans titre. Si la liste est trop longue pour afficher toutes les lignes dans le
27
contrôle, Access y affiche une barre de défilement. Les choix de l'utilisateur se limitent aux
occurrences dans la zone de liste ; toute saisie de valeur y est interdite.
Zone de liste déroulante : La zone de liste déroulante présente une liste de choix
de façon plus compacte ; la liste est masquée tant que vous n'avez pas cliqué sur la flèche
déroulante. Grâce à la zone de liste déroulante, vous pouvez aussi entrer une valeur non
répertoriée dans la liste. Ainsi, une zone de liste déroulante combine les fonctionnalités d'une
zone de texte et d'une zone de liste.
Les zones de liste et les zones de liste déroulante peuvent constituer des contrôles dépendants ou
indépendants. Ces contrôles peuvent rechercher des valeurs dans une liste fixe que vous avez
tapée, ou des valeurs dans une table ou une requête. Pour créer une zone de liste ou une zone de
liste déroulante dépendante recherchant des valeurs dans une table ou une requête, vérifiez que
le formulaire est basé sur une source d'enregistrement qui inclue un champ de clé étrangère ou
un champ Liste de choix. C'est ainsi que vous pouvez créer des relations pour lier les données
dans la zone de liste ou la zone de liste déroulante aux données dans le formulaire.
Créer une zone de liste ou une zone de liste déroulante à l'aide d'un Assistant
1. Cliquez avec le bouton droit sur le formulaire dans le volet de navigation, puis cliquez sur Mode
Création.
Remarque : Cette procédure part du principe que le formulaire est lié à une table ou une
requête. Certaines étapes ne sont pas applicables si le formulaire est indépendant. Pour
déterminer si le formulaire est lié à une table ou une requête, appuyez sur F4 afin d'afficher la
feuille de propriétés. Sous l'onglet Données de la feuille de propriétés, la zone de propriété
Source d'enregistrement affiche la table ou la requête à laquelle est lié le formulaire.
28
2. Sous l’onglet Création, dans le groupe Contrôles, vérifiez que Utiliser les Assistants contrôle
est sélectionné.
3. Cliquez sur l'outil Zone de liste ou sur l'outil Zone de liste déroulante .
4. Dans le formulaire, cliquez à l'endroit où vous voulez placer la zone de liste ou la zone de liste
déroulante.
En fonction de votre choix, l'Assistant Zone de liste ou l'Assistant Zone de liste déroulante
démarre.
5. Lorsque l'Assistant vous demande comment vous voulez obtenir les valeurs pour le contrôle,
effectuez l'une des opérations suivantes :
Si vous voulez afficher les données actuelles dans une source d'enregistrement, cliquez
sur Je veux que la zone de liste/zone de liste déroulante recherche les valeurs dans
une table ou requête.
Si vous voulez afficher une liste fixe de valeurs qui changeront rarement, cliquez sur Je
taperai les valeurs souhaitées.
Si vous souhaitez que le contrôle effectue une recherche plutôt que de jouer le rôle d'un
outil de saisie des données, cliquez sur Rechercher un enregistrement dans mon
formulaire basé sur la valeur que j'ai sélectionnée dans la zone de liste/zone de liste
déroulante. C'est ainsi que le système crée un contrôle indépendant avec une macro
incorporée qui effectue une recherche basée sur la valeur entrée par l'utilisateur.
6. Suivez les instructions pour spécifier comment afficher des valeurs.
7. Si vous avez sélectionné l'une des deux premières options de la première page de l'Assistant,
celui-ci vous demande ce que vous souhaitez qu'effectue Access quand vous sélectionnez une
valeur. Effectuez l'une des opérations suivantes :
Pour créer un contrôle indépendant, cliquez sur Mémoriser la valeur pour usage
ultérieur. Ainsi, Access conserve la valeur sélectionnée tant que l'utilisateur ne la
modifie pas ou tant qu'il ne ferme pas le formulaire. Cependant, Access ne l'inscrit pas
sur une table.
Pour créer un contrôle dépendant, cliquez sur Stocker cette valeur dans ce champ puis
sélectionnez le champ auquel vous souhaitez lier le contrôle.
8. Cliquez sur le bouton Suivant et tapez une étiquette pour le contrôle. Cette étiquette sera
affichée en regard du contrôle.
9. Cliquez sur Terminer.
Créer une zone de liste ou une zone de liste déroulante en ajoutant un champ Liste
de choix à un formulaire
Vous pouvez créer une zone de liste ou une zone de liste déroulante dépendante en ajoutant un
champ Liste de choix à un formulaire.
1. Créez un champ Liste de choix dans une table. Le champ Liste de choix que vous créez peut
contenir une seule ou plusieurs valeurs.
Access crée automatiquement une zone de liste déroulante pour le champ Liste de choix.
29
1. En mode Création, ouvrez un formulaire basé sur une source d'enregistrement
comprenant le champ Liste de choix.
2. Si le volet Liste des champs n'apparaît pas, appuyez sur ALT+F8 pour l'afficher.
3. Double-cliquez sur le champ Liste de choix ou faites-le glisser depuis le volet Liste des
champs vers le formulaire. Access crée automatiquement une zone de liste déroulante
dépendante du champ.
Conseil : Pour modifier une zone de liste déroulante en zone de liste (ou vice versa), cliquez
avec le bouton droit sur le contrôle, cliquez sur Remplacer par dans le menu contextuel, puis
cliquez sur le type de contrôle souhaité.
Avec le formulaire ouvert en mode Création, assurez-vous que la zone de liste ou la zone de liste
déroulante est activée, puis appuyez sur F4 pour ouvrir la feuille de propriétés pour ce contrôle.
Effectuez l'une des opérations suivantes :
Modifier l'ordre de tri dans une zone de liste ou une zone de liste déroulante Si vous avez
utilisé un Assistant pour créer la zone de liste ou la zone de liste déroulante, Access trie
automatiquement les lignes qui composent la liste en fonction de la première colonne visible. Si
vous voulez spécifier un ordre de tri différent ou si vous avez défini la propriété Contenu du
contrôle sur une requête enregistrée, utilisez la procédure suivante :
Cliquez sur l'onglet Données, puis cliquez sur la zone de propriété Contenu.
Dans l'onglet Données de la feuille de propriétés, cliquez sur pour ouvrir le
Générateur de requête.
Dans la ligne Tri pour la colonne à trier, spécifiez votre ordre de tri.
Lier une colonne depuis une zone de liste ou une zone de liste déroulante
Dans la zone de propriété Colonne liée de la zone de liste ou zone de liste déroulante, spécifiez
un nombre qui correspond à la position de la colonne dans la zone de liste ou zone de liste
déroulante. Par exemple, tapez 1 pour lier la première colonne au champ sous-jacent spécifié
dans la propriété Source contrôle. Incluez les colonnes masquées lorsque vous comptez les
colonnes.
Si vous définissez la propriété Colonne liée sur 0, Access enregistre l'index de liste plutôt que la
valeur d'une des colonnes. Ceci est particulièrement utile pour stocker une séquence de nombres
plutôt que la liste des valeurs.
Masquer une colonne dans une zone de liste ou une zone de liste déroulante sur un
formulaire
Dans la zone de propriété Largeurs colonnes, tapez 0 pour les colonnes à masquer.
Prenons l'exemple d'une zone de liste déroulante dépendante à deux colonnes, l'une intitulée
N° fournisseur d'une largeur de 0,5 pouces et l'autre intitulée NomFournisseur d'une largeur de 2
pouces. La colonne N° fournisseur est la première colonne de la liste, ainsi la propriété
Largeurs colonnes est définie sur 0,5";2". Pour masquer cette dernière, définissez la propriété
Largeurs colonnes sur 0";2". La colonne N° fournisseur constitue la colonne dépendante,
même si elle est masquée.
Remarque : Dans une zone de liste déroulante, la première colonne visible est affichée dans la
partie zone de texte de la zone de liste déroulante lorsque la liste n'apparaît pas. Par exemple, la
colonne NomFournisseur dans l'exemple précédent s'affiche car la colonne N° fournisseur est
masquée. Si tel n'était pas le cas, elle serait affichée à la place de la colonne NomFournisseur.
30
Ajouter les en-têtes de colonne à une zone de liste déroulante sur un formulaire
Dans la zone de propriété En-têtes colonnes, cliquez sur Oui pour afficher les en-têtes
de colonnes. Les en-têtes des zones de liste déroulante n'apparaissent que si la liste est
ouverte.
Si la zone de liste déroulante ou la zone de liste dépend d'une source d'enregistrement, Access
utilise les noms de champ de la source d'enregistrement comme en-têtes de colonnes. Si la zone
de liste déroulante ou la zone de liste dépend d'une liste de valeurs fixes, Access utilise les
premiers éléments de données n de la liste de valeurs (propriété Contenu) comme en-têtes de
colonnes, sachant que n = au nombre défini dans la propriété Nbre colonnes.
Désactiver le remplissage en cours de frappe pour une zone de liste déroulante dans un
formulaire
Dans la zone de propriété Auto étendre, cliquez sur Non.
Lorsque la propriété Auto étendre est définie sur Non, vous devez sélectionner une valeur dans
la liste ou la taper entièrement.
Définir la largeur de la partie zone de liste d'une zone de liste déroulante dans un
formulaire
Dans la zone de propriété Largeur liste, tapez la largeur souhaitée en utilisant l'unité de
mesure actuelle (définie dans le Panneau de configuration de Windows). Pour utiliser
une autre unité de mesure que celle définie par défaut, insérez un indicateur de mesure.
Par exemple, tapez 2 cm. Assurez-vous de conserver suffisamment d'espace pour
afficher une barre de défilement.
La largeur de la partie zone de liste d'une zone de liste déroulante peut être supérieure, mais
jamais inférieure à la partie zone de texte. Le paramètre par défaut (Auto) attribue à la zone de
liste la largeur de la partie zone de texte de la zone de liste déroulante.
Définir le nombre maximal de lignes qu'une zone de liste déroulante peut afficher dans un
formulaire
Dans la zone de propriété Lignes affichées, tapez un nombre.
Si le nombre de lignes effectives dépasse le nombre défini dans la propriété Lignes affichées,
une barre de défilement verticale s'affiche dans la zone de liste déroulante.
Limiter les entrées de zone de liste déroulante aux éléments d'une partie de liste d'une zone
de liste déroulante sur un formulaire
Dans la zone de propriété Limiter à liste, cliquez sur Oui.
Si la première colonne affichée dans une zone de liste déroulante n'est pas la colonne
liée, Access limite les entrées aux éléments de la liste même si la propriété Limiter à
liste est définie sur Non.
Si la propriété Limiter à liste est définie sur Non et que vous tapez une valeur qui ne
figure pas dans la liste, si la zone de liste déroulante est dépendante, l'entrée est stockée
dans le champ sous-jacent mais n'est pas ajoutée à la liste. Pour ajouter de nouvelles
entrées à la liste, utilisez la propriété Sur absence dans liste et l'événement Absence
dans liste.
31
4. Enregistrer votre travail
Dès lors que vous enregistrez la structure de votre formulaire, vous pouvez exécuter le formulaire aussi
souvent que vous le souhaitez. Si la structure ne change pas, les données sont actualisées chaque fois que
vous affichez le formulaire. Si vos besoins évoluent, vous pouvez modifier la structure du formulaire,
voire créer un nouveau formulaire basé sur l'original.
2. Si le formulaire est sans titre, tapez un nom dans la zone Nom de formulaire, puis cliquez sur
OK.
Un sous-formulaire est un formulaire inséré dans un autre formulaire. Le formulaire de base est appelé
formulaire principal et le formulaire qu'il contient, sous-formulaire. Une combinaison formulaire/sous-
formulaire est parfois appelée formulaire hiérarchique ou formulaire père/fils.
Les sous-formulaires s'avèrent particulièrement utiles lorsque vous souhaitez afficher les données de
tables ou de requêtes qui ont une relation un-à-plusieurs.. Par exemple, vous pouvez créer un formulaire
contenant un sous-formulaire pour afficher les données d'une table Catégories et celles d'une table
Produits. Les données de la table Catégories représentent le côté « un » de la relation, tandis que les
données de la table Produits représentent le côté « plusieurs » de la relation. Autrement dit, chaque
catégorie peut avoir plusieurs produits.
Le tableau suivant définit quelques termes relatifs aux sous-formulaires. Même si Access traite la plupart
des détails liés à l'utilisation des procédures décrites dans cet article, il est utile de savoir ce qui se passe
« en coulisses » pour apporter des modifications ultérieures.
Terme Définition
Contrôle qui permet d'incorporer un formulaire dans un autre formulaire. Vous pouvez
comparer le contrôle de sous-formulaire à une « vue » d'un autre objet de votre base de
Contrôle de
données, qu'il s'agisse d'un autre formulaire, d'une table ou d'une requête. Le contrôle de
sous-formulaire
sous-formulaire possède des propriétés qui vous permettent de lier les données affichées
dans le contrôle aux données du formulaire principal.
Propriété Objet Propriété du contrôle de sous-formulaire qui indique l'objet qui s'affiche dans le
source contrôle.
Affichage simple de données sous forme de lignes et de colonnes, à la manière d'une
feuille de calcul. Le contrôle de sous-formulaire affiche une feuille de données lorsque
Feuille de
son objet source est une table ou une requête, ou encore un formulaire dont la propriété
données
Affichage par défaut est définie sur Feuille de données. Dans ces cas, le sous-
formulaire est parfois appelé feuille de données et non sous-formulaire.
Propriété Lier
Propriété du contrôle de sous-formulaire qui indique le ou les champs du sous-
les champs
formulaire qui sont liés au formulaire principal.
enfants
Propriété Lier
Propriété du contrôle de sous-formulaire qui indique le ou les champs du formulaire
les champs
principal qui sont liés au sous-formulaire.
pères
Pour optimiser les résultats, commencez par établir toutes les relations. Access peut ainsi créer
automatiquement les liens entre les sous-formulaires et les formulaires principaux. Pour afficher ou
modifier les relations existantes entre les tables de votre base de données ou pour en créer de nouvelles,
sous l'onglet Outils avancés, dans le groupe Analyser, cliquez sur Relations.
Lorsqu'un contrôle de sous-formulaire a pour objet source un formulaire, il contient les champs que vous
placez dans ce formulaire, et il peut être affiché en tant que formulaire standard, formulaire continu ou
feuille de données. Baser un sous-formulaire sur un objet de formulaire vous permet d'ajouter des champs
calculés au sous-formulaire, par exemple, [Quantité] * [Prix unitaire].
Vous pouvez également insérer une feuille de données dans un formulaire en créant un contrôle de sous-
formulaire dont l'objet source est une table ou une requête. Une feuille de données ne peut pas être
personnalisée comme un sous-formulaire ; par exemple, vous ne pouvez pas ajouter un champ calculé à
une feuille de données. En revanche, vous pouvez créer un sous-formulaire basé sur un formulaire qui
contient un champ calculé, puis définir la propriété Affichage par défaut de ce formulaire sur Feuille de
données. Vous obtenez ainsi un sous-formulaire de type feuille de données qui contient un champ
calculé.
33
1. Sous l’onglet Créer, dans le groupe Formulaires, cliquez sur Plus de formulaires, puis sur
Assistant Formulaire .
3. Double-cliquez sur les champs de cette table ou requête que vous souhaitez inclure.
4. Dans la même page de l'Assistant, sélectionnez une autre table ou requête dans la liste déroulante
Tables/Requêtes. Pour cet exemple, sélectionnez la table Produits (le côté « plusieurs » de la
relation un-à-plusieurs).
5. Double-cliquez sur les champs de cette table ou requête que vous souhaitez inclure.
6. Lorsque vous cliquez sur Suivant, à supposer que vous ayez correctement configuré les relations
avant de démarrer l'Assistant, celui-ci vous pose la question suivante : Comment souhaitez-
vous afficher vos données ? (c'est-à-dire, en fonction de quelle table ou requête). Dans le cadre
de cet exemple, pour créer le formulaire Catégories, cliquez sur par Catégories. L'Assistant
affiche une image réduite du formulaire. La zone dans la partie inférieure du formulaire
représente le sous-formulaire.
7. En bas de la page de l'Assistant, sélectionnez l'option Formulaire avec sous-formulaire(s) et
puis sur Suivant.
8. Dans la page Quelle disposition souhaitez-vous pour votre sous-formulaire ? de l'Assistant,
cliquez sur Tabulaire ou Feuille de données selon la disposition souhaitée pour votre sous-
formulaire. Les deux styles dispose les données du sous-formulaire sous forme de lignes et de
colonnes, mais la disposition tabulaire est plus personnalisable. Vous pouvez ajouter de la
couleur, des graphiques et d'autres éléments de mise en forme, tandis qu'une feuille de données
est plus compact, tout comme le mode Feuille de données d'une table. Lorsque vous avez
effectué votre sélection, cliquez sur Suivant.
9. Dans la page Quel style souhaitez-vous ? de l'Assistant, sélectionnez un style de mise en forme
pour le formulaire. Si vous avez choisi Tabulaire à la page précédente, le style de mise en forme
choisi est également appliqué au sous-formulaire. Une fois votre sélection effectuée, cliquez sur
Suivant.
10. À la dernière page de l'Assistant, entrez les titres des formulaires. Access nomme les formulaires
en fonction des titres entrés et crée l'étiquette du sous-formulaire en fonction du titre attribué à
celui-ci.
Indiquez également dans cette page si vous souhaitez ouvrir le formulaire en mode Formulaire afin de
pouvoir afficher ou modifier les informations ou si vous souhaitez l'ouvrir en mode Création afin de
modifier sa conception. Une fois votre sélection effectuée, cliquez sur Terminer.
Access crée deux formulaires : un pour le formulaire principal comprenant le contrôle de sous-formulaire
et un pour le sous-formulaire proprement dit.
Suivez cette procédure si vous disposez de deux formulaires existants et que vous souhaitez en utiliser un
comme sous-formulaire de l'autre formulaire.
1. En mode Création, ouvrez le formulaire que vous souhaitez utiliser comme formulaire principal.
2. Dans le groupe Contrôles de l'onglet Créer, si l'outil Utiliser les Assistants contrôle est
sélectionné, cliquez dessus pour le sélectionner.
34
Access ajoute un contrôle de sous-formulaire au formulaire principal et lie le contrôle au formulaire que
vous avez fait glisser depuis le volet de navigation. Access tente également de lier le sous-formulaire au
formulaire principal, en fonction des relations qui ont été définies dans votre base de données. Si Access
n'est pas en mesure de lier le sous-formulaire au formulaire principal, les propriétés Lier les champs
enfants et Lier les champs pères du contrôle de sous-formulaire sont vides, et vous devez les définir
manuellement en procédant comme suit :
1. Cliquez avec le bouton droit sur le formulaire principal dans le volet de navigation, puis cliquez
sur Mode Création .
2. Cliquez sur le contrôle de sous-formulaire pour le sélectionner.
3. Si la feuille de propriétés n'est pas déjà affichée, appuyez sur F4 pour l'afficher.
4. Dans l'onglet Données de la feuille des propriétés, cliquez sur en regard de la boîte des
propriétés Lier les champs fils.
5. Dans les listes déroulantes Champs pères et Champs enfants, sélectionnez les champs auxquels
vous souhaitez lier les formulaires. Si vous hésitez quant aux champs à choisir, cliquez sur
Suggérer pour qu'Access tente de déterminer les champs de liaison. Lorsque vous avez terminé,
cliquez sur OK.
Si vous ne voyez pas le champ que vous souhaitez utiliser pour lier les formulaires, vous devrez peut-être
modifier la source d'enregistrement du formulaire fils ou du formulaire enfant de sorte que le champ de
liaison s'y trouve. Par exemple, si le formulaire est basé sur une requête, vous devez vous assurer que le
champ de liaison est présent dans les résultats de la requête.
6. Enregistrez le formulaire principal et passez en mode Formulaire pour vérifier que le formulaire
fonctionne comme prévu.
Si vous souhaitez apporter des modifications à la structure d'un sous-formulaire alors que vous utilisez
son formulaire principal en mode Création, vous pouvez ouvrir le sous-formulaire dans sa propre
fenêtre :
35
IV. IMPORTER, AJOUTER OU LIER DES
DONNÉES ISSUES D'UNE SOURCE EXTERNE
Si vous disposez de données enregistrées dans un autre programme, vous pouvez les importer dans une
nouvelle table ou les ajouter à une table dans Access. Vous pouvez également utiliser dans Access les
données que vos collaborateurs conservent dans d'autres programmes en créant un lien vers ces données.
Quel que soit le cas de figure, la manipulation de données issues d'une source externe s'apparente à un
jeu d'enfant dans Access. En effet, vous pouvez importer des données à partir d'une feuille de calcul
Excel, d'une table d'une autre base de données Access, d'une liste Windows SharePoint Services 3.0 ou
de nombreuses sources externes. La procédure ci-dessous constitue un bon point de départ, même si le
processus varie légèrement en fonction de la source utilisée.
1. Dans Access, onglet Données externes, groupe Importer, cliquez sur la commande
correspondant au type de fichier à importer.
Par exemple, si vous importez les données d'une feuille de calcul Excel, cliquez sur Excel. Si vous ne
trouvez pas le type de programme souhaité, cliquez sur Plus.
Remarque : Si le type de format approprié ne s'affiche pas dans le groupe Importer, démarrez le
programme dans lequel vous avez créé les données, puis utilisez-le pour enregistrer les données dans un
format de fichier courant (fichier texte délimité, par exemple) pour pouvoir importer ces données dans
Access.
2. Dans la boîte de dialogue Données externes, cliquez sur Parcourir pour rechercher le fichier de
données source ou tapez le chemin d'accès complet de ce fichier dans la zone Nom de fichier.
3. Cliquez sur l'option de votre choix (tous les programmes vous permettent d'importer des
données, certains permettant également d'en ajouter ou d'en lier) sous Spécifiez le mode et
l'emplacement de stockage des données dans la base de données active. Vous pouvez créer
une table qui utilise les données importées, ajouter les données à une table existante (avec
certains programmes) ou créer une table liée qui contient un lien vers les données dans le
programme source.
4. Si un Assistant démarre, suivez les instructions affichées sur les pages suivantes. Sur la dernière
page de l'Assistant, cliquez sur Terminer.
Si vous importez des objets ou liez des tables d'une base de données Access, la boîte de dialogue
Importer des objets ou Attacher les tables s'affiche. Sélectionnez les éléments de votre choix, puis
cliquez sur OK.
5. Access demande si vous voulez enregistrer les détails de l'opération d'importation que vous
venez d'effectuer. Si vous pensez que vous ré-exécuterez ultérieurement cette importation,
cliquez sur Enregistrer les étapes d'importation, puis entrez les détails. Vous pourrez dès lors
répéter ultérieurement l'opération en toute simplicité en cliquant sur Importations
enregistrées dans le groupe Importer de l'onglet Données externes. Si vous ne souhaitez
pas enregistrer les détails de l'opération, cliquez sur Fermer.
Si vous importez une table, Access importe les données dans une nouvelle table, puis affiche la table
dans le groupe Tables du volet de navigation. Si vous ajoutez des données à une table, celles-ci sont
ajoutées à la table. Si vous créez un lien vers des données, Access crée une table liée dans le groupe
Tables du volet de navigation.
36