À quoi servent les relations entre les tables Access et comment les créer ?

Votre Assistante
Votre AssistanteGérante à Votre Assistante

Tutoriel sur l'utilité des relations Access. Pourquoi et comment créer une relation entre 2 tables ? Comprendre l’intégrité référentielle et les cardinalités (1-1, 1-N et N-N).

Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
1
À quoi servent les relations entre les tables Access et comment les créer
Lorsque vous créez une base de données complexe, il vous sera fortement utile d’utiliser les
relations et donc d’en comprendre leur fonctionnement. Les relations entre les tables
permettent d’éviter les redondances et donc de réécrire les informations plusieurs fois et
surtout d’éviter les erreurs.
Par exemple, si j’utilise Access pour créer mes factures, je peux créer une Table Clients où je
saisirai toutes les informations concernant chaque client et je créerai une Table Factures où je
ne saisirai que les informations concernant la facture elle-même comme son Numéro, sa Date
d’émission et sa Description (quantité, prix unitaire, montant…) et je n’aurais pas besoin de
ressaisir à chaque facture les informations du client grâce à la relation que j’aurais créée entre
les deux tables et je n’aurais pas de doublon.
Pour bien comprendre le fonctionnement des relations, voici un petit rappel.
Il existe 3 types de relations (on peut également appeler ces relations "cardinalité") :
 1 à 1 (1-1)
 1 à plusieurs (1-N)
 Plusieurs à plusieurs (N-N)
N désigne le symbole infini (∞) dans le logiciel Access.
Nous allons prendre 3 exemples pour mieux comprendre ces 3 types de relations.
À gauche et à droite nous retrouvons les tables avec en titre leur nom suivi de leurs champs
(dans ces exemples, les champs ont été simplifiés mais on peut bien sûr en avoir plus). Au
centre, nous utilisons un verbe qui peut être utilisé dans la relation entre les 2 tables.
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
2
Dans cet exemple, on peut dire qu’un Individu possède une seule Carte d’identité. Dans le
sens inverse, une Carte d’identité ne peut être possédée que par un seul Individu.
La relation est donc 1 à 1.
Ici, on peut dire qu’un Client peut recevoir plusieurs Factures. À l’inverse, une facture ne
peut être reçue que par un seul Client.
La relation est donc 1 à plusieurs.
Enfin, dans cet exemple, nous pourrons dire qu’un Étudiant peut suivre plusieurs Cours mais
aussi qu’un Cours peut être suivi par plusieurs Étudiants.
La relation est donc plusieurs à plusieurs.
À partir du moment où la réponse est différente de 1, je retiens la réponse plusieurs.
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
3
Maintenant, nous allons mettre en application ce que nous venons de voir pour créer une
relation sur Access.
Pour l’exemple, nous allons prendre une Table Clients et une Table Factures comme dans le
schéma n°2 où la relation est 1 à plusieurs. Vous trouverez une base de données comprenant
ces 2 tables dans l’Espace Membres afin de mettre en pratique ce tutoriel si vous le souhaitez.
Pour créer des relations, je dois d’abord avoir un champ en commun dans mes 2 tables.
Pour cela, je vais créer un champ N° client dans ma Table Factures ayant exactement le
même nom que le champ N° client de la Table Clients. Le même nom n’est pas obligatoire
mais le même type oui.
J’ouvre ma Table Factures et je clique soit directement sur Affichage , soit sur la
flèche sous le bouton Affichage pour passer en Mode Création . Je peux
placer mon nouveau champ où je le souhaite, à la fin ou sous mon N° de facture par exemple.
Si je souhaite l’ajouter sous mon N° de facture, il suffit de cliquer droit sur Date d’émission
(qui est le champ suivant) et de cliquer sur Insérer des lignes .
Je nomme mon champ N° client, dans ce cas, je ne peux pas choisir le Numéroauto comme
type de champ puisque qu’Access n’accepte qu’un seul type Numéroauto par table et que
N° facture possède déjà ce type. Je choisis donc Numérique. Ce champ est une clé étrangère,
c’est-à-dire une clé primaire venant d’une autre table.
Pour savoir quelle table recevra la clé étrangère, il faut retenir que c’est la clé primaire du
côté 1 qui sera reprise dans la table du côté plusieurs. Comme j’avais indiqué qu’un client
peut recevoir plusieurs factures, ma clé primaire de ma Table Clients sera reprise dans ma
Table Factures.
Pour créer une relation, il est important d’avoir fermé les tables, auquel cas, Access nous le
signalera par la suite. Donc, une fois mon nouveau champ créé, je referme ma table par un
clic droit sur son nom dans les onglets. On me demande si je souhaite enregistrer, je clique sur
Oui.
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
4
Ensuite, je vais dans l’onglet Outils de base de données et je clique sur Relations .
Dans la boîte de dialogue qui s’affiche, je reste sur l’onglet Tables et double-clique sur
chacune des 2 tables ou je clique sur chaque table et clique sur Ajouter . La
même boîte de dialogue peut apparaître en cliquant sur Afficher la table .
Une fois mes 2 tables présentes sur mon écran, je clique sur Fermer . Je peux
réduire ou agrandir mes tables mais aussi les déplacer sans aucune incidence sur mes
relations, cela permet juste une meilleure visualisation. Pour information, il ne faut jamais
faire apparaître 2 fois la même table ou requête sur l’espace des relations car il pourrait y
avoir des problèmes dans la base de données par la suite.
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
5
Pour créer ma relation, j’ai juste à me placer sur N° client de la Table Clients et à le glisser
vers N° client de la Table Factures. Mon curseur doit faire apparaître un carré blanc avec une
croix pour m’indiquer que je peux lier ces 2 tables.
Dans la boîte de dialogue qui s’affiche, j’ai bien mon champ N° client de la Table Clients et
N° client de la Table Factures qui vont être liés. Je vais cocher Appliquer l’intégrité
référentielle.
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 vous n’allez pas effacer ou modifier
par erreur des données liées. Ce qui permet de créer une relation forte entre ces tables.
Pour appliquer cette intégrité référentielle :
 Les tables doivent posséder une clé primaire ou l’option d’index sans doublons.
 Les tables ne doivent pas contenir de doublons (par exemple si plusieurs clients possèdent
le même numéro de client, l’intégrité référentielle est impossible).
 Le champ en commun ne doit pas être vide.
 Les tables doivent contenir les mêmes équivalences (si vous avez 5 numéros de produits
dans votre Table Factures alors que vous n’en avez que 4 dans votre Table Produits,
l’intégrité référentielle n’est pas possible).
 Les tables que nous souhaitons relier ne doivent pas être ouvertes dans les onglets.
Le concept de l’intégrité référentielle est un peu complexe mais, pour simplifier, c’est une
bonne chose de l’appliquer car elle permet de synchroniser les informations et d’éviter les
erreurs de gestion d’informations.
Cependant, Access peut ne pas l’accepter pour les raisons évoquées précédemment.
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
6
Je ne coche pas Mettre à jour en cascade les champs correspondants et Effacer en cascade les
enregistrements correspondants mais cela permettrait de mettre à jour les tables si l’on
modifie ou supprime un enregistrement dans les tables liées.
Je clique sur Créer. Je constate que ma relation est créée et que j’ai bien une relation Un-à-
plusieurs.
Je peux maintenant fermer l’espace de création des relations en cliquant sur Fermer
et j’accepte d’enregistrer.
Il me suffit maintenant de renseigner le N° client dans ma Table Factures (pour faire
correspondre chaque client et facture).
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
7
Grâce à cette relation, lorsque je retourne dans ma Table Clients, j’ai une nouvelle colonne
devant chaque enregistrement avec des signes plus (+). Lorsque je clique dessus, je peux voir
les factures concernant chaque client.
Grâce à l’intégrité référentielle, je ne peux plus créer de factures avec un N° client qui n’existe
pas car, si dans ma Table Factures, j’ajoute un enregistrement ayant pour N° client 25 (qui
n’existe pas dans ma Table Clients) et que je souhaite enregistrer ou fermer ma table, Access
m’affiche ce message "Vous ne pouvez pas ajouter ou modifier un enregistrement car
l’enregistrement associé est requis dans la table « Clients »." :
Puis, après avoir cliqué sur Ok, Access vous affichera le message "Impossible d’enregistrer
cet enregistrement pour l’instant." :
Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013
Article écrit par Lydia Provin du blog
Votre Assistante – Le Blog : http://www.votreassistante.net/blog
8
De même, je ne peux plus supprimer un client de la Table Clients si une facture le concernant
apparaît dans la Table Factures. Auquel cas, j’aurais ce message "Impossible de supprimer
ou de modifier l’enregistrement car la table « Factures » comprend des enregistrements
connexes" :
Par contre, si vous avez coché Mettre à jour en cascade les champs correspondants et Effacer
en cascade les enregistrements correspondants lors de la création de la relation, vous aurez ce
message "Les relations qui spécifient les suppressions en cascade provoqueront la
suppression de 1 enregistrement(s) dans cette table, ainsi que des enregistrements
connexes dans les tables associées." :

Recommandé

Créer une facture avec Access – Partie 1/3 – Création des tables et des relat... par
Créer une facture avec Access – Partie 1/3 – Création des tables et des relat...Créer une facture avec Access – Partie 1/3 – Création des tables et des relat...
Créer une facture avec Access – Partie 1/3 – Création des tables et des relat...Votre Assistante
4.7K vues9 diapositives
Créer une facture avec Access – Partie 3/3 – Création des états et de l’inter... par
Créer une facture avec Access – Partie 3/3 – Création des états et de l’inter...Créer une facture avec Access – Partie 3/3 – Création des états et de l’inter...
Créer une facture avec Access – Partie 3/3 – Création des états et de l’inter...Votre Assistante
2.3K vues14 diapositives
Créer une facture avec Access – Partie 2/3 – Création du formulaire principal... par
Créer une facture avec Access – Partie 2/3 – Création du formulaire principal...Créer une facture avec Access – Partie 2/3 – Création du formulaire principal...
Créer une facture avec Access – Partie 2/3 – Création du formulaire principal...Votre Assistante
5.6K vues16 diapositives
Comment alimenter une liste déroulante dans Word avec une liste Excel ? par
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Comment alimenter une liste déroulante dans Word avec une liste Excel ?
Comment alimenter une liste déroulante dans Word avec une liste Excel ?Votre Assistante
107 vues6 diapositives
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access) par
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)
Gérer sa facturation avec Access (MAJ du tutoriel Créer une facture avec Access)Votre Assistante
721 vues19 diapositives
Ajouter une navigation par onglets sur un formulaire Access par
Ajouter une navigation par onglets sur un formulaire AccessAjouter une navigation par onglets sur un formulaire Access
Ajouter une navigation par onglets sur un formulaire AccessVotre Assistante
531 vues4 diapositives

Contenu connexe

En vedette

Déjouer les pièges de l'hta résistante par
Déjouer les pièges de l'hta résistanteDéjouer les pièges de l'hta résistante
Déjouer les pièges de l'hta résistantemahfay
823 vues5 diapositives
Esquema de investigación par
Esquema de investigación Esquema de investigación
Esquema de investigación Adalberto
210 vues43 diapositives
La douceur de ton regard par
La douceur de ton regardLa douceur de ton regard
La douceur de ton regardastuces de grand mère
451 vues16 diapositives
L'énergie. gema alcahud 6 a par
L'énergie. gema alcahud 6 aL'énergie. gema alcahud 6 a
L'énergie. gema alcahud 6 ajlealleon
399 vues7 diapositives
La médiathèque valais par
La médiathèque valaisLa médiathèque valais
La médiathèque valaisAssociation des Bibliothécaires de France
932 vues45 diapositives
Rapport 2012 eglise_catholique par
Rapport 2012 eglise_catholiqueRapport 2012 eglise_catholique
Rapport 2012 eglise_catholiqueLuxemburger Wort
3.2K vues70 diapositives

En vedette(20)

Déjouer les pièges de l'hta résistante par mahfay
Déjouer les pièges de l'hta résistanteDéjouer les pièges de l'hta résistante
Déjouer les pièges de l'hta résistante
mahfay823 vues
Esquema de investigación par Adalberto
Esquema de investigación Esquema de investigación
Esquema de investigación
Adalberto210 vues
L'énergie. gema alcahud 6 a par jlealleon
L'énergie. gema alcahud 6 aL'énergie. gema alcahud 6 a
L'énergie. gema alcahud 6 a
jlealleon399 vues
Note de lecture_essai_sur_l_oeconomie[1] par Saber Dahi
Note de lecture_essai_sur_l_oeconomie[1]Note de lecture_essai_sur_l_oeconomie[1]
Note de lecture_essai_sur_l_oeconomie[1]
Saber Dahi391 vues
Créer des listes déroulantes en cascade avec Excel par Votre Assistante
Créer des listes déroulantes en cascade avec ExcelCréer des listes déroulantes en cascade avec Excel
Créer des listes déroulantes en cascade avec Excel
Votre Assistante11.2K vues
ProgramacióN 2010 par Adalberto
ProgramacióN 2010ProgramacióN 2010
ProgramacióN 2010
Adalberto257 vues
Bref par modmz
BrefBref
Bref
modmz415 vues

Similaire à À quoi servent les relations entre les tables Access et comment les créer ?

Créer un tableau croisé dynamique avec Excel par
Créer un tableau croisé dynamique avec ExcelCréer un tableau croisé dynamique avec Excel
Créer un tableau croisé dynamique avec ExcelVotre Assistante
4.4K vues8 diapositives
Créer un devis et une facture avec Excel par
Créer un devis et une facture avec ExcelCréer un devis et une facture avec Excel
Créer un devis et une facture avec ExcelVotre Assistante
2.4K vues12 diapositives
Créer un échéancier sur Excel par
Créer un échéancier sur ExcelCréer un échéancier sur Excel
Créer un échéancier sur ExcelVotre Assistante
1K vues5 diapositives
Rechercher et supprimer les doublons sur Access par
Rechercher et supprimer les doublons sur AccessRechercher et supprimer les doublons sur Access
Rechercher et supprimer les doublons sur AccessVotre Assistante
2.4K vues7 diapositives
Créer une requête de création de table Access par
Créer une requête de création de table AccessCréer une requête de création de table Access
Créer une requête de création de table AccessVotre Assistante
671 vues4 diapositives
Rechercher un enregistrement avec une liste déroulante dans un formulaire Access par
Rechercher un enregistrement avec une liste déroulante dans un formulaire AccessRechercher un enregistrement avec une liste déroulante dans un formulaire Access
Rechercher un enregistrement avec une liste déroulante dans un formulaire AccessVotre Assistante
178 vues7 diapositives

Similaire à À quoi servent les relations entre les tables Access et comment les créer ?(20)

Créer un tableau croisé dynamique avec Excel par Votre Assistante
Créer un tableau croisé dynamique avec ExcelCréer un tableau croisé dynamique avec Excel
Créer un tableau croisé dynamique avec Excel
Votre Assistante4.4K vues
Créer un devis et une facture avec Excel par Votre Assistante
Créer un devis et une facture avec ExcelCréer un devis et une facture avec Excel
Créer un devis et une facture avec Excel
Votre Assistante2.4K vues
Rechercher et supprimer les doublons sur Access par Votre Assistante
Rechercher et supprimer les doublons sur AccessRechercher et supprimer les doublons sur Access
Rechercher et supprimer les doublons sur Access
Votre Assistante2.4K vues
Créer une requête de création de table Access par Votre Assistante
Créer une requête de création de table AccessCréer une requête de création de table Access
Créer une requête de création de table Access
Votre Assistante671 vues
Rechercher un enregistrement avec une liste déroulante dans un formulaire Access par Votre Assistante
Rechercher un enregistrement avec une liste déroulante dans un formulaire AccessRechercher un enregistrement avec une liste déroulante dans un formulaire Access
Rechercher un enregistrement avec une liste déroulante dans un formulaire Access
Votre Assistante178 vues
Réaliser un publipostage avec une base de données Word, Excel ou Access par Votre Assistante
Réaliser un publipostage avec une base de données Word, Excel ou AccessRéaliser un publipostage avec une base de données Word, Excel ou Access
Réaliser un publipostage avec une base de données Word, Excel ou Access
Votre Assistante6.6K vues
Augmenter des tarifs avec une requête mise à jour sur Access par Votre Assistante
Augmenter des tarifs avec une requête mise à jour sur AccessAugmenter des tarifs avec une requête mise à jour sur Access
Augmenter des tarifs avec une requête mise à jour sur Access
Votre Assistante445 vues
Imprimer des étiquettes d’adresses avec Access par Votre Assistante
Imprimer des étiquettes d’adresses avec AccessImprimer des étiquettes d’adresses avec Access
Imprimer des étiquettes d’adresses avec Access
Votre Assistante625 vues
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna... par Votre Assistante
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Explication du code VBA utilisé dans le tutoriel Créer un formulaire personna...
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme.... par Votre Assistante
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
Utiliser les formules de calculs basiques sur Excel – Partie 2/2 – Si, somme....
Validation des données et entourer les données non valides d’Excel par Votre Assistante
Validation des données et entourer les données non valides d’ExcelValidation des données et entourer les données non valides d’Excel
Validation des données et entourer les données non valides d’Excel
Votre Assistante1.2K vues
Fusionner deux ou plusieurs cellules en une seule sur Excel (formule concaténer) par Votre Assistante
Fusionner deux ou plusieurs cellules en une seule sur Excel (formule concaténer)Fusionner deux ou plusieurs cellules en une seule sur Excel (formule concaténer)
Fusionner deux ou plusieurs cellules en une seule sur Excel (formule concaténer)
Votre Assistante1.3K vues
Tutoriel - Mettre en place une centrale de réservation avec google docs par Pays Médoc
Tutoriel - Mettre en place une centrale de réservation avec google docsTutoriel - Mettre en place une centrale de réservation avec google docs
Tutoriel - Mettre en place une centrale de réservation avec google docs
Pays Médoc2.1K vues
Pourquoi et comment créer un plan sur Excel ? par Votre Assistante
Pourquoi et comment créer un plan sur Excel ?Pourquoi et comment créer un plan sur Excel ?
Pourquoi et comment créer un plan sur Excel ?
Votre Assistante636 vues
Scbd cg conception par vangogue
Scbd cg conceptionScbd cg conception
Scbd cg conception
vangogue1.1K vues
Guide saisie CRA_et_CRF par OCCE-37
Guide saisie CRA_et_CRFGuide saisie CRA_et_CRF
Guide saisie CRA_et_CRF
OCCE-373.8K vues

Plus de Votre Assistante

Comment créer une trame de fond plus grande que le texte sur Word ? par
Comment créer une trame de fond plus grande que le texte sur Word ?Comment créer une trame de fond plus grande que le texte sur Word ?
Comment créer une trame de fond plus grande que le texte sur Word ?Votre Assistante
52 vues3 diapositives
Comment créer un effet de texte avec une ombre longue sur Illustrator ? par
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Votre Assistante
95 vues4 diapositives
Comment créer un modèle de document Word ? par
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?Votre Assistante
76 vues4 diapositives
Comment ouvrir plusieurs images dans Camera Raw ? par
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?Votre Assistante
267 vues5 diapositives
Comment créer un modèle de diaporama PowerPoint ? par
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?Votre Assistante
65 vues4 diapositives
Comment calculer l'âge dans une base de données Access ? par
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?Votre Assistante
645 vues2 diapositives

Plus de Votre Assistante(20)

Comment créer une trame de fond plus grande que le texte sur Word ? par Votre Assistante
Comment créer une trame de fond plus grande que le texte sur Word ?Comment créer une trame de fond plus grande que le texte sur Word ?
Comment créer une trame de fond plus grande que le texte sur Word ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ? par Votre Assistante
Comment créer un effet de texte avec une ombre longue sur Illustrator ?Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un effet de texte avec une ombre longue sur Illustrator ?
Comment créer un modèle de document Word ? par Votre Assistante
Comment créer un modèle de document Word ?Comment créer un modèle de document Word ?
Comment créer un modèle de document Word ?
Comment ouvrir plusieurs images dans Camera Raw ? par Votre Assistante
Comment ouvrir plusieurs images dans Camera Raw ?Comment ouvrir plusieurs images dans Camera Raw ?
Comment ouvrir plusieurs images dans Camera Raw ?
Votre Assistante267 vues
Comment créer un modèle de diaporama PowerPoint ? par Votre Assistante
Comment créer un modèle de diaporama PowerPoint ?Comment créer un modèle de diaporama PowerPoint ?
Comment créer un modèle de diaporama PowerPoint ?
Comment calculer l'âge dans une base de données Access ? par Votre Assistante
Comment calculer l'âge dans une base de données Access ?Comment calculer l'âge dans une base de données Access ?
Comment calculer l'âge dans une base de données Access ?
Votre Assistante645 vues
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ? par Votre Assistante
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment utiliser et modifier des icônes Font Awesome sur Illustrator ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ? par Votre Assistante
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Comment réinitialiser (vider) une liste déroulante en cascade sur Excel ?
Votre Assistante303 vues
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au... par Votre Assistante
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Comment insérer des données Excel dans PowerPoint avec ou sans mise à jour au...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ... par Votre Assistante
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Pourquoi utiliser le menu Développeur de Microsoft et comment l’afficher sur ...
Votre Assistante104 vues
Comment numéroter certaines lignes dans Word ? par Votre Assistante
Comment numéroter certaines lignes dans Word ?Comment numéroter certaines lignes dans Word ?
Comment numéroter certaines lignes dans Word ?
Comment créer un modèle de base de données Access ? par Votre Assistante
Comment créer un modèle de base de données Access ?Comment créer un modèle de base de données Access ?
Comment créer un modèle de base de données Access ?
Votre Assistante124 vues
Comment créer un effet fourrure sur Illustrator ? par Votre Assistante
Comment créer un effet fourrure sur Illustrator ?Comment créer un effet fourrure sur Illustrator ?
Comment créer un effet fourrure sur Illustrator ?
Votre Assistante265 vues
Comment créer un calendrier perpétuel sur Excel ? par Votre Assistante
Comment créer un calendrier perpétuel sur Excel ?Comment créer un calendrier perpétuel sur Excel ?
Comment créer un calendrier perpétuel sur Excel ?
Votre Assistante109 vues
Créer un bonhomme de neige avec Illustrator par Votre Assistante
Créer un bonhomme de neige avec IllustratorCréer un bonhomme de neige avec Illustrator
Créer un bonhomme de neige avec Illustrator
Votre Assistante146 vues
4 astuces avancées pour PowerPoint et une astuce Bonus par Votre Assistante
4 astuces avancées pour PowerPoint et une astuce Bonus4 astuces avancées pour PowerPoint et une astuce Bonus
4 astuces avancées pour PowerPoint et une astuce Bonus
Votre Assistante163 vues
Comment convertir une image en noir et blanc sur Illustrator ? par Votre Assistante
Comment convertir une image en noir et blanc sur Illustrator ?Comment convertir une image en noir et blanc sur Illustrator ?
Comment convertir une image en noir et blanc sur Illustrator ?
Votre Assistante5.3K vues
Astuce Word VBA : insérer un mot ou plusieurs avec une mise en forme spécifiq... par Votre Assistante
Astuce Word VBA : insérer un mot ou plusieurs avec une mise en forme spécifiq...Astuce Word VBA : insérer un mot ou plusieurs avec une mise en forme spécifiq...
Astuce Word VBA : insérer un mot ou plusieurs avec une mise en forme spécifiq...
Votre Assistante166 vues
Comment mettre à jour automatiquement vos tables des matières Word ? par Votre Assistante
Comment mettre à jour automatiquement vos tables des matières Word ?Comment mettre à jour automatiquement vos tables des matières Word ?
Comment mettre à jour automatiquement vos tables des matières Word ?
Votre Assistante187 vues
Comment compter les répétitions de caractères dans une cellule et créer une f... par Votre Assistante
Comment compter les répétitions de caractères dans une cellule et créer une f...Comment compter les répétitions de caractères dans une cellule et créer une f...
Comment compter les répétitions de caractères dans une cellule et créer une f...
Votre Assistante145 vues

À quoi servent les relations entre les tables Access et comment les créer ?

  • 1. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 1 À quoi servent les relations entre les tables Access et comment les créer Lorsque vous créez une base de données complexe, il vous sera fortement utile d’utiliser les relations et donc d’en comprendre leur fonctionnement. Les relations entre les tables permettent d’éviter les redondances et donc de réécrire les informations plusieurs fois et surtout d’éviter les erreurs. Par exemple, si j’utilise Access pour créer mes factures, je peux créer une Table Clients où je saisirai toutes les informations concernant chaque client et je créerai une Table Factures où je ne saisirai que les informations concernant la facture elle-même comme son Numéro, sa Date d’émission et sa Description (quantité, prix unitaire, montant…) et je n’aurais pas besoin de ressaisir à chaque facture les informations du client grâce à la relation que j’aurais créée entre les deux tables et je n’aurais pas de doublon. Pour bien comprendre le fonctionnement des relations, voici un petit rappel. Il existe 3 types de relations (on peut également appeler ces relations "cardinalité") :  1 à 1 (1-1)  1 à plusieurs (1-N)  Plusieurs à plusieurs (N-N) N désigne le symbole infini (∞) dans le logiciel Access. Nous allons prendre 3 exemples pour mieux comprendre ces 3 types de relations. À gauche et à droite nous retrouvons les tables avec en titre leur nom suivi de leurs champs (dans ces exemples, les champs ont été simplifiés mais on peut bien sûr en avoir plus). Au centre, nous utilisons un verbe qui peut être utilisé dans la relation entre les 2 tables.
  • 2. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 2 Dans cet exemple, on peut dire qu’un Individu possède une seule Carte d’identité. Dans le sens inverse, une Carte d’identité ne peut être possédée que par un seul Individu. La relation est donc 1 à 1. Ici, on peut dire qu’un Client peut recevoir plusieurs Factures. À l’inverse, une facture ne peut être reçue que par un seul Client. La relation est donc 1 à plusieurs. Enfin, dans cet exemple, nous pourrons dire qu’un Étudiant peut suivre plusieurs Cours mais aussi qu’un Cours peut être suivi par plusieurs Étudiants. La relation est donc plusieurs à plusieurs. À partir du moment où la réponse est différente de 1, je retiens la réponse plusieurs.
  • 3. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 3 Maintenant, nous allons mettre en application ce que nous venons de voir pour créer une relation sur Access. Pour l’exemple, nous allons prendre une Table Clients et une Table Factures comme dans le schéma n°2 où la relation est 1 à plusieurs. Vous trouverez une base de données comprenant ces 2 tables dans l’Espace Membres afin de mettre en pratique ce tutoriel si vous le souhaitez. Pour créer des relations, je dois d’abord avoir un champ en commun dans mes 2 tables. Pour cela, je vais créer un champ N° client dans ma Table Factures ayant exactement le même nom que le champ N° client de la Table Clients. Le même nom n’est pas obligatoire mais le même type oui. J’ouvre ma Table Factures et je clique soit directement sur Affichage , soit sur la flèche sous le bouton Affichage pour passer en Mode Création . Je peux placer mon nouveau champ où je le souhaite, à la fin ou sous mon N° de facture par exemple. Si je souhaite l’ajouter sous mon N° de facture, il suffit de cliquer droit sur Date d’émission (qui est le champ suivant) et de cliquer sur Insérer des lignes . Je nomme mon champ N° client, dans ce cas, je ne peux pas choisir le Numéroauto comme type de champ puisque qu’Access n’accepte qu’un seul type Numéroauto par table et que N° facture possède déjà ce type. Je choisis donc Numérique. Ce champ est une clé étrangère, c’est-à-dire une clé primaire venant d’une autre table. Pour savoir quelle table recevra la clé étrangère, il faut retenir que c’est la clé primaire du côté 1 qui sera reprise dans la table du côté plusieurs. Comme j’avais indiqué qu’un client peut recevoir plusieurs factures, ma clé primaire de ma Table Clients sera reprise dans ma Table Factures. Pour créer une relation, il est important d’avoir fermé les tables, auquel cas, Access nous le signalera par la suite. Donc, une fois mon nouveau champ créé, je referme ma table par un clic droit sur son nom dans les onglets. On me demande si je souhaite enregistrer, je clique sur Oui.
  • 4. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 4 Ensuite, je vais dans l’onglet Outils de base de données et je clique sur Relations . Dans la boîte de dialogue qui s’affiche, je reste sur l’onglet Tables et double-clique sur chacune des 2 tables ou je clique sur chaque table et clique sur Ajouter . La même boîte de dialogue peut apparaître en cliquant sur Afficher la table . Une fois mes 2 tables présentes sur mon écran, je clique sur Fermer . Je peux réduire ou agrandir mes tables mais aussi les déplacer sans aucune incidence sur mes relations, cela permet juste une meilleure visualisation. Pour information, il ne faut jamais faire apparaître 2 fois la même table ou requête sur l’espace des relations car il pourrait y avoir des problèmes dans la base de données par la suite.
  • 5. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 5 Pour créer ma relation, j’ai juste à me placer sur N° client de la Table Clients et à le glisser vers N° client de la Table Factures. Mon curseur doit faire apparaître un carré blanc avec une croix pour m’indiquer que je peux lier ces 2 tables. Dans la boîte de dialogue qui s’affiche, j’ai bien mon champ N° client de la Table Clients et N° client de la Table Factures qui vont être liés. Je vais cocher Appliquer l’intégrité référentielle. 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 vous n’allez pas effacer ou modifier par erreur des données liées. Ce qui permet de créer une relation forte entre ces tables. Pour appliquer cette intégrité référentielle :  Les tables doivent posséder une clé primaire ou l’option d’index sans doublons.  Les tables ne doivent pas contenir de doublons (par exemple si plusieurs clients possèdent le même numéro de client, l’intégrité référentielle est impossible).  Le champ en commun ne doit pas être vide.  Les tables doivent contenir les mêmes équivalences (si vous avez 5 numéros de produits dans votre Table Factures alors que vous n’en avez que 4 dans votre Table Produits, l’intégrité référentielle n’est pas possible).  Les tables que nous souhaitons relier ne doivent pas être ouvertes dans les onglets. Le concept de l’intégrité référentielle est un peu complexe mais, pour simplifier, c’est une bonne chose de l’appliquer car elle permet de synchroniser les informations et d’éviter les erreurs de gestion d’informations. Cependant, Access peut ne pas l’accepter pour les raisons évoquées précédemment.
  • 6. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 6 Je ne coche pas Mettre à jour en cascade les champs correspondants et Effacer en cascade les enregistrements correspondants mais cela permettrait de mettre à jour les tables si l’on modifie ou supprime un enregistrement dans les tables liées. Je clique sur Créer. Je constate que ma relation est créée et que j’ai bien une relation Un-à- plusieurs. Je peux maintenant fermer l’espace de création des relations en cliquant sur Fermer et j’accepte d’enregistrer. Il me suffit maintenant de renseigner le N° client dans ma Table Factures (pour faire correspondre chaque client et facture).
  • 7. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 7 Grâce à cette relation, lorsque je retourne dans ma Table Clients, j’ai une nouvelle colonne devant chaque enregistrement avec des signes plus (+). Lorsque je clique dessus, je peux voir les factures concernant chaque client. Grâce à l’intégrité référentielle, je ne peux plus créer de factures avec un N° client qui n’existe pas car, si dans ma Table Factures, j’ajoute un enregistrement ayant pour N° client 25 (qui n’existe pas dans ma Table Clients) et que je souhaite enregistrer ou fermer ma table, Access m’affiche ce message "Vous ne pouvez pas ajouter ou modifier un enregistrement car l’enregistrement associé est requis dans la table « Clients »." : Puis, après avoir cliqué sur Ok, Access vous affichera le message "Impossible d’enregistrer cet enregistrement pour l’instant." :
  • 8. Votre Assistante – Le Blog : http://www.votreassistante.net/blog - le 04/04/2013 Article écrit par Lydia Provin du blog Votre Assistante – Le Blog : http://www.votreassistante.net/blog 8 De même, je ne peux plus supprimer un client de la Table Clients si une facture le concernant apparaît dans la Table Factures. Auquel cas, j’aurais ce message "Impossible de supprimer ou de modifier l’enregistrement car la table « Factures » comprend des enregistrements connexes" : Par contre, si vous avez coché Mettre à jour en cascade les champs correspondants et Effacer en cascade les enregistrements correspondants lors de la création de la relation, vous aurez ce message "Les relations qui spécifient les suppressions en cascade provoqueront la suppression de 1 enregistrement(s) dans cette table, ainsi que des enregistrements connexes dans les tables associées." :