Dans cette fiche...

<retour sommaire>

Début de page Les relations

Un projet complexe nécessite souvent plusieurs tables dans Access. Par exemple, une table Clients, une table Factures...
Il existe probablement des relations entre ces tables, exprimées de la façon suivante :

  • "Un client reçoit plusieurs factures"
  • "Une ville regroupe plusieurs clients"
  • "Une facture comporte plusieurs échéances"

Dans Access, cette relation sera matérialisée de la façon suivante :

Le symbole capInfini.gif (848 octets) (symbole de l'infini en mathématiques) se prononçant "plusieurs".

 

Pour qu'une relation lie deux tables, il faut qu'un champ soit commun aux deux tables. Par exemple, dans le cas d'une relation Clients/Factures, c'est le numéro du client qui figurera à la fois sur la table Clients et sur la table Factures.

D'une manière générale, c'est la clef primaire du côté "1" qui sera reprise dans la table du côte "Plusieurs".

Début de page Mettre en place une relation

  1. Créez chaque table dans Access.
  2. Définissez une clef primaire pour chaque table.
  3. Repérez la table se trouvant "du côté 1", et copiez sa clef primaire dans la table "du côté Plusieurs". (le champ copié n'étant plus une clef primaire dans la seconde table).

Note : pour qu'un champ serve de base à la relation, il doit suivre les règles suivantes :

  • Le champ de liaison doit figurer dans chacune des 2 tables
  • Dans la table "1", le champ doit être défini comme clef primaire
  • Dans la table "Plusieurs", le champ n'est pas clef primaire
  • Dans chacune des 2 tables, le champ doit avoir le même type de données, et la même taille (ex. : si le numéro de client de la table Clients est de type Texte / 10 caractères, il doit être identique dans la table Factures).
  • Par contre, le champ de liaison peut avoir un nom différent dans chaque table.

 Un cas particulier : si dans une table, la clef primaire est un NuméroAuto (Compteur dans Access 2), le champ équivalent dans la table "Plusieurs" doit être de type "Numérique / Entier long".

  Début de page Définir une relation

  1. Une fois que les tables ont été créées et un champ commun défini (cf. ci-dessus), cliquez sur le menu Affichage / Relations (ou Edition / Relations dans Access 2).
  1. Une première boîte apparaît (ci-contre).  Cliquez sur chaque table listée, puis sur le bouton Afficher (les tables se rangent dans la fenêtre, derrière la boîte de dialogue).
  1. Lorsque toutes vos tables sont sélectionnées, cliquez sur le bouton Fermer.
  1. A la souris, trainez la clef primaire de la table "1" (ex. : Numéro Client de la table Clients, figurant en gras à l'écran) sur le champ correspondant dans la table "Plusieurs" (ex. : Numéro Client de la table Factures).
  1. Une nouvelle boîte apparaît :
    Dans cette boîte, cochez la case "Appliquer l'intégrité référentielle", et éventuellement les cases "Mettre à jour en cascade" et "Supprimer en cascade". (pour plus de détails, consultez la fiche "Intégrité référentielle")
  1. Cliquez ensuite sur le bouton OK. Un trait avec les symboles 1 et capInfini.gif (848 octets) relie désormais les tables.

 

Début de page Modifier une relation

Pour modifier les caractéristiques d'une relation, double-cliquez sur le trait qui relie les tables, et modifiez les réglages d'intégrité référentielle.

Début de page Supprimer une relation

  1. Cliquez sur le trait qui relie les tables
  2. Appuyez sur la touche [SUPPR] du clavier
  3. Cliquez sur le bouton OK pour confirmer.

icoAttentionSmall.gif (1931 octets)Si vous supprimez une relation, vous risquez bien sûr d'avoir des incohérences dans votre base de données (des factures sans clients par exemple).