Acces Formulaire combo box condition if

Fermé
sarah3854 - 7 mai 2010 à 14:37
 Rhyton le boyar - 12 mai 2010 à 14:45
Bonjour, j'ai une question par rapport à un formulaire Access:
Je choisis dans une 1ère combo box une région à partir d'une table
Ensuite suivant la région sélectionnée une 2ème combo box permet de choisir la ville à partir d'une requête.
Ainsi dans la 2ème combo box seulement les villes de la région sélectionnée apparaissent.
Maintenant je voudrais pouvoir sélectionner toutes les régions et donc dans la 2ème combo box avoir toutes les villes.
Je pensais ajouter un champs "Toutes les Régions" dans la table et faire une condition IF pour ma 2ème combo Box mais je n'y parviens pas.
Pouvez vous m'aider?

Merci par avance.
A voir également:

7 réponses

Utilisateur anonyme
7 mai 2010 à 15:12
Bonjour,

En fait, c'est dans la requête source de ta deuxième combobox que ça doit se passer.
Si tu as déjà un critère du type =[Formulaires]![NomDeTonFormulaire]![NomDeCombobox1], tu enlèves le critère, puis tu ajoute, toujours dans ta requête, une colonne ainsi :

Champs (à adapter) :
VraiFaux(EstNull([Formulaires]![NomDeTonFormulaire]![NomDeCombobox1]);1;VraiFaux([Champs_Région_de_la_ville]=[Formulaires]![NomDeTonFormulaire]![NomDeCombobox1];1;0))
Opération : Où
Critère : 1

Ainsi, ta formule fait :
si Combobox est null, renvoie la valeur 1 (donc répond au critère et affiche la ville)
Si Combobox est pas null :
- Si la région de ta ville est égale à celle choisie dans ton combobox1, renvoie la valeur 1, donc répond au critère et affiche ta ville,
- Si la région de la ville est différente de celle choisie dans ton Combobox1, renvoie 0, donc ne répond pas au critère, et n'affiche pas la ville.

ça semble compliqué, à première vue, mais c'est très efficace !

Manu
1
désolée mais je ne comprend pas; ma combobox1 n'est jamais nulle, je dois la compléter soit par la région choisie soit (ce que je veux ajouter) par toutes les régions
et si on demande toutes les régions alors dans la 2ème combobox apparaissent toutes les villes

j'ai quand même essayé votre solution mais je fonctionne avec une version anglaise, j'ai donc remplacé votre VraiFaux par TrueFalse (j'ai aussi essayé RightWrong) et il ne connait pas ca, vous connaissez la version anglaise?

merci
0
Jean_Jacques Messages postés 1040 Date d'inscription mercredi 30 avril 2008 Statut Membre Dernière intervention 1 août 2014 112
8 mai 2010 à 09:06
Bonjour sarah3854,

J'ai déposé un tutoriel ACCESS [En anglais] sur Ci-joint.com.
Vous le trouverez à cette adresse :

http://www.cijoint.fr/cjlink.php?file=cj201005/cijPJ1YMLX.zip

Le formulaire : How One List Box Changes Another With a Query
traite de votre problématique.
Il devrait vous profiter ....


Cordialement
0
moiced59 Messages postés 1145 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 18 août 2014 60
8 mai 2010 à 09:34
tu as essayé de mettre un * tout simplement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
* ne fonctionne pas, non
Pour votre tutorial Jean Jacques, comment feriez vous si vous voudriez visualiser tous les état en même temps?il ne me semble pas que votre formulaire le permette
0
En fait j'ai remplacé VraiFaux par IIf et ca marche!

Merci à tous pour votre aide
0
Rhyton le boyar
12 mai 2010 à 14:45
autre possibilite

table region - ville

Region1 Ville1
Region1 Ville2
Region2 Ville3
Region2 Ville4
Toutes Ville1
Toutes Ville2
Toutes Ville3
Toutes Ville4

de la ta premiere liste deroulante se base sur une requete regroupement des Region

la deuxieme sur une requete regroupement des villes et region ou region = la valeur de ta premiere liste. tu devrait avoir toutes les villes dans ta deuxieme liste si tu choisis "toutes"

j'espere avoir ete clair

Rhyton
0