Marche à suivre de base

Tant que nos listes déroulantes ne proposent que quelques choix (Monsieur, Madame, Mademoiselle, Rouge, Vert, Bleu, ...), tout va bien !
Ca se gâte si nous avons un grand nombre de choix à disposition. Imaginez un champ PaysOrigine : nous allons choisir le pays d'origine du client dans une liste de choix.
Mais il y a plus de 200 pays dans le monde ! Vous imaginez faire une liste déroulante locale avec 200 choix ? Vous en avez pour des heures !

Marche à suivre de base

Pour ce faire, nous allons carrément créer une table T_Pays, dans laquelle nous aurons la liste exhaustive de tous les pays du monde. Et, dans un deuxième temps, nous construirons une liste déroulante dans la table des clients, basée sur cette nouvelle table T_Pays.
Je vous conseille de fermer votre table T_Client, si elle était ouverte.
  1. Créez une nouvelle table :
  2. Créez un champ Pays, en texte, 50 caractères maximum : (Ca m'étonnerait qu'un pays mesure plus de 50 lettres de long)
  3. Lancez cette table en mode saisie de données, et nommez-là T_Pays. A la question "Aucune clé primaire n'a été définie", répondez Non.
  4. Entrez les pays suivants . France, Belgique et Suisse (On ne va pas écrire tous les pays, sinon, vous en auriez pour la nuit) :
  5. Fermez T_Pays :
  6. Le champ dans T_Pays s'appelle Pays, car c'est un champ générique qui contient une liste de pays. Dans T_Client, par contre, ce champ s'appelle différemment : PaysOrigine, car c'est le pays de naissance. Mais nous pourrions également avoir un champ PaysTravail et même PaysHabitation, qui seraient tous deux aussi des champs liste déroulante basés sur le champ Pays de la table T_Pays.
  7. Rouvrez T_Client en mode création. Ajoutez un champ PaysOrigine sous le prenom, et définissez-le en texte de 50 caractères, comme dans la table T_Pays :
  8. Choisissez Assistant liste de choix
  9. Ici, vous devez sélectionner le champ qui vous intéresse.
    C ce n'est pas compliqué : c'est le seul qui existe !
    Mais, si dans notre table T_Pays, nous avions eu d'autres champs comme le nom du souverain, le PIB, la superficie, ou d'autres choses, on aurait plus facilement compris pourquoi il faut sélectionner un champ spécifiquement.
  10. On peut demander à ce que la liste déroulante affiche les données dans l'ordre croissant, mais ce n'est pas vraiment ce qui nous intéresse :
  11. Si jamais la largeur de la colonne ne vous semble pas correcte, c'est le moment de l'ajuster.
  12. Ne cochez pas "Autoriser plusieurs valeurs", puisqu'on a normalement qu'un seul pays d'origine :
  13. A la question : , répondez Non. C'est une question biscornue ! Soit on dit oui : la table est enregistrée, ET une relation est créée entre T_Pays et T_Client, soit on dit Non : La table n'est pas enregistrée, ET aucune relation n'est créée. Nous verrons ces fameuses relations dans la leçon 16. Pour l'instant, elles nous sont parfaitement inutiles (même si le message semble nous en faire la promotion).

Lancez la table en mode saisie de données, et constatez que votre liste déroulante fonctionne parfaitement. Choisissez France pour Edith Piaf et Suisse pour Steven Spielberg (même si ce n'est pas son pays)
L'avant-dernier champ s'appelle VilleHabitation, et vos clients habitent différentes villes. Genève, Lausanne, Neuchâtel, Nyon et Fribourg. Installez dans ce champ une liste déroulante basée sur une table T_Ville, qui contiendra : Genève, Lausanne, Paris et Bruxelles.
Ce ne sont pas exactement les mêmes villes que celles qui étaient déjà en place, mais peu importe.

Aucun commentaire:

Enregistrer un commentaire