|
Créer un formulaire de recherche avec
liste déroulante
Le formulaire RechercheClient
Pour créer ce nouveau formulaire, cliquez sur l'onglet Formulaire
et sélectionnez le bouton Nouveau.
A la première étape, sélectionnez la table
Clients, puis le champ Code
Client (en fait, à ce stade, peu importe le(s) champs
retenu(s)) et cliquez sur le bouton >
pour le sélectionner. Activez ensuite le bouton Suivant.
A l'étape suivante, choisissez une disposition
de votre choix et activez à nouveau le bouton Suivant.
Sélectionnez ensuite un style
à votre goût et poursuivez en cliquant sur le bouton
Suivant.
Nommez enfin votre formulaire RechercheClient
et, avant de cliquer sur le bouton Terminer,
activez l'option Modifier la structure du formulaire
afin que le formulaire s'ouvre en mode Création.
Notre formule se contente pour l'instant d'une banale zone de texte
: sélectionnez-la, faites un clic droit de la souris, activez
l'option Remplacer par puis Zone
de liste modifiable. Nous sommes déjà plus
proches de notre cahier des charges...
Si la fenêtre des Propriétés
n'est pas affichée, activez-la en cliquant sur l'icône
.
Ceci
fait, cliquez sur l'onglet Données.
Activez la ligne Contenu et cliquez sur
les ... Ceci ouvre le module de Requête
qui vous est à présent familier. Sélectionnez
la table Clients, cliquez sur Ajouter
puis sur Fermer.
Access a besoin, pour sélectionner un enregistrement, de
se baser sur un élément qui identifie clairement ce
dernier et ce sans ambiguité. En l'occurrence, c'est ici
le rôle ici de notre code client.
Problème : si ce champ est très utile pour Access,
il est vraisemblable que vous ne puissiez, vous, retenir tous les
codes de vos clients. D'ailleurs, je vous rassure moi non plus...
La solution va consister à tricher un peu : nous allons sélectionner
deux champs. Le premier (code client)
sera utilisé par Access pour sélectionner la fiche
client désirée. Le second champ, société,
plus facilement déchiffrable par nous, simples humains, nous
permettra de sélectionner aisément le bon client dans
la liste déroulante.
Faites
donc glisser le champ code client vers
la grille, puis faites de même avec le champ Société.
Sous ce dernier champ, sur la ligne Tri,
activez l'option Croissant pour trier
la liste des clients par ordre alphabétique.
Refermez votre requête en cliquant sur
et en la sauvegardant.
Vous pouvez à présent effacer le contenu
du champ Source contrôle (onglet
Données) puisque notre "source"
est désormais notre requête. Ce faisant, remarquez
que notre zone déroulante indique la mention Indépendant
(elle n'est plus reliée à une table). Son nom
(onglet Autres) est toujours néanmoins
Code client.
Toujours dans l'onglet Données,
vérifiez que la ligne Colonne liée
comporte bien la valeur 1. Cela indique
à Access qu'il doit récupérer le contenu de
la première colonne de notre requête (donc la valeur
Code client) pour sa recherche.
Sur la ligne du dessous, vérifiez que la propriété
Limiter à liste soit bien fixée
sur Oui. En sélectionnant cette
option, vous indiquez à Access que votre choix ne peut se
porter que sur un élément figurant dans la liste.
Etant donné que notre objectif sera de retrouver un client
existant, il est logique de restreindre notre choix aux clients
effectivement enregistrés...
Activez l'onglet Format et fixez la
valeur de Nbre colonnes sur 2
(nous, nous souhaitons voir à la fois le Code
client -enfin presque...- et surtout le champ Société,
plus parlant).
Sur la ligne Largeurs colonnes saisissez
0 ; 5. Cela fixera la largeur de la première
colonne sur 1 (en fait, cela masquera Code client
à nos yeux mais pas à ceux d'Access) et celle de la
colonne Société sur 5 (vous
aurez reconnu ici la technique que nous avons abordée lors
d'une précédente
leçon).
A présent, cliquez sur l'étiquette Code
client. Activez la propriété Légende,
située dans l'onglet Format et
saisissez "Veuillez sélectionner
un nom, SVP". Réagencez un peu les éléments
de votre formulaire. Sauvegardez-le et cliquez sur l'icône
pour voir
le résultat.
Pas mal, non... Reste à régler
quelques petits détails.
Haut
|