TP4 Access
Créer une base de données associée à une version allégée de la gestion du matériel des salles de TP dont
le MCD est le suivant.
APPAREILS( IDappareil NuméroAuto PANNES( IDpanne NuméroAuto
unique, designation texte 50, unique, description texte 255)
reference texte 20, marque texte 50,
date_achat Date,abrégée, prix
monétaire euro, garantie texte 1)
SALLES( IDsalle NuméroAuto unique, AFFECTER(IDappareil Numérique
nom_salle texte 5, entier long,
place numérique entier, IDsalle Numérique entier long,
utilisation texte 50, Date_entree Date,abrégée,
poste numérique entier, Date_sortie Date,abrégée)
IDperso Numérique entier long)
PERSONNELS( IDperso NuméroAuto SUBIR(idappareil
unique, Numérique entier long,
civilite texte 5, idpanne Numérique entier
Nom_perso texte 50, long, date_panne
prenom texte 50, Date,abrégée)
fonction texte 50,
date_affect Date, abrégée)
1
Création de la base ACCESS
Création de la base ACCESS
Lancer Microsoft Access et construisez une nouvelle base ACCESS (commande base de données vide)
1. Nommez la contrôle (votreNom).accdb
2. Créer la base.
Création des tables
Vous allez maintenant construire les 6 tables.
Utilisation de l’interface Access
Suite à la création de la nouvelle base, une table vierge « table 1 » est créée par défaut. Passer en mode
création de la façon suivante et enregistrer la table sous le nom « APPAREILS.
Compléter les champs de la table APPAREILS en vous aidant du MLD.
2
De la même façon, créer les tables PANNES et SUBIR. Pour créer une nouvelle table,
vous devez cliquer sur l’onglet créer, puis choisir « Création Table ».
Dans l’onglet outils de base de données du menu principal, cliquez sur pour voir le
diagramme déjà créé.
A ce stade, les relations entre table n’existent pas, nous y reviendrons un peu plus loin.
Utilisation d’une requête :
Dans la fenêtre de la base de données, cliquez sur l’onglet Créer et sur le bouton Création de
requête dans la zone autre .
Une nouvelle fenêtre s’ouvre, cliquez sur le bouton Fermer.
Sur la barre d'outils de mode création des requêtes, cliquez le bouton SQL Changez
l'énoncé dans la fenêtre Requète1 comme suit :
CREATE TABLE PERSONNELS ( IDperso
AUTOINCREMENT primary key,
nom_perso TEXT(50), prenom TEXT(50),
fonction TEXT(50),
date_affect DATETIME
);
Pour sauvegarder la requête, sur la barre d'outils Afficher requête, cliquez le bouton .
Tapez création table personnels comme nom de la requête et validez.
3
Pour exécuter la requête, sur la barre d'outils de mode création des requêtes, cliquez le bouton
Exécuter .
Procédez à l'identique pour la table SALLES. Pour créer la clé secondaire sur le champ IDperso, vous devrez
rajouter une contrainte à la fin de votre requête, après la définition du dernier champ, comme suit :
CONSTRAINT fksalleperso FOREIGN KEY (IDperso) REFERENCES PERSONNELS(IDperso)
Dans l’onglet outils de base de données du menu principal, cliquez sur pour voir le
diagramme déjà créé.
On remarque que les tables créées à l’aide des requêtes sont reliées entre elles, comme ci-dessous.
Il nous faut donc créer manuellement les autres relations. Pour cela, rien de plus simple, il suffit de
cliquer sur la clé primaire IDappareil de la table APPAREILS et de la faire glisser sur le champ
correspondant dans la table SUBIR. La fenêtre
4
et saisir les données directement dans les tables.
Supprimer l’appareil (dans la table APPAREILS).
Que se passe t-il dans la table SUBIR?
Finir de construire la base de données en rajoutant la table AFFECTER ainsi que les relations avec les autres
tables (par la méthode de votre choix).
Saisir des données dans la base ACCESS
La saisie des données peut se faire directement dans les tables en mode feuilles de données (comme
vous l’avez fait plus haut). Ce mode est plutôt réservé au développeur de la base mais pas à l’utilisateur.
Il est plus confortable pour l’utilisateur de disposer d’un « Formulaire de saisie » qui ressemble à un
formulaire papier.
Préparation de la saisie
Il est de bon usage de facilité la saisie des données, afin d’éviter les erreurs de frappes par exemple. Il
existe pour cela plusieurs techniques :
Valeur par défaut
Certains champs dans les enregistrements prennent souvent la même valeur.
Pour indiquer une valeur régulièrement utilisée pour un champ, ouvrez une table en Mode création,
choisissez le champ, et dactylographiez la valeur désirée dans la zone Valeur par défaut. La valeur par
défaut devrait être convenablement dactylographiée :
• Si le champ est basé sur le texte, vous pouvez dactylographier le texte par défaut inclus dans les
guillemets. Exemples: "M", la "Virginie", "(301) 122-4738"
• Si le champ est numérique, vous pouvez dactylographier le nombre par défaut
• Si le champ est basé sur la date, vous avez deux options et vous pouvez vouloir indiquer une
date fixe comme valeur par défaut, la dactylographier entre deux signes #. Un exemple serait
#2/5/1998#
• Si le champ est basé sur la date, vous pouvez également dactylographier une fonction qui
trouverait la date correcte pour l'afficher. Par exemple, pour fournir la date du jour comme
valeur par défaut, vous pouvez utiliser la fonction Date ().
Étude pratique :
Dans la table PERSONNELS, ajouter un champ civilite entre le champ IDperso et le champ nom_perso
et faites en sorte que la valeur proposée par défaut soit « M. ».
Dans la table AFFECTER , faites en sorte que le champ date_entree prenne par défaut la date du jour de saisie.
Règle de validation
5
Une règle de validation est une condition que la valeur écrite dans un champ doit respecter afin d'être
valide. Cette règle est habituellement créée comme expression et écrite dans la propriété règle de
validation d'un champ quand la table ou le formulaire est ouvert en mode création.
Étude pratique :
Dans la table SALLES, faire en sorte que la valeur place soit comprise entre 0 (min) et 50 (max).
Listes automatiques
Afin de faciliter la création des formulaires de saisie des données, il est judicieux de faire directement
apparaître les listes liées dans les tables.
Prenons l'exemple du champ IDperso de la table SALLES.
L'information saisie dans ce champ doit correspondre à un code numérique de personnel existant par
ailleurs dans la table PERSONNELS; mais il serait plus "convivial" de présenter une liste déroulante faisant
apparaître la civilité, le nom et le prénom des personnels.
Pour cela, sélectionner la table SALLES et choisir le mode création, puis suivez les instructions suivantes :
Sélectionner l'affichage liste de
choix pour le champ IDperso.
Construire une requête qui présente 2
colonnes: IDperso et perso
(concaténation du nom et du prénom)
Indiquer qu'il y a 2 colonnes
Rendre la première colonne invisible en lui fixant
une taille de 0cm
Dans la table PERSONNELS, faites en sorte que les valeurs proposées pour le champ civilité soient {M., Mlle.
ou Mme.} avec M. comme valeur par défaut. Dans la table AFFECTER, faites en sorte que :
les valeurs proposées pour le champ IDsalle soient dans une liste déroulante proposant le nom des
salles,
les valeurs proposées pour le champ IDAppareil soient dans une liste déroulante proposant le nom
des appareils en stock.
Dans la table SUBIR, faites en sorte que les valeurs proposées soient dans une liste déroulante proposant
le nom des appareils avec leur salle d’affectation.
Remarque : à la place de taper directement la requête sélection dans la case contenu, vous pouvez
créer une requête puis la choisir comme contenu. Se reporter à : « Interrogation de la base, création
de requête ».
Construire les formulaires de saisie
Les formulaires sont utilisés pour saisir des données dans les tables.
En fait, la source de données d'un formulaire peut être une table, une combinaison de tables, une
requête, une combinaison de requêtes, ou une combinaison de tables et de requêtes.
Le dispositif appelé Formulaire Automatique est le moyen le plus rapide de créer un formulaire.
6
Étude pratique :
• sur la fenêtre de base de données, cliquez Tables et sélectionnez la table APPAREILS.
• sur la barre d'outils de la base de données, sélectionner l’onglet « Créer », puis cliquer
sur « Formulaire ». Un formulaire instantané est créé sur la table APPAREILS.
• après avoir visionné votre formulaire, allez sur la barre d'outils de la base des données
et cliquez le bouton sauvegarder
• acceptez le nom suggéré (APPAREILS) pour le formulaire, cliquez OK.
• fermez alors le formulaire.
Après quelques modifications, on obtient :
Procédez de même pour la construction des formulaires
PERSONNELS, SALLES, AFFECTER,
SUBIR et PANNES.
Créer la salle GE205 qui dispose de 16 places assises, 6
postes équipés et gérée par Fabrice WATEAU.
Interrogation de la base : création de requête
Avant de pouvoir faire des recherches d’information dans la base de données, on vous propose
d’importer des données en suivant la procédure ci-dessous.
Importation de données
Le contenu des différentes tables a été créé au départ dans Microsoft EXCEL.
Il faut importer ces données dans ACCESS pour ne pas avoir à les re-saisir.
• Pour importer une feuille de calcul de Microsoft Excel, sur le menu Données externes, vous
pouvez cliquer Excel.
• Localiser le Fichier qui contient la feuille de calcul (W:\commun\mcars\[Link]) et
sélectionnez Ajouter une copie des enregistrements à la table « PERSONNELS ». Cliquez sur ok.
7
Création de requêtes
Nous avons déjà vu comment créer une requête en mode SQL lors de la création des tables. Nous allons
maintenant voir comment réaliser une requête sélection avec l’environnement ACCESS. Pour cela,
nous allons simplement faire la liste des appareils.
Dans la fenêtre de la base de données, cliquez sur l’onglet Créer et sur le bouton Création de requête
dans la zone autre.
Une nouvelle fenêtre s’ouvre.
Choisir la tables APPAREILS puis cliquez sur
Ajouter, puis sur Fermer.
La table sélectionnée apparaît alors dans la
fenêtre de création de requête.
Pour choisir les champs à afficher, il suffit de
cliquer sur le champ dans la table, puis de le
faire glisser dans une colonne du tableau situé
en dessous.
Vous pouvez repasser en Mode SQL pour voir le
code généré.
Cliquer ensuite sur le bouton exécuter, dans le
menu outils requêtes pour voir le résultat de votre requête.
8
Étude pratique :
Créer et exécuter les requêtes suivantes :
1. Liste des personnels (civilité, nom, prénom, fonction) triés par ordre alphabétique croissant,
2. Liste des différentes désignations d’appareils (GBF, oscilloscope, etc.) triés par ordre croissant. Le
nom de chaque désignation ne doit apparaître qu’une fois,
3. Modifier la requête ci-dessus en faisant apparaître le nombre d’appareils existant pour chaque
désignation (fonction count),
4. Liste des personnels (civilité, nom, prénom, fonction) responsable d’une salle, triés par ordre
alphabétique croissant,
5. Liste des salles et de leur responsable,
6. Liste des personnels (civilité, nom, prénom, fonction) et le nombre de salles en responsabilité,
7. Liste des appareils affectée à une salle à la date d’aujourd’hui.
8. Liste des appareils en stock.
9. Liste du matériel constituant un poste de TP dans la salle GE205,
10. Nombre totale de poste de TP si on regroupe toutes les salles de TP,
11. Liste des salles où l’on trouve une alimentation de type : Metrix ITT AX322.