Temps
nécessaire pour suivre cette leçon : Entre un quart d'heure
et une demie heure
Pour suivre cette leçon, vous devez avoir suivi les leçons précédentes. Ou plus précisément, vous devez être en possession de la base de données ProFormation.mdb telle qu'elle était à la fin de la leçon précédente. Si vous n'êtes pas certain de l'avoir, vous pouvez la télécharger ici
Maintenant, nous allons voir comment faire pour créer nos propres listes déroulantes : au lieu de taper directement les informations dans les champs, nous pouvons demander à ce qu'il faille sélectionner la valeur dans une liste déroulante. |
Pour commencer, dans votre table T_Client, vous allez créer
un nouveau champ qui s'appelle Titre : .
Ce sera un champ qui va accueillir le titre du client : Madame,
Mademoiselle ou Monsieur.
Lancez la table en mode saisie de données, et précisez
les titres des premiers clients : .
Vous constatez que comme nous n'avons pas défini de règles,
il y a de multiples façons d'écrire les titres...
Vous vous doutez que lorsque nous allons essayer d'extraire tous
les "Monsieur", ça ne va pas vraiment être
possible : Il faudra se rappeler que certains sont écris
Monsieur, M, ou même Mr, ou carrément avec une faute
(Monssieur).
Oui, mais ce n'est pas très convivial... Justement, nous allons étudier une manière de faire vraiment plus sympa.
Retournez dans la table en mode création, et dans le champ titre, à la place de Texte, choisissez "Assistant liste de choix"
.
La boîte de dialogue suivante apparait :
Sélectionnez la première option "Je taperai les valeurs
souhaitées", et cliquez sur Suivant.
.
Vous arrivez maintenant ici :
cliquez dans la zone en dessous de Col1
Ecrivez Madame, Mademoiselle, Monsieur, comme ceci :
et cliquez
sur "Suivant"
Cliquez sur "Terminer"
C'est terminé. Vous êtes revenu à la
case départ ! Constatez que le champ Titre est revenu à
texte . C'est
normal. Pour constater le travail qui a été fait, Lancez
la table en mode saisie de données, et cliquez dans le champ titre
de votre premier client :
.
Vous constatez qu'une petite flèche apparait : C'est votre liste
déroulante. Si vous cliquez dessus, vous allez voir qu'il vous
donne le choix entre Madame, Mademoiselle et Monsieur :
.
Ce n'est pas plus compliqué que ça !
A titre d'exercice, retournez dans la table en mode création, et refaites la manoeuvre : Vous n'avez pas besoin de recréer un champ titre, vous allez dans votre Titre existant, et comme type de données, vous RE-choisissez "Assistant liste de choix" : Access va vous renvoyer dans l'assistant. Refaites exactement la même manoeuvre que nous venons de faire, histoire de vous familiariser avec cette technique.
C'est très simple, vous lancez la table en mode saisie de données,
et plutôt que de cliquer sur la petite flèche, vous écrivez
Maître : ,
et le tour est joué. Attention par contre : Ce n'est pas parce
que vous l'avez écrit une fois que ça apparaît dans
la liste ! C'est un titre exceptionnel :
.
Imaginez que vous avez des milliers de clients, et que seulement un ou deux sont des avocats : Vous aimeriez bien pouvoir écrire "Maître" pour ces 2 clients, mais vous n'avez toutefois pas envie que ce titre apparaisse dans la liste : Il est trop peu usité.
Vous avez toujours la possibilité de recommencer la liste dérounate avec l'assistant, comme tout à l'heure, et ajouter Monsieur, madame, Mademoiselle et ... Maître !
Si. Allez dans la table en mode création, cliquez sur le champ
Titre, puis, en bas sur l'onglet Liste de choix, puis juste à la
fin de "Madame";"Mademoiselle";"Monsieur".
Ajoutez à la fin de cette ligne ;"Maître" pour
que ça donne ce résultat exactement : "Madame";"Mademoiselle";"Monsieur";"Maître"
:
, et
lancez la table en mode saisie de données. Maintenant, vous pouvez
constater que Maître est maintenant disponible dans la liste déroulante
:
.
Ah mais vous pouvez ! Au lieu de cliquer sur la flèche de la liste,
vous cliquez simplement dans le champ : ,
écrivez m :
: Vous constatez qu'Access complète automatiquement avec le premier
nom qui commence par M qu'il rencontre : Madame. Si vous vouliez écrire
Mademoiselle, vous devriez écrire les 4 premières lettres
: made :
.
Parce que Maître s'écrit avec un i avec accent circonflexe : î !
Oui, bien entendu. Où voulez-vous en venir ?
Oui, mais si vous la verrouillez, plus question de mettre des titres exceptionnels comme "Sa Majesté", ou "Sa Sainteté", ou simplement "Monseigneur" ! Ou alors, il faut qu'ils soient prévu dans la liste à la base...
Je ne vous le fait pas dire... Voici comment faire pour bloquer la liste : cliquez sur le champ Titre, cliquez sur l'onglet Liste de choix, et dans l'option Limiter à liste : Choisissez Oui.
A partir de maintenant, vous ne pouvez plus entrer autre chose que ce
qui est proposé. Essayez : Lancez la table en mode saisie de données,
et essayez d'écrire "Plouf" dans un champ titre : .
On dirait que vous pouvez MAIS... Il suffit que vous cliquez ailleurs,
ou que vous appuyer sur ENTER
ou
tabulation
(Même pas besoin d'enregistrer, le simple chamgement de champ suffit)
pour que surgisse ce message d'erreur :
et, dès que vous cliquez sur OK (Pas le choix...), la liste s'ouvre
automatiquement pour bien vous faire comprendre que vous DEVEZ choisir
dans la liste :
Disons que très souvent, c'est ce qu'on fait... Mais bon... Dans certains cas, on peut la laisser libre... Un peu comme si la liste déroulante n'était qu'une proposition. Par exemple, une liste déroulante dans le champ prénom, avec comme propositions les prénoms les plus courants, mais comme vous ne pourrez jamais mettre tous les prénoms du monde, vous êtes bien obligé de la laisser libre
Vous avez raison. Moi non plus je n'en mettrais pas. Mais c'est possible, c'était pour donner un exemple.
Oui, ils datent de l'ancienne époque où nous n'avions pas encore installé de liste déroulante, ou encore quand nous ne l'avions pas bloquée.
Comment voulez-vous qu'il les corrige ? Comment Access pourrait-il deviner que Mr. doit devenir Monsieur, et Mme doit devenir Madame ? Il est malin, mais pas à ce point...
Oui, mais ça n'aurait pas été très convivial !
Tout à fait. Oui. Exactement !!! Cette réflexion est juste, vraiment très juste !!!! Ici, vous êtes en cours, ce n'est donc pas grave, mais imaginez que vous bloquez votre liste déroulante alors que vous avez entré quatorze mille clients, vous imaginez le travail de recherche des titres écrits faux que vous allez avoir ? Un travail colossal !!!
Là, je ne vous le fait pas dire !!! Un peu d'effort à la base va vous éviter bien des heures de travail de fourmi à la recherche des erreurs
Il est possible de créer des listes déroulantes avec plusieurs
colonnes. Comment faire et pourquoi ? Imaginez par exemple que la table
est remplie par une personne ne parlant que l'anglais. Ce serait dès
lors sympathique de lui expliquer ce qu'elle choisit dans la liste déroulante.
Imaginons par exemple un champ CouleurPreferee, qui serait composée
d'une liste de couleurs en français donc, mais qui montrerait le
nom des couleurs en anglais, dans une 2ème colonne, comme ceci
: . Et lorsqu'on
choisit une valeur, même en anglais, c'est la valeur française
qui se mémorise (Oui, parce que sinon, la table va être complètement
instable : avec parfois la valeur française, parfois la valeur
anglais : ça ne va pas.) Comment faire ?
Voilà. C'est terminé. Testez (Lancez la table en mode saisie
de données) :
La liste déroulante (appelée également
liste modifiable) permet de choisir dans une série de valeurs prédéfinies
une valeur. Dans notre exemple, nous avons créé une liste
déroulante contenant les différents titres possibles : Monsieur,
madame, mademoiselle. Il est possible par la suite de recommencer la liste
avec d'autres valeurs, ou encore d'ajouter ou même de retirer des
valeurs manuellement grâce à la propriété Source,
qui se trouve dans l'onglet Liste de choix. Nous avons également vu qu'il est possible d'accepter ou de refuser que des valeurs n'apparaissant pas dans la liste déroulante soient quand même écrites manuellement sans être choisies (Propriété Limiter à Liste de l'onglet Liste de choix) |
Pour voir les solutions, il vous suffit de sélectionner le questionnaire ci-dessus : 3 petites étoiles *** apparaîtront en face des bonnes réponses. |
Vous allez créer une base de données "Agence Matrimoniale.MDB", dans laquelle vous allez installer une table T_Candidat, qui va contenir les données suivantes :
Voici trois données exemple :
L'exercice consiste principalement à créer judicieusement les listes déroulantes sur les bons champs, avec les bonnes options (Notamment s'il s'agit d'une liste "Bloquée") |
Si vous n'êtes pas tout à fait certain d'avoir suivi correctement toutes les étapes de cette leçon, vous avez la possibilité de télécharger ici la version de ProFormation.mdb exactement dans l'état ou elle devrait être à la fin de cette leçon.
Avez-vous une question technique
concernant cette leçon ? Cliquez
ici !
Une remarque sur cette leçon ? Un problème
? Une erreur ? une ambiguité ? Soyez
gentil de m'en informer