Partie 1 - Transport et logistique M1 BATNA

publicité
Université de Batna
Faculté des sciences économiques et sciences de gestion
Master 1
Transport et renfort
Module : Traitement informatique des données
Access 2007
Table des matières
Partie 1 : Introduction à Access
1-Qu’est-ce que c’est?
2- Ouvrir une nouvelle base de données
3.Présentation de l’environnement visuel
4. L’onglet TABLE de la fenêtre ‘Base de Données’
5. Créer une table
6. Créer une table en mode Création
7. Les modes création et feuille de données
8.Les relations entre les Tables
9.Créer une relation entre deux tables
11. Modifier ou supprimer une relation
12. Tester la relation et l’intégrité référentielle
13. Mise à jour et suppression en cascade
Partie 2 :Initiation aux objets Access
1.Une requête : qu’est-ce que c’est?
2. Créer une requête
3. Modifier des données à partir d’une requête
4. Formulaires
5. États
1
1
1
1
2
3
4
5
6
6
7
7
8
9
9
9
10
10
11
Partie 1 : Introduction à Access
Note : Tout d’abord : s’assurer qu’on a réellement avantage à connaître Access.
Parfois, on se fait simplement qu’il faut connaître ‘la suite Office’ pour trouver un emploi, sans savoir ce que
chaque logiciel est. Ainsi, si on a peu de temps, il peut être plus utile de solidifier ses compétences de
traitement de texte, de feuille de calcul et de navigation web que d’introduire Access. On veut vraiment
apprendre Access? Allons-y!
1-Qu’est-ce que c’est?
Une base de données, c’est un endroit qui contient beaucoup d’informations sur une même matière.
Access est un SGBDR… un système de gestion de base de données relationnelles (!!)
Autrement dit, dans Access l’information sur une même matière est placée dans plusieurs tableaux ayant
des liens logiques entre eux, plutôt que dans un seul tableau géant. La base de données utilise beaucoup
moins d'espace parce qu'elle réduit au minimum les redondances ou les répétitions de données. Nous
comprendrons petit à petit pourquoi cette façon de faire est plus efficace.
- Exemples d’utilisation : faire un inventaire, un budget, une liste des dépenses de nos employés, une
liste des emprunts d’équipements, une liste de membres, etc.
2- Ouvrir une nouvelle base de données
Bouton office > Nouveau > Base de donnée vide > La nommer…
Ici, nous utiliserons l’exemple d’une base de données pour une bibliothèque (ses livres, ses auteurs, ses
emprunts). Alors nommez-la ‘bibliothèque’.
3. Présentation de l’environnement visuel
Il est rassurant de constater que tout n’est pas nouveau, et qu’il y a beaucoup de ressemblance avec la barre de menu
de Word et des autres logiciels de la suite Office… Fichier, Édition, etc. On ne part donc pas de zéro.
a.
La barre de titre
b.
Les barres d’outils
Et surtout :
la
fenêtre
Base
de
Données qui
est le point
de départ de toute action
1
4. L’onglet TABLE de la fenêtre ‘Base de Données’
 En général, c’est dans les tables que la 1re saisie de données se fait.
 Vocabulaire :
-
Une colonne = un CHAMP
Un champ est une information nécessaire sur une personne, une chose ou un événement. Chaque champ
contient un type de données
Exemples : Prénoms, Noms, Numéros de téléphone, Numéro d’employé, etc.
-
Une
ligne
=
un
ENREGISTREMENT
Un enregistrement est un regroupement de champs décrivant une personne, une chose ou un événement.
Chaque enregistrement dans une table a les mêmes champs, mais les données sont différentes.
Exemple : chaque client d’un magasin = 1 enregistrement. Pour revenir à l’idée de la boîte à soulier, chaque
enregistrement = une fiche de la boîte à soulier.
Exemple :
Dans l’exemple ci-contre, ‘Nom’ est un champ, ‘Joannie Rochette’
est un enregistrement.
Note : sur le logiciel dans sa version anglophone :
base de donnée = database, champ = field, enregistrement = record
2
 1 table = 1 sujet
Une table contient des données sur un seul sujet. Par exemple, les clients et les produits d’une entreprise
peuvent se retrouver dans la même base de données, mais ils ne seront pas dans la même table.
Les clients = un sujet = une table
Les produits = un sujet = une table
Mais les clients achètent des produits, et c’est pourquoi Access nous permettra de lier ces tables (d’où
l’appellation ‘base de données relationnelles’…), qui sont comprises dans la même base de données sur les
achats. Nous verrons comment et pourquoi lier les tables plus tard.
Pour l’instant, continuons avec notre exemple ‘bibliothèque’.
Les auteurs = un sujet = une table
Les livres = un sujet = une table
Les membres = un sujet = une table
5. Créer une table
Nous créerons deux premières tables pour l’instant. Les auteurs et les livres concernent la bibliothèque, et
les deux sont des sujets liés, puisque les livres sont écrits par des auteurs. Ainsi, ils seront dans la même base
de données, mais il s’agit d’informations pouvant être fractionnée en 2 sujets (auteurs et livres), alors nous
ferons 2 tables.
Access 2007 propose des modèles préfaits de tables, selon 5 catégories de données :
Contacts, Tâches, Problèmes, Événements, Biens. Ceci peut être utile pour nous
suggérer des champs lorsque c’est la 1re fois qu’on crée une table.
Par exemple, si on se crée une liste d’employés, on choisirait ‘Contact’, et on voit qu’Access nous
propose une table préconçue avec les champs :
Numéro, Nom, Prénom, Courriel, Fonction, Téléphone professionnel, Téléphone personnel,
Téléphone mobile,Numéro de télécopie, Adresse, Ville, Département, Code Postal, Pays/Région, Page
web, Remarques.
C’est beaucoup plus rapide, et on peut supprimer les champs inutiles (exemple si tous les employés
sont à Montréal, on supprime le champ ‘Pays’).
Pour en revenir à notre exemple de bibliothèque, on ne veut qu’une table simple
(Auteurs) avec 3 champs : Nom, Prénom, Nationalité. Dans ce cas, avec Access 2007
ou 2010, il est donc plus rapide de ne pas utiliser l’assistant ‘Modèles de Tables’ et
de passer tout de suite en mode création :
o Dans l’onglet Créer, cliquer sur Création de table
o Dans la colonne ‘Champs’, inscrire : Nom, Prénom, Nationalité :
3
Il faut ensuite définir un champ de référence. C’est ici le temps d’introduire le concept merveilleux de la clé
primaire. Celle-ci sert à identifier le champ de contient une information unique à chaque enregistrement.
Exemple: Pour une table contenant des données sur les patients d’une clinique, il pourrait s’agir du
numéro d’assurance maladie. Dans la table ‘patients’, il y aura un champ ‘Num. Ass. Mal.’ Qui contiendra
une information qui est unique à chaque patient.
Exemple 2: Pour des employés d’une entreprise, il pourrait s’agir du numéro d’assurance sociale. Une clé
primaire est attribuée à un champ qui contient des données uniques. Personne n’a le même numéro
d’assurance sociale. Ainsi, le champ numéro d’ass. sociale contient une info différente pour chaque
employé, une info UNIQUE à chaque enregistrement de la table ‘employé’.
o
Choisir ‘NomFamille’ comme clé primaire
Pour ce faire, cliquer dans la ligne ‘Nom’ avec le bouton droit
de la souris et choisir ‘Clé primaire’ dans le menu contextuel
qui apparaît. Une petite clé apparaît à la gauche de la ligne
choisie.
Note : Le petit futé qui a saisit en un clin d’œil le concept de la
clé primaire comprendra peut-être déjà que choisir le nom de famille comme clé primaire n’est pas
optimal, puisque plusieurs auteurs peuvent avoir le même nom de famille, et que ce n’est donc pas un
champ qui contient des données uniques. Mais par souci de simplicité, pour rendre les étapes suivantes
plus claires, et pour éviter d’introduire tout de suite le concept des numéros automatiques et des types de
données, gardons NOMFAMILLE comme clé primaire.
o Appuyer sur ce logo (Affichage) pour afficher la table
vide (sans données).
o Entrer des données avec lesquelles nous pourrons pratiquer, comme ceci:
o Enregistrer sous ‘Auteurs’.
Dans la section suivante, on reprend les mêmes étapes pour se créer une table ‘Livres’.
6. Créer une table en mode Création
Créons la table que nous nommerons ‘Livres’, sans assistant, donc en mode Création.
Onglet Créer, cliquer sur ‘Création de table’
4
nouvellement créée,
o Ajouter les champs ‘Titre’, ‘Nom de Famille Auteur’, ‘Genre’, ‘Prêté à’, ainsi :
Ici, il est bien de démêler le fait que, plus tôt, il a été dit que une colonne = un champ, alors que dans la
table en mode création, une ligne = un champ.
Une colonne = un champ dans le mode feuille de données, c’est-à-dire là où on voit et où on entre les
données, tandis qu’en mode création, on est en train de créer la structure de notre table, quels seront
nos champs.
o Définir ‘Titre’ comme clé primaire :
Sélectionner le champ titre , Bouton droit de la souris, Clé primaire
o Fichier > Enregistrer sous > ‘Livres’
7. Les modes création et feuille de données
Il y a 2 ‘modes’ d’utilisation à introduire ici. Les objets d'Access ont
d'utilisation, principalement le mode Création et le mode Feuille de
Votre table est actuellement en mode création.
plusieurs
données.
modes
Dans le mode création, on peut créer ou modifier l'objet (supprimer ou
ajouter des champs
par exemple). Autrement dit, on peut modifier la structure de la table.
Le mode feuille de données sert à voir le résultat et à entrer les données dans notre table. On peut y
visualiser et modifier les informations.
o Grâce au bouton Affichage, passer de l’un à l’autre quelques fois pour démêler la chose.
o Revenir au mode feuille de données de notre table ‘Livres’, puis entrer des enregistrements dans la
table Livres, comme suit : type
o Fermer la table ‘Livres’
Dans la fenêtre Base de données, toujours dans l’onglet Table, on constate que deux lignes de plus
s’affichent : ‘Auteurs’ et ‘Livres’. C’est ici qu’on peut aller retrouver, modifier, supprimer des tables créées.
5
On note que ces 2 tables font parti de la même base de données : ‘Bibliothèque’.
8. Les relations entre les Tables
La raison d’être d’Access est de créer des tables reliées entre elles. Si on veut entrer toute notre information
dans un seul gros tableau, on n’a pas besoin d’Access et on peut faire le tout dans Excel, ou même dans
Word.
Access permet de relier un ensemble de plusieurs tables. Pourquoi faire cela?
Raison 1 : Les relations permettent de conserver la COHÉRENCE. Par exemple, si je change l’orthographe
d’un nom d’employé dans une table, ce nom doit changer partout s’il revient ailleurs. Dans notre exemple
‘Bibliothèque’, si je change le nom d’un auteur dans la liste des auteurs (par exemple pour corriger une
faute), le même changement doit se produire partout où on retrouve ce nom, pour chacun des livres écrits
par cet auteur. Avec Access, comme toute l’information est reliée, un changement se transmet partout, et
ce, automatiquement.
Raison 2 : Éviter la redondance et sauver du temps. Éventuellement, on veut en arriver à avoir une base de
données dans laquelle on n’entre chaque information qu’une seule fois.
Exemples
Exemple 1 : Si je fais une base de données sur les dépenses de mes employés, je ne veux pas entrer
nom, prénom, #employé, #.tél, superviseur, département, etc. de chaque employé à chaque fois que
l’un deux fait une dépense! J’aimerais bien n’avoir qu’à entrer le numéro d’employé et le montant
dépensé. Avec Access, ce numéro d’employé sera lié à une Table ‘employés’ qui contiendra toutes les
informations ci-haut, sans avoir à les retaper à chaque fois.
Exemple 2 : Dans l’exemple de la bibliothèque, quand ma bibliothèque achète des nouveaux livres de
Michel Tremblay, j’aimerais ne pas avoir à entrer encore son prénom, sa nationalité, etc. à chaque fois
que j’ajoute un livre de cet auteur.
 Vocabulaire : cette cohérence entre les tables, c’est l’intégrité référentielle
9. Créer une relation entre deux tables
Onglet ‘Outils de base de données’, bouton Relations
o Ajouter ‘Auteurs’ et ‘Livres’
o Fermer
o On veut ici créer une relation entre les 2 champs qui reviennent dans chaque table, qui contiennent
la même information, c'est-à-dire ‘Nom’ dans la Table ‘Auteurs’ et ‘Nom de Famille Auteur’ dans la
table ‘Livres’. Pour faire cela, utiliser la technique du Drag&Drop (Cliquez-Maintenir-GlisserRelâcher) avec la souris… On clique sur ‘Nom’, on maintient le bouton gauche enfoncer, on relâche
sur ‘Nom de Famille Auteur’.
o Une fenêtre s’ouvre.
o Elle nous indique qu’on vient de lier ‘Nom’ dans la Table ‘auteurs’ et ‘Nom de famille d’auteurs’ dans
la table ‘Livres’.
o Cocher ‘Appliquer l’intégralité référentielle’.
6
o La fenêtre indique aussi qu’il s’agit d’une relation ‘Un à Plusieurs’. En effet, un auteur peut avoir
plusieurs livres dans une bibliothèque, donc le nom de famille revient plusieurs fois dans la table
‘Livres’. Cependant, le nom de l’auteur ne revient qu’une fois dans la table auteur. Note : C’est
pourquoi ‘Nom’ est le champ qu’on a choisi pour la clé primaire.
o Créer
 Le côté ‘1’ de la relation ‘1 à plusieurs’ est une clé primaire.
 La clé sert de lien entre les tables.
 La table du coté UN doit obligatoirement avoir une clé primaire.
11. Modifier ou supprimer une relation
On s’est trompé? Pour rouvrir la fenêtre ‘Modifier les relations’, double-cliquer
noire qui fait le lien Un-à-Plusieurs.
sur la ligne
On veut supprimer la relation? Cliquer sur la ligne noire qui fait le lien Un-à-Plusieurs (elle devient
légèrement plus épaisse), puis appuyer sur le bouton Supprimer du Clavier.
12. Tester la relation et l’intégrité référentielle
o Fenêtre Base de Données, Table, sélectionner ‘Livres’, double-cliquer pour ouvrir.
o En mode feuille de données, entrer un nouvel enregistrement avec un nom de famille d’auteur ne
figurant PAS dans la table ‘Auteurs’. Compléter tous les champs puis valider l’enregistrement avec
ENTER.
o Constater le message d’erreur. Access ne veut pas enregistrer un livre d’un auteur qui, selon notre table
d’auteurs, n’existe pas.
Attention! On a souvent tendance à ne pas lire le message d’erreur et
à immédiatement le fermer.
Dans Access, ces messages nous indiquent souvent où se situe notre erreur. On gagne à le lire!
o Ok
o Annuler l’enregistrement en cours.
o Saisir maintenant un nouvel enregistrement avec un nom d’auteur qui existe dans la table Auteur. Ça
fonctionne!
L’intégralité référentielle, i.e. la cohérence entre les tables, est donc respectée.
Autre exemple : On ne pourrait pas non plus, dans la table Auteurs, Supprimer un enregistrement d’un
auteur qui a des livres reliés à son nom :
7
13. Mise à jour et suppression en cascade
? Mais alors, comment faire pour qu’un changement dans l’orthographe d’un nom d’auteur s’applique dans
mes 2 tables en même temps, sans qu’Access me bloque avec un message d’erreur?
Il faut aller dans la fenêtre Relation, double-cliquer sur le lien noir pour rouvrir la fenêtre ‘Modifier la
relation’, et aller cocher l’option ‘Mettre à jour en cascade les champs correspondants’.
? Comment faire pour que la suppression d’un auteur entraîne la suppression des livres écrits par lui? Il faut
cocher, dans la même fenêtre, la 3e option ‘Effacer en cascade’.
Exercice
Aller changer Mankell pour Mankel. Le changement effectué dans une table s’effectue dans l’autre,
une fois l’option ‘Mettre à jour en cascade’ cochée.
Ensuite, aller effacer l’enregistrement de l’auteur Mankel, dans la table auteur. Les livres
correspondants disparaissent.
?
Mais dans quels cas on voudrait ne pas cocher ‘Suppression en cascade’??
Après tout, on veut conserver la cohérence, non?
Imaginons une base de données sur les dépenses de nos employés. Est-ce que, lorsqu’un employé
démissionne et que je le supprime de la base de données ‘employés’, je veux que toutes les dépenses qu’il a
faites cette année disparaissent? Mais non! Je ne pourrai pas faire mon budget correctement!
C’est donc dire qu’avant chaque base de données, chaque tableau et chaque relation vient un bon
moment de réflexion et de planification sur ce qu’on voudra faire avec notre base de données.
8
Partie 2 : Initiation aux objets Access
1. Une requête : qu’est-ce que c’est?
Une requête est une action qui porte sur plusieurs enregistrements.
Les requêtes les plus courantes sont les requêtes sélection, qui sont des questions que l'on pose à Access sur
la base de données.
Exemple : Montre-moi tous les auteurs canadiens ?
Autres exemples :
- Combien me reste-t-il de crayons en stock?
- Qui sont mes 5 plus gros acheteurs cette année?
- Quels employés sont mes meilleurs vendeurs?
Note : Il s’agit ici de requête sélection. Il existe d'autres types de requêtes, comme les requêtes
suppression, qui suppriment tous les enregistrements correspondant à certains critères.
Les requêtes ont essentiellement 3 rôles :
 Poser une question.
 Modifier automatiquement la base de données (supprimer certains enregistrements par exemple).
 Construire d'autres objets d'Access, comme des formulaires.
Important : Requête ≠ Table. Une requête, bien qu’elle puisse être présentée visuellement sous forme de
tableau, n’est pas une nouvelle table. C’est une nouvelle vue sur les mêmes informations. Par exemple, une
requête sélection comme ‘Auteurs canadiens’ est une nouvelle vue sur notre information de la table
‘Auteurs’. C’est une vue restreinte par un critère de nationalité.
2. Créer une requête
Nous allons demander à Access de répondre à la
sont les livres écrits par des auteurs canadiens?
question : Quels
o Onglet Créer, Bouton Création de Requête.
o Access demande, dans la boite de dialogue
‘Ajouter
une table’, où sont situés les renseignements
utiles pour
effectuer la requête. Ici, notre question porte sur l’information contenue dans 2 tables différentes :
dans ‘Livres’ (pour les livres!) et dans ‘Auteurs’ (pour la nationalité).
o Cliquer sur Auteurs, Ajouter.
o Cliquer sur Livres, Ajouter.
o Fermer.
La requête, actuellement affichée en mode création, se présente sous la forme d'une fenêtre constituée de 2
parties. La partie supérieure contient les tables utilisées pour la requête. La partie inférieure sert à préciser
le résultat que l'on attend.
La requête doit afficher les champs Titre, Auteur et Nationalité. Un champ s'ajoute très simplement, par
‘Drag&Drop’ : en l'attrapant à la souris et en le relâchant à sa nouvelle position, comme dans l'explication qui
suit:
o Cliquer sur le champ ‘Titre’ et garder enfoncé le bouton de la souris. Placer le curseur dans l'une des
cases de la ligne champ et relâcher le bouton de la souris. De la même manière, placer les champs Nom
de Famille et Nationalité. Vos champs sont sélectionnés.
Il faut maintenant indiquer à Access de restreindre l'affichage aux seuls auteurs canadien, autrement dit
9
de saisir les critères de sélection.
Saisissez ‘Canada’ sur la ligne Critères, dans la colonne Nationalité.
o Bouton office/ Enregistrer sous " Liste des livres d'auteurs canadiens " / Enregistrer.
o Cliquer sur le bouton mode feuille de données.
La requête s'exécute et le résultat apparaît sous la
forme d'une feuille de données.
On voit alors les livres des 2 auteurs canadiens, Tremblay et Roy. C’est la réponse à notre question ‘Quels
sont les livres écrits par des auteurs canadiens?’
On note qu’il n’est pas nécessaire d’afficher la colonne nationalité dans ce cas, puisque tous les champs
indiqueront ‘Canada’. Pour retirer l’affichage de la colonne dans le mode feuille de données, retourner en
mode Création et retirer le crochet de la ligne ‘Afficher’ dans la colonne du champ ‘Nationalité’.
3. Modifier des données à partir d’une requête
Si l'on modifie les données dans la requête affichée, on les modifie aussi dans les tables.
o Dans la requête " Liste des livres d'auteurs canadiens ", changer ‘La Lionne blanche’ pour ‘Lionne
Blanche’.
o Fermer la fenêtre.
o Vérifier que le changement de titre effectué dans la requête apparaît aussi dans la table ‘Livres’.
Note : la requête apparaît dans la fenêtre Base de données. On peut ainsi la garder et consulter notre liste
d’auteurs canadiens tous les jours, sans recommencer notre processus de requête.
4. Formulaires
C’est quoi?
Un formulaire permet de présenter l'information sous forme de fiche, plutôt que sous forme de feuille de
données, comme dans l’exemple classique de la boîte à soulier avec les factures dedans. Une facture = Une
fiche.
Les formulaires présentent l'information de façon plus agréable et plus conviviale.
Il est très facile de créer un formulaire grâce à l’Assistant. Un formulaire peut être enregistré; il est donc
‘‘réutilisable’’.
Création instantanée d'un formulaire
o Sélectionner la table ‘Auteurs’
o Onglet ‘Créer’
o Bouton ‘Formulaire’
10
-- La flèche suivie d’une * sert à créer un nouvel enregistrement.
On peut naviguer à travers les fiches avec
les petites flèches. On peut aussi naviguer
dans un formulaire avec TAB et SHIFT.
-- Les formulaires peuvent être basés sur
une table ou sur une requête.
Une modification ou un ajout dans un formulaire
s’inscrit aussi dans la table correspondante.
Sélectionner l’ordre de défilement dans un
formulaire
Comment voir l’item le plus cher en premier dans
un formulaire? Les données en ordre alphabétiques de clients dans un
o Sélectionner un champ (votre critère de tri), par exemple ‘Nom’
o Cliquer sur le bouton ‘Trier’ (A—Z)
Note : l’ordre change dans le formulaire sans changer dans la table
formulaire?
correspondante.
5. États
C’est quoi? Un état sert à présenter/imprimer le contenu d'une table ou d'une requête.
Les états sont des outils d'analyse.
Création instantanée d'un état
o Onglet Créer ‘État ‘’
Avec l’assistant état, on peut décider de présenter les
mêmes informations autrement, par
exemple comme
ceci :
C’est une question
d’esthétique et de
facilitation de lecture.
11
Téléchargement