Tables et relations dans Microsoft Access

Voici une condensé des manipulations pour créer rapidement un base Access structurées. Surtout utile à ceux qui ont suivi un stage Access avec moi 😉

Tables

  1. Onglet Créer > Création de table
  2. Saisir le « champ ID » de la table :
    1. Si votre table contient des clients, saisissez IDClient
    2. Mettez NuméroAuto comme Type de données
  3. Enregistrer la table (CTRL + S), en saisissant un nom : si votre table contient des clients, saisissez Client.
  4. Access vous suggère d’ajouter une clé primaire : acceptez en cliquant sur OK (équivalent de Création > Clé primaire).
  5. Ajouter les autres champs, en respectant ces quelques consignes :
    1. Pas d’espace
      1. Pas d’accent, par ex. : prenom
    2. Notation dites « Camel », par ex. : LocationSalle, CodePostal, DateDeNaissance
  6. Pour chaque champ, on peut modifier certaines propriétés :
    1. Format : permet de décider de la façon dont s’affichera les données, par exemple une date longue. Utilise la même syntaxe que Format de cellule dans Excel.
    2. Légende : c’est le nom « en clair » qui s’affichera à la place du nom du champ dans les requêtes, états et formulaires. Par ex. : Date de naissance.
    3. Les propriétés suivantes sont détaillées dans l’article Contrôler la saisie :
      • Masque de saisie : cliquez dans la zone puis le bouton … qui lance un Assistant. par exemple, un masque de saisie sur une date permet de ne pas avoir à saisir les /.
      • Null interdit : si oui, le champ devra être saisie pour pouvoir sauvegarder l’enregistrement.
      • Indexé : si « Oui, sans doublon », vous empêchez la saisie de 2 valeurs identiques dans le champ (vous pouvez aussi empêcher la saisie de doublon sur plusieurs champs). Pour un champ « Nom (patronyme) », choisissez « Oui, avec doublon », ce qui accélérera les recherches.
  7. Fermer la table (CTRL + F4) en l’enregistrant.

Relations

Par exemple, nous voulons faire une relation entre une table Client et une table Commande, un client pouvant avoir plusieurs commandes.

Table Client

Nous avons le champ IDlient, du type NuméroAuto et Clé primaire, qui est la source de la liaison. Chaque client est identifié par une valeur unique.

Table Commande

Nous créons un champ IDClient, de type Numérique (Entier long), qui est le champ liaison. Chaque commande sera affectée à un client.

Créer la relation

  1. Fermez toutes les tables concernées par la relation (ici Client et Commande)
  2. Outils de base de données > Relation.
  3. Si c’est la première fois que vous ouvrez cette fenêtre dans cette base, la boîte Afficher la table s’affiche. Sinon, cliquez sur Créer > Afficher la table.
  4. Dans cette boîte Afficher la table, sélectionnez les tables (ici Client et Commande), puis cliquez sur Ajouter puis Fermer.
  5. Faites glisser le champ IDlient de la table Client et lâchez sur le champ IDlient de la table Commande. Une boîte Modifier les relations s’affiche.
  6. Dans cette boîte, vérifiez que la zone Type de relation affiche Un-à-plusieurs.
    Si Non définie est affiché, c’est probablement que le champ IDlient de la table Client n’est pas en Clé primaire.
    Si Un-à-un s’affiche, c’est peut-être que le champ IDlient de la table Commande est en Clé Primaire.
    Dans ces deux cas, cliquez sur Annuler, modifier les tables et revenez ensuite dans cette fenêtre.
  7. Cochez la case Appliquer l’intégrité référentielle.
  8. Si vous souhaitez que les commandes d’un client soit supprimées quand vous supprimez un client, cochez aussi la case Effacer en cascade les enregistrements correspondants.
  9. Dans notre base, le champ IDlient est de type NuméroAuto, il ne peut donc être mis à jour : cocher la case Mettre à jour en cascade les champs correspondants sera sans effet. Pour adopter une méthode identique quelque soit la situation, cochez quand même la case.
  10. Cliquez sur le bouton Créer.
  11. Fermez la fenêtre Relations en confirmant l’enregistrement de la mise en forme.

Gonzague DUCOS a écrit 35 articles

Formateur et développeur Office VBA et Windev