Académique Documents
Professionnel Documents
Culture Documents
Objectifs de la manipulation:
1. Création d’une BD et des tables
2. Saisie des données directe et par formulaires
3. Les états
4. Les requêtes de sélection, d’ajout, de mise à jour et
de suppression
5. Les relations x:1-x:n et x:n-x:n
2
1- Créer une BD
Ouvrir Access 2010 – Nouveau – Base de données vide – Nom de ficher = BDClient 3
1- Créer une BD
Une table se crée automatiquement nommée Table 1, ouverte sur le mode feuille de
données, qui permet de saisir les données 4
2- Création et paramétrage d’une table
5
2- Création et paramétrage d’une table
- On saisit les différents champs de la table, comme précisé par le modèle MLD:
Client(NoClt, CiviliteClt, NomClt, PrenomClt, ,AdresseClt, CPclt, VilleClt, TelClt, EmailClt,
DateNaissanceClt)
- Pour chaque champ on précise le type de données souhaité (texte, numérique, date/heure,
….).
6
2- Création et paramétrage d’une table
-Pour la civilité, on choisit liste de choix pour tapez M, Mme et Mlle. On choisit limiter à la
saisie pour ne pas donner d’autres choix et on ne sélectionne pas autoriser plusieurs
valeurs. 7
2- Création et paramétrage d’une table
- Le type de données est redevenu texte, mais dans l’onglet Liste de choix, on retrouve ce qui
a été saisi.
- Le nom, prénom et adresse sont laissés par défaut (type texte)
8
2- Création et paramétrage d’une table
- Pour le code postal, on laisse le type texte et on applique un masque de saisi. Cela permet
de saisir un format bien précis. Dans ce cas le code postal est composé de 5 chiffre. Pour
cela, on tape 99999 dans le masque de saisi
- Même chose pour le téléphone, 99 99 99 99 99. On peut mettre des tirets ou des points à
la place des espaces
- NB: on ne choisit pas le type Numero car les numéros ne peuvent pas commencer par 0
9
2- Création et paramétrage d’une table
- On revient au No, qu’on nomme NoClt et qui possède le type NumeroAuto et le symbole
de la clé primaire.
- Access 2010 génère automatiquement un numéro unique incrémenté à la création de
chaque enregistrement, même si un enregistrement est supprimé.
- Ce numéro ne peut ni être changé ni être supprimé.
- La table est maintenant paramétrée, on l’enregistre
11
2- Saisie directe des données d’une table
12
2– Saisie de données par les formulaires
- Rôle du formulaire: permet de saisir les données d’une façon plus conviviale qu’avec le
mode saisie de données
- Il permet aussi de saisir dans plusieurs tables en même temps
1
2
3
4
Précédent et suivant
14
Nouvel enregistrement
2– Saisie de données par les formulaires
- Modifier l’apparence du formulaire
en cliquant sur Affichage - mode création
16
3– Les états
- Rôle des états: permettent de mettre en page et synthétiser les données afin de les
imprimer
17
3– Les états
18
3– Les états
- On donne un nom à l’état crée, puis terminer
- Comme pour le formulaire, on peut éditer à souhait le style de l’état en agrandissant les
cases des champs, en changeant couleur, police et style à volonté.
- On peut insérer des logos ou des images, avoir la date et le numéro de page
20
4- Les requêtes
21
4- Les requêtes
- On souhaite connaitre tous les clients qui sont nés entre 1980 et 1985
- On vide les critères déjà remplis et on saisit dans le champ de la date de naissance
>31/12/1979 et < 01/01/1986 puis on clic sur exécuter
24
4.1 – Requêtes de sélection
- Rôle requêtes d’ajout: Ajouter les enregistrement d’une table dans une autre table, selon
un ou plusieurs critères. On prend un exemple:
- On souhaite créer une table des clients âgés qui sont nés avant le 01/01/1956
- Pour cela, on crée une nouvelle table, qu’on nomme ClientAge, avec les champs: No,
nom, prenom, date de naissance et contact.
- On crée dans la nouvelle table (ClientAge) une requête: onglet créer -création de
requête
- On choisit la table Client, puis on sélectionne tous les champs et on ajoute le critère
(< 01/01/1956) dans la date de naissance
- On nomme et enregistre la requête 26
4.2 – Requêtes d’ajout
- On clic sur l’onglet créer pour cette requête
- On est en type de requête Sélection,
- On clic sur le type Ajout
- On a une nouvelle propriété qui apparait: Ajouter à. Elle sert à effectuer la correspondance
entre un champ de Client et celui de ClientAge
- On clic sur Exécuter
- Un message affiche qu’on va ajouter un certain nombre de lignes
- On retrouve ses lignes dans la table ClientAge
27
4.2 – Requêtes d’ajout
28
4.2 – Requêtes d’ajout
Remarque importante:
- Si on modifie la valeur d’un champ d’un enregistrement dans la table Client (par exemple
un nom) et que celui-ci est déjà présent dans la table ClientAge
- Lorsqu’on exécute la requête, cette valeur du champ ne sera pas prise en compte dans la
table ClientAge,
- Cela est dû au fait qu’on n’ajoutera pas ce nouvel enregistrement mais il existe déjà dans
la table ClientAge
Exemple:
- Dans Client:
- Dans ClientAge:
Une solution
- Il faut donc supprimer la table ClientAge, re-créer la table et puis ré-exécuter la requête
Rôle de la requête de mise à jour: mettre à jour un ou plusieurs enregistrements d’une table
- Onglet Créer - Création de requête, puis choisir la table
- On sélectionne le champ dans lequel on rentre le critère de mise à jour
- Exemple: modifier le CP 10000 par 10002 (on peut choisir n’importe quel critère)
- On clic sur l’onglet Mise à jour dans le type de requête
- Une nouvelle propriété est ajouté Mise à jour, on y saisit la nouvelle valeur du champ à
mettre à jour (ici 10002)
- On clic sur exécuter
- Un message demande si on souhaite effectivement mettre à jour des lignes, on accepte
32
4.5 – Requêtes de détection des doublons
- Pour détecter les enregistrements qui sont présents en
double (doublons) dans la table, on clic sur l’onglet créer –
assistant requête
- On choisit Assistant requête trouver les doublons, puis on
choisit la table et les champs qui peuvent contenir les
doublons (Il y a plusieurs personnes dans une ville, mais
pratiquement impossible d’avoir le même nom, prénom et
date de naissance)
- On choisit ensuite les champs à afficher après la requête
- Exemple:
- Si on sélectionne uniquement le champ nom, on obtient
comme doublons les personnes ayant le même nom
mais pas le même prénom.
- Si on veut détecter les clients rentrés en double, on
sélectionne nom, prénom et date de naissance.
33
5- Les relations sous Access
- Rôle des relations: Lorsqu’on souhaite lier 2 tables entre elles
- On étudie le MLD suivant déjà présenté dans le chapitre 2 du cours
- On commence par créer les tables Facture et Article, en plus de la table Client déjà
créée.
- Ensuite, on remplit ces 2 tables avec quelques enregistrements.
MCD
MLD 34
5- Les relations sous Access
5.1 – Association x:1-x:n
- Ensuite, on doit ajouter la clé primaire de Client (NoClt) dans la table Facture comme une
clé étrangère:
- On ajoute dans Facture un champ NoClt, de type numérique
- On enregistre et on ferme les 2 tables
- On clic sur Outils de base de données - Relations
- On a une nouvelle table de dialogue qui s’affiche où on sélectionne les tables à
mettre en relation (ici Client et Facture)
- On glisse le champ NoClt de la table Client vers le champ qui porte le même nom
dans la table Facture
- Une fenêtre s’affiche où on sélectionne appliquer l’intégrité référentielle.
- Rôle de l’intégrité référentielle : permet à Access de garantir que les relations entre
les enregistrements dans les tables liées sont valides et que les données liées ne
seront pas modifiées ou effacées par erreur 35
5.1 – Association x:1-x:n
- On clic sur créer et on obtient un schéma de la
relations 1,n (symbole infini au lieu de n)
- Ensuite, on ferme l’éditeur des relations et on
enregistre
- On ouvre la table Facture et on remplit les NoClt par des numéros de client déjà existants.
- Si on essaie de renter un NoClt qui n’existe pas, un message d’erreur s’affiche (grâce à
l’intégrité référentielle),
- En cas de sélection de l’intégrité référentielle, Il est donc impossible de renter dans la
table Facture un NoClt qui n’existe pas dans déjà dans la table Client.
36
5.1 – Association x:1-x:n
Remarque importante
- Lorsqu’on essaie d’ajouter une facture sans
NoClt, cela est possible.
- Cela aurait été utile si la cardinalité de
l’association entre Facture et Client est 0,1 du
côté Facture
- Dans notre schéma MCD, la cardinalité est de 1,1 du côté Facture.
- Avant d’ajouter un enregistrement dans Facture sans NoClt, il faut donc passer en mode
création pour Facture, puis dans Null interdit, choisir Oui.
- Ainsi, Lorsqu’on voudra introduire une facture sans NoClt, on aura un message d’erreur
qui nous l’interdira
- On pourra être sûr d’avoir respecté le modèle MCD conçu pour notre base de données
37
5.1 – Association x:1-x:n
38
5.1 – Association x:1-x:n
- Si on souhaite supprimer des enregistrements de
client sans supprimer manuellement toutes les
factures qu’il a, on sélectionne outils de base de
données – Relations – double clic sur la relation
actuelle et on sélectionne les deux derniers
champs,
39
5.2 – Association x:n-x:n
- On crée la nouvelle table Porter avec les champs NoArticle et NoFacture et quantité (les
trois en type numérique)
- A son enregistrement, on ne met pas de clé primaire et on ferme la table
- Ensuite, outils base de données – relations-afficher les tables, on choisit Article et
Porter (on a déjà Facture)
- On glisse le NoArticle d’Article vers le même champ de Porter et NoFacture de Facture
vers le même champ de Porter. On coche les 3 cases pour les fenêtres qui apparaitront
40
5.2 – Association x:n-x:n
- On obtient une table Porter avec 2 associations: une avec Facture et l’autre avec Article
- Ainsi, une facture peut contenir plusieurs articles et un article peut être inclus dans
plusieurs factures
- On ferme la fenêtre des relations,
- On ouvre la table Porter- mode création, on sélectionne les 2 clés étrangères en même
temps et on leur applique la clé primaire
41
5.2 – Association x:n-x:n
42
5.3 – Requête sur une relation
- Exemple: On veut afficher les numéros et les dates des de factures de chaque client
(numéro, nom et prénom) ainsi que les noms des articles inclus et leur quantité, et on
trie selon le nom du client
- On ouvre Créer-Création de Requête-choisir les tables Client, Facture, Article et Porter
- on choisit, Dans client, : NoClt, NomClt (Trie) et PrenomClt. Dans Facture: NoFacture et
DateFacture. Dans Porter: Quantite
- Seuls les enregistrements ayant une valeur pour toutes les clés primaires des tables
sélectionnées sont affichées
- Exemple: La facture numéro 4 du client numéro 6 n’est pas affichée car elle ne contient
pas encore d’article. Lorsqu’on entre un article pour cette facture dans Porter et qu’on
ré-exécute cette requête, un nouveau enregistrement est affiché
43
Conclusion
Points à retenir:
- Saisie des données dans les tables et les types de données les plus
importants