Sommaire
- Création d'une liste déroulante locale avec l'assistant
- Choix d'une valeur non proposée dans la liste déroulante
- Ajout d'un nouveau choix dans la liste de choix
- Saisie de valeurs dans une liste déroulante qui se complète automatiquement
- Verrouillage d'une liste déroulante afin d'interdire une saisie qui n'est pas proposée
- Pourquoi les listes déroulantes ne sont elle pas toujours conseillées ?
- Utilisation d'une liste déroulante multi-colonnes

Lancez la table en mode saisie de données, et précisez les titres des premiers clients :

Je me rappelle du "Valide Si"... On a qu'à préciser que la zone ne peut contenir que "Madame", "Mademoiselle" ou "Monsieur" !
Oui, mais ce n'est pas très convivial... Justement, nous allons étudier une manière de faire vraiment plus sympa.Création d'une liste déroulante locale avec l'assistant
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.
.
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

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.
Choix d'une valeur non proposée dans la liste déroulante
Peut-on rajouter des nouveaux éléments dans cette liste ? Par exemple, j'ai un avocat comme client, et je veux lui attribuer Maître comme titre.
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 :

Quel est l'intérêt de faire comme ça ?
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é.Je vois ! Mais si je voulais vraiment ajouter "Maître" dans ma liste ?
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 !Ajout d'un nouveau choix dans la liste de choix
On ne peut pas simplement l'ajouter sans devoir tout recommencer ?
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"


Saisie de valeurs dans une liste déroulante qui se complète automatiquement
Mais si j'ai une très longue liste de choix... Par exemple, j'ai un champ "Pays", avec plus de 200 pays, ça doit être assez pénible de le rechercher dans une liste que de le taper à la main, non ?
Ah mais vous pouvez ! Au lieu de cliquer sur la flèche de la liste, vous cliquez simplement dans le champ :


Mais c'est bizarre, si j'écris "mai", il ne complète pas par "Maître", pourquoi ???
Parce que Maître s'écrit avec un i avec accent circonflexe : î !Et donc, si je voulais écrire Monseigneur par exemple, il se laisserait faire, comme lorsqu'on écrivait "Maître" alors qu'il n'était pas encore intégré dans la liste déroulante ...
Oui, bien entendu. Où voulez-vous en venir ?Verrouillage d'une liste déroulante afin d'interdire une saisie qui n'est pas proposée
Je voulais savoir s'il était possible de verrouiller la liste pour empêcher d'écrire autre chose que ce qui est proposé...
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...Oui, mais je pensais que si on autorise l'utilisateur à écrire des choses qui ne sont pas proposées dans la liste, on court le risque d'écrire "Mr", "M.", "Mme", "Monssieu" ou que sais-je encore... !
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.





Pourquoi les listes déroulantes ne sont elle pas toujours conseillées ?
Parfait ! C'est exactement ce que je voulais. En fait on devrait systématiquement bloquer les listes déroulantes !
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 libreMais bon, dans votre exemple des prénoms, je ne mettrais même pas de liste déroulante, c'est trop vaste les prénoms !
Vous avez raison. Moi non plus je n'en mettrais pas. Mais c'est possible, c'était pour donner un exemple.
Par contre, je constate un truc plus grave : Ma table T_Client est encore pleine de "faux" titres : 
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.Mais pourquoi Access ne les a-t-il pas corrigés ?
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...C'est logique ! Bon, il aurait pu les effacer ...
Oui, mais ça n'aurait pas été très convivial !En d'autres mots, nous aurions dû immédiatement créer la liste déroulante et la bloquer avant d'entrer des données ?
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 !!!Je suis en train de me rendre vraiment compte qu'avec Access, on a VRAIMENT intérêt à "préparer le terrain au millimètre" avant de se précipiter à entrer les données !
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 erreursUtilisation d'une liste déroulante multi-colonnes
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 :
- Créez un champ Couleur Preferee
- Définissez-le en Assistant liste de choix :
- Choisissez
- Définissez le nombre de colonnes à 2 :
- Cliquez sous Col1 :
- Dès ce moment, vous avez 2 colonnes à disposition qu'il vous suffit maintenant de remplir :
- Vous constatez une boîte de dialogue supplémentaire :
C'est ici que vous allez choisir la colonne qui va être mémorisée. En effet, quand vous allez choisir par exemple Jaune pour un client... C'est Jaune ou c'est Yellow que vous choisissez ? C'est Jaune, même si vous cliquez sur Yellow (Vois allez pouvoir tester ça dès que la liste sera terminée). C'est jaune... Pour autant que vois choisissiez Col1 ici même. Si vous choisissez Col2, ce seront les couleurs anglaises qui seront gardées en mémoire. Par exepérience, je peux vous dire que vous avez intérêt de toujours sélectionner Col1 lorsque vous avez ces listes à plusieurs colonnes, sinon j'ai constaté qu'Access "pète un peu les plombs". Ce n'est pas vraiment un problème, car c'est sans doute toujours la première colonne la plus importante.

Bon... Hem... On peut résumer ?
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) |
Avez-vous bien compris ?
|
Exercice
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 :
Téléchargez la solution de l'exercice ici |
0 commentaires:
Enregistrer un commentaire