Institut d'enseignement de promotion sociale de la Communauté française Arlon - Athus - Musson - Virton
Access
Réf.: D-F04-10d (09_2012)
Dominique Lieffrig
Dominique Lieffrig
Access 2010
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
Réf.: D-F04-10d (09_2012)
Dominique Lieffrig
Access 2010
LES BASES DE DONNEES DEFINISSONS QUELQUES NOTIONS
Réf.: D-F04-10d (09_2012)
1
Dominique Lieffrig
Access 2010
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. LIV_CODE L001 L002 L003
AUT_CODE G01 K01
TBL_LIVRE_LIV LIV_TITRE Le chant du monde Les jouets dans le monde …
AUT_CODE G01 K01
TBL_AUTEUR_AUT AUT_NOM AUT_PRENOM Giono Jean Kandert Josef
AUT_DN 30/03/1895
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. Ligne Enregistrement Tuple
TBL_LIVRE_LIV LIV_CODE LIV_TITRE L001 Le chant du monde L002 Les jouets dans le monde L003 … Clé primaire
Réf.: D-F04-10d (09_2012)
Colonne Champ
AUT_CODE G01 K01
Clé étrangère Colonne de référence
2
Dominique Lieffrig
Access 2010
LES OBJETS DE BASE
Réf.: D-F04-10d (09_2012)
3
Dominique Lieffrig
Access 2010
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
Réf.: D-F04-10d (09_2012)
4
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
5
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
6
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
.
7
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
8
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
9
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
10
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
11
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
12
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
13
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
14
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
15
Dominique Lieffrig
Access 2010
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 Numérique, Monétaire Texte, Numérique Date/Heure, Oui/Non, Mémo, Texte, Numérique, NuméroAuto, Monétaire Date/Heure, Oui/Non, Mémo, Liaison OLE, Texte, Numérique, Monétaire Date/Heure, Oui/Non, Mémo, Liaison OLE, Texte, Numérique, Monétaire Date/Heure, Texte, Numérique, NuméroAuto, Monétaire Date/Heure, Oui/Non, Mémo, Texte, Numérique, Monétaire Date/Heure, Oui/Non, Liaison OLE, Mémo, Texte, Numérique, Monétaire
Décimales Taille du champ Format Valide si Message si erreur Indexé Valeur par défaut Null interdit
Réf.: D-F04-10d (09_2012)
16
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
17
Dominique Lieffrig
Access 2010
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 Octet Entier Entier long Réel simple Réel double Décimal
Domaine de valeur 0 à 255 sans décimale -32768 à 32767 sans décimale -2147483648 à 2147483647 sans décimale -3,4 E+38 à 3,4 E+38 7 chiffres significatifs au total -1,797 E+308 à 1,797 E+308 15 chiffres significatifs au total -10^28 - 1 à 10^28 - 1 28 chiffres significatifs maximum
Mémoire allouée 1 octet 2 octets 4 octets 4 octets 8 octets 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 € Réf.: D-F04-10d (09_2012)
18
Dominique Lieffrig
Fixe: Standard: Pourcentage: Scientifique:
Access 2010
4692,37 4.125,18 75,00 % 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 0 1 2
452,79 453 452,8 452,79
79,00 79 79,0 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.
Réf.: D-F04-10d (09_2012)
19
Dominique Lieffrig
Access 2010
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" aaaa/mmm/jj a-aa 0000" N°" 00.000,0# $ #,## <[Vert] >
Date/Heure Date/Heure Date/Heure Numérique Numérique Monétaire Texte Texte
3:51 1/4/94 1/04/95 107 7412,9 7,51 ESSAI couleur
03:51:00 Heure 1994/avr/01 91-95 0107 N° 07.412,9 $ 7,51 essai (en vert) 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. 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. 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).
\ [Couleur]
Espace !
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.
# ,
Réf.: D-F04-10d (09_2012)
20
Dominique Lieffrig
Access 2010
Symbole
Description
% E- ou e-
Multiplie par 100 le nombre spécifié et ajoute le caractère "%". Pour les exponentielles négatives, la notation technique est utilisée avec un signe moins pour afficher le nombre spécifié. Pour les exponentielles positives, la notation technique est utilisée avec un signe plus pour afficher le nombre spécifié.
E+ ou e+
Symboles de Date/Heure Symbole Description / a aa aaaa h hh j jj jjj jjjj jjjjj jjjjjj m mm mmm mmmm n nn s ss t tttt
Séparateur de date. Numéro du jour à l'intérieur de l'année (1-366) Les deux derniers chiffres de l'année à 4 chiffres (01-99) Année à 4 chiffres. Selon le cas, l'heure est affichée avec un ou deux chiffres. L'heure est toujours affichée avec deux chiffres. Jour du mois représenté avec un ou deux chiffres selon le cas. Jour du mois toujours représenté avec deux chiffres. Les trois premières lettres du jour (Dim-Sam). Nom du jour (Dimanche-Samedi). Correspond au format prédéfini "Date, abrégé". Correspond au format prédéfini "Date, complet". Numéro du mois affiché avec un ou deux chiffres selon le cas. Le numéro du mois est toujours affiché avec deux chiffres. Mois en abrégé. Nom du mois. Minute affichée avec un ou deux chiffres selon le cas. Minutes représentées toujours par deux chiffres. Secondes affichées avec un ou deux chiffres selon le cas. Secondes toujours affichées avec deux chiffres. Numéro du trimestre (1-4). 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.
Réf.: D-F04-10d (09_2012)
21
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
22
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
23
Dominique Lieffrig
Access 2010
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 15 OU <0
Numérique Numérique
<>30 OU Est Null
Numérique
<#1/1/2001# >Date() Comme "L?????"
Date/Heure Date/Heure Texte
"D" OU "A"
Texte
La valeur encodée doit être différente de 7. La valeur encodée doit être égale à 15 ou être strictement inférieure à 0. Le champ doit contenir un nombre différent de 30 ou aucune valeur (ne pas confondre avec la valeur 0). La date doit précéder l'année 2001. La date ne doit pas être antérieure à la date du jour. La valeur doit commencer par la lettre L et se composer de 6 caractères. 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 Oui - Avec doublons Oui - Sans doublons
Effacer l'index existant ou ne pas créer d'index. Créer un index avec 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.
Réf.: D-F04-10d (09_2012)
24
Dominique Lieffrig
Access 2010
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 # 9 L ? A a & C
Chiffre (0 à 9), signes plus et moins non autorisés. Chiffre ou espace, signes plus et moins autorisés. Chiffre ou espace, signes plus et moins non autorisés. Lettre A à Z. Lettre A à Z Lettre ou chiffre Lettre ou chiffre Tout caractère ou espace Tout caractère ou espace.
non oui oui non oui non oui non oui
Réf.: D-F04-10d (09_2012)
25
Dominique Lieffrig
Caractère
Entrée admise
Access 2010
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 L'attribution de "Mot de passe" à la propriété Masque de passe 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). Réf.: D-F04-10d (09_2012)
26
Dominique Lieffrig
Access 2010
3.7. Exercices
Exercice T-01
Créez la table suivante.
ABO_PHOTO
ABO_COMMEN TAIRES
ABO_EMAIL
ABO_SITUA
ABO_DN
ABO_PRENOM
ABO_NOM
ABO_ID
ABO_TITRE
TBL_ABONNE_ABO
…
Caractéristiques des champs de cette table: Champ
Type
ABO_ID ABO_TITRE ABO_NOM ABO_PRENOM ABO_DN ABO_SITUA
NuméroAuto Texte Texte Texte Date/Heure Texte
ABO_EMAIL ABO_COMMENTAIRES ABO_PHOTO
Lien hypertexte Mémo Objet OLE
Notes Ce champ sera défini comme clé primaire
Au niveau de ce champ, on créera une liste déroulante proposant les valeurs suivantes: - Demandeur emploi - Handicapé - Omnio - RAS - Retraité
Encodez quelques données dans cette table.
Exercice T-02
Créez la table suivante.
PER_DD
PER_DN
PER_LOC_NAI SSANCE
PER_PRENOM
PER_NOM
PER_TITRE
PER_ID
TBL_PERSONNE_PER
… Réf.: D-F04-10d (09_2012)
27
Dominique Lieffrig
Access 2010
Caractéristiques des champs de cette table: Champ
Type
PER_ID PER_TITRE
NuméroAuto Texte
PER_NOM PER_PRENOM PER_LOC_NAISSANCE PER_DN
Texte Texte Texte Date/Heure
PER_DD
Date/Heure
Notes
Ce champ sera défini comme clé primaire Prévoir une liste déroulante reprenant les valeurs suivantes: - Madame - Mademoiselle - Monsieur Taille du champ = 35 caractères Taille du champ = 45 caractères Valeur par défaut = "Bastogne" La date de naissance (DN) est valide si elle est comprise entre le 1/1/1900 et le 31/12/2000 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.
Réf.: D-F04-10d (09_2012)
28
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
29
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
30
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
31
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
32
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
33
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
34
Dominique Lieffrig
Access 2010
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")
Réf.: D-F04-10d (09_2012)
35
Dominique Lieffrig
Access 2010
4.2.5. Résumé concernant les opérateurs de comparaison
Réf.: D-F04-10d (09_2012)
36
Dominique Lieffrig
RĂŠf.: D-F04-10d (09_2012)
Access 2010
37
Dominique Lieffrig
Access 2010
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
Réf.: D-F04-10d (09_2012)
38
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
39
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
40
Dominique Lieffrig
Access 2010
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)
Réf.: D-F04-10d (09_2012)
41
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
42
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
43
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
44
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
45
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
46
Dominique Lieffrig
Access 2010
4.4.2. Opérations diverses Access met à notre disposition différents types d'opérations: Compte: Max: Min: Moyenne: Ecartype: Somme: Var: …
affiche le nombre de valeurs. affiche la valeur maximale. affiche la valeur minimale. affiche la valeur moyenne. calcul de l'écart-type relatif à un ensemble de valeurs. le système calcule et affiche la somme des valeurs sélectionnées. 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:
Réf.: D-F04-10d (09_2012)
47
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
48
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
49
Dominique Lieffrig
Access 2010
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).
Réf.: D-F04-10d (09_2012)
50
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
51
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
52
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
53
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
54
Dominique Lieffrig
Access 2010
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)
Réf.: D-F04-10d (09_2012)
55
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
56
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
57
Dominique Lieffrig
Access 2010
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 Réf.: D-F04-10d (09_2012)
58
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
59
Dominique Lieffrig
Access 2010
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éé.
Réf.: D-F04-10d (09_2012)
60
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
61
Dominique Lieffrig
Access 2010
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 Réf.: D-F04-10d (09_2012)
62
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
63
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
64
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
65
Dominique Lieffrig
Access 2010
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é.
Réf.: D-F04-10d (09_2012)
66
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
67
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
68
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
69
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
70
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
71
Dominique Lieffrig
Access 2010
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éé.
Réf.: D-F04-10d (09_2012)
72
Dominique Lieffrig
Access 2010
12°) Suivez les différentes étapes comme illustré ci-après.
Réf.: D-F04-10d (09_2012)
73
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
74
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
75
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
76
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
77
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
78
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
79
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
80
Dominique Lieffrig
Access 2010
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
Réf.: D-F04-10d (09_2012)
81
Dominique Lieffrig
Access 2010
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". Réf.: D-F04-10d (09_2012)
82
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
83
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
84
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
85
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
86
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
87
Dominique Lieffrig
Access 2010
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 "Contenu" qui se trouve dans l'onglet "Données".
à droite de la propriété
Créez la requête qui alimentera la liste déroulante.
Fermez la requête et enregistrez les modifications Réf.: D-F04-10d (09_2012)
88
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
89
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
90
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
91
Dominique Lieffrig
Access 2010
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. Réf.: D-F04-10d (09_2012)
92
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
93
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
94
Dominique Lieffrig
Access 2010
6°) Dessinez le groupe d'options sur le formulaire. Suivez les différentes étapes proposées par l'Assistant.
Réf.: D-F04-10d (09_2012)
95
Dominique Lieffrig
RĂŠf.: D-F04-10d (09_2012)
Access 2010
96
Dominique Lieffrig
Access 2010
Résultat obtenu:
7°) Ajoutez les champs "VOY_ILLUSTRATION_CATALOGUE" et "VOY_COMPLET" sur le formulaire.
Réf.: D-F04-10d (09_2012)
97
Dominique Lieffrig
Access 2010
8°) Passez en mode Formulaire et testez le fonctionnement de celui-ci.
RĂŠf.: D-F04-10d (09_2012)
98
Dominique Lieffrig
Access 2010
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". Réf.: D-F04-10d (09_2012)
99
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
100
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
101
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
102
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
103
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
104
Dominique Lieffrig
Access 2010
3°) Vous obtenez ce qui suit.
4°) Passez en mode Création puis personnalisez l'état de la manière suivante:
Réf.: D-F04-10d (09_2012)
105
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
106
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
107
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
108
Dominique Lieffrig
RĂŠf.: D-F04-10d (09_2012)
Access 2010
109
Dominique Lieffrig
Access 2010
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).
Réf.: D-F04-10d (09_2012)
110
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
111
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
112
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
113
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
114
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
115
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
116
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
117
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
118
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
119
Dominique Lieffrig
Access 2010
2°) Cliquez sur "Ajouter un tri" dans le bas de la fenêtre.
3°) Sélectionnez le champ de tri (LIV_TITRE).
Réf.: D-F04-10d (09_2012)
120
Dominique Lieffrig
Access 2010
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:
Réf.: D-F04-10d (09_2012)
121
Dominique Lieffrig
Access 2010
Pour finalement arriver au résultat suivant:
Aperçu de l'état en mode Création:
Réf.: D-F04-10d (09_2012)
122
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
123
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
124
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
125
Dominique Lieffrig
Access 2010
13°) Suivez une procédure analogue pour le bouton "COMPTE > 0".
Réf.: D-F04-10d (09_2012)
126
Dominique Lieffrig
Access 2010
14°) Suivez une procédure analogue pour le bouton "Afficher tout".
15°) Passez en mode Formulaire et testez les différents boutons.
Réf.: D-F04-10d (09_2012)
127
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
128
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
129
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
130
Dominique Lieffrig
RĂŠf.: D-F04-10d (09_2012)
Access 2010
131
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
132
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
133
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
134
Dominique Lieffrig
Access 2010
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 enregistrement Réf.: D-F04-10d (09_2012)
Supprimer enregistrement
135
Dominique Lieffrig
Access 2010
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".
Réf.: D-F04-10d (09_2012)
136
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
137
Dominique Lieffrig
RĂŠf.: D-F04-10d (09_2012)
Access 2010
138
Dominique Lieffrig
Access 2010
Résultat obtenu:
4°) Répétez les mêmes actions pour le deuxième bouton.
Réf.: D-F04-10d (09_2012)
139
Dominique Lieffrig
Access 2010
Résultat obtenu:
Il ne reste plus qu'à passer en mode Formulaire puis à tester.
Réf.: D-F04-10d (09_2012)
140
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
141
Dominique Lieffrig
Access 2010
Importez les données voulues dans la table TBL_MATERIEL_MAT à partir du fichier mis à votre disposition. 2°) Créez les requêtes suivantes.
Réf.: D-F04-10d (09_2012)
142
Dominique Lieffrig
Access 2010
MAT_QSTOCK Entre 0 et 4
MAT_QSTOCK > 25
Fournitures stockées dans le local "L02" Réf.: D-F04-10d (09_2012)
143
Dominique Lieffrig
Access 2010
Fournitures de type "Classeur"
Fournitures de type "Papier" dont MAT_QSTOCK Entre 0 et 5 3°) Créez les formulaires suivants.
Réf.: D-F04-10d (09_2012)
144
Dominique Lieffrig
Access 2010
4°) Créez les états suivants.
Réf.: D-F04-10d (09_2012)
145
Dominique Lieffrig
RĂŠf.: D-F04-10d (09_2012)
Access 2010
146
Dominique Lieffrig
Access 2010
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.
Réf.: D-F04-10d (09_2012)
147
Dominique Lieffrig
Access 2010
Créer le menu général suivant permettant d'accéder aux différents formulaires et états.
Réf.: D-F04-10d (09_2012)
148