Domaines
RH
Juridique
Compta
Administratif/Moyens Généraux
Communication
Bureautique
Conseils aux débutants
Word
Excel
PowerPoint
Outlook
Access
Publisher
Windows/système
Applications pas à pas
Tests logiciels
Macros VBA
Leçons
Macros Word
Macros Excel
Astuces
Orthographe
Rédaction
Organisation
 
Outils
Ouvrages
Modèles
Macros
 
Anglais
Grammaire avec AnglaisFacile
Leçon gratuite avec AnglaisFacile
Carrière
Gestion de carrière
Fiches métier
Témoignages / vécu
 
 

Echanger

Forums

© Nadège Guilbert
Le contenu de ce site
est régulièrement déposé auprès de la SGDL
Reproduction interdite
sans le consentement
écrit de l'auteur


Imprimer la page

Bureautique > Access

21-Mar-2004

 

 

Construire sa première base

Relier des tables

Pour que deux tables puissent être reliées l'une à l'autre, il faut qu'elles disposent d'un champ commun. La liaison se déroule en deux étapes :Notre champ commun...

  1. Insertion du champ commun dans la 2e table (pour nous il s'agira de la table Interlocuteurs et du champ no, seul champ qui identifie nos sociétés de manière unique). Ces deux champs contiendront des valeurs identiques. Rappelez-vous, le champ no de la table societes contenait, je vous l'ai fait remarquer, un champ de taille Entier long. Dans la table Interlocuteurs nous allons ajouter un champ de ce type que nous nommerons societe car nous avons déjà un champ N° dans la table Interlocuteurs. Vous constaterez que, bien qu'ils comportent des valeurs identiques, le même champ peut porter un nom différent d'une table à l'autre.

  2. Etablissement d'un type de relation.

1. Définition et insertion d'un champ commun

Nous entamons ici la partie la plus complexe de cette première leçon. N'hésitez pas à relire cette page plusieurs fois si certains concepts ne vous paraissent pas très clairs. N'hésitez pas également à me faire part de toutes les difficultés rencontrées. Cela me permettra, peut-être, d'améliorer cette partie.

Nous l'avons dit plus haut, le champ commun à nos deux tables sera No. Concrètement, lorsque l'utilisateur activera ce champ dans la table interlocuteurs, une liste déroulante lui permettra de sélectionner le numéro de la société concernée. Comme ce numéro ne sera pas très parlant pour lui -en tout cas, moi !-, il est possible d'ajouter à cette liste déroulante autant de champs que nécessaires pour lui faciliter sa sélection... Par exemple, le nom de la société et sa ville (afin de distinguer deux filiales d'une même société). C'est ce que nous allons faire ! Une image valant mieux qu'un long discours, voici la liste déroulante que nous allons tâcher d'obtenir :

En procédant ainsi, l'utilisateur sera certain de sélectionner, à coup sûr, la bonne entreprise pour chaque interlocuteur !

Tout d'abord, ajoutons un champ societe à notre table Interlocuteurs.
Etant donné que la valeur recherchée est un numéro, dans la zone Taille du champ (dans la partie inférieure de l'écran), sélectionnez Entier Long (cf. ci-dessus).

  • Activez ensuite l'onglet Liste de choix puisque nous allons créer une liste dans laquelle l'utilisateur sélectionnera pour chaque interlocuteur, la société concernée.
  • Dans la zone Afficher le contrôle, sélectionnez Zone de liste : d'autres champs apparaissent.
  • Positionnez votre curseur sur le champ Contenu : en bout de ligne apparaissent 3 points de suite (...). Cliquez sur ces points. Vous venez d'ouvrir le générateur de requêtes.
  • Déplacer un champ vers la grilleAccess vous demande de sélectionner la table sur laquelle vous souhaitez faire porter votre recherche. Cliquez sur societes et sur Ajouter. Refermez la fenêtre en cliquant sur .
  • Placez votre curseur sur le champ No. Maintenez la souris enfoncée et tirez ce champ vers la première colonne de la grille. Relâchez !
  • Nous l'avons dit plus Haut, nous souhaitons, dans notre liste déroulante faire figurer le nom de la société et sa ville : tirez les deux champs correspondants vers votre grille. Vous devriez obtenir le résultat suivant :

La requête finale

  • Refermez () votre requête en la sauvegardant. Votre zone contenu est à présent remplie. La colonne liée est, comme son nom l'indique, l'élément commun et unique qui permet de relier les deux tables. Si, dans notre liste, l'utilisateur sélectionne la société n° 150, c'est ce numéro qui sera mémorisé dans le champ societe de la table Interlocuteurs. Dans notre grille, No apparaît bien dans la première colonne : nous laissons donc sa valeur sur 1. D'une manière générale, placez toujours la colonne liée en 1.
  • Fixez nombre de colonnes sur 3 car nous utiliserons 3 champs dans notre liste déroulante.
  • Laissons En-têtes colonnes de côté et passons à Largeurs colonnes. On détermine la largeur de chaque colonne en tapant sa valeur en cm et en utilisant le point virgule comme séparateur. Tapez donc "1;4;3". Nous aurons ainsi une colonne de 1 cm pour le no (c'est amplement suffisant), 4 cm pour le nom de la société et 3 cm pour la ville.

A retenir :

  • Relier deux tables nécessite qu'elles aient un champ en commun (en principe, le champ qui permet d'identifier un élément de la table principale de manière unique).
  • Pour faciliter néanmoins la sélection, on peut ajouter autant de champs que nécessaire dans la liste déroulante.
  • Il est préférable de toujours mettre la colonne liée en première position.
  • La colonne liée contient la valeur qui sera enregistrée dans la table secondaire.
  • Le champ de liaison peut porter un nom différent d'une table à l'autre.

Sauvegardez votre table et refermez-la en cliquant sur .

NB : pourquoi avons-nous choisi de relier nos deux tables sur le champ No plutôt que sur le champ nom de la table societes ? Parce que, d'une part, ce numéro est unique et que d'autre part, un nombre occupe beaucoup moins de place en mémoire qu'un texte. Cela contribuera à accélérer notre base de données...

Il nous reste à présent à établir une relation entre nos deux tables. Voyons comment procéder et à quoi sert cette relation.

Haut

Niveau

Pré-requis :

  • Aucun