Acces Formulaire combo box condition if

sarah3854 -  
 Rhyton le boyar -
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.

7 réponses

  1. Manugeo
     
    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
  2. sarah3854
     
    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
  3. Jean_Jacques Messages postés 1045 Date d'inscription   Statut Membre Dernière intervention   112
     
    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
  4. moiced59 Messages postés 1161 Statut Membre 60
     
    tu as essayé de mettre un * tout simplement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. sarah3854
     
    * 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
  7. sarah3854
     
    En fait j'ai remplacé VraiFaux par IIf et ca marche!

    Merci à tous pour votre aide
    0
  8. Rhyton le boyar
     
    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