IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IHM Discussion :

zone de liste déroulante


Sujet :

IHM

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut zone de liste déroulante
    Bonjour,
    Dans un form, j’ai 2 zones de liste déroulantes.
    La seconde liste cmb2 se met à jour en fonction du choix fait dans la première cmb1 (contenant 2 choix A ou B)
    ç'a fonctionne.
    Dans ce même form, j’ai une zone de texte txt1 qui prend une valeur ( A , B ou C )
    Je souhairerai que lorsque ma zone de texte prend la valeur A ou B, ma cmb2 se mette à jour en fonction de cette valeur
    sinon ( choix C) cmb2 se met à jour en fonction de cmb1.
    mon problème est que je ne sais pas comment le formuler dans propriétés/contenu de ma cmb2
    j'espère avoir été clair..

  2. #2
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Salut,

    C'est pas très compliqué : adapte la solution que tu utilises pour les 2 listes

    Sur l'évènement "Après MAJ" du champ, tu affectes le SQL à la source de ta liste :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select MonChamp1, MonChamp2 
    From Matable/requete 
    Where MonChamp2 = Forms!F_Geographie.MonChamp

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut
    Merci pour ta réponse,
    en fait cela me parait plus compliqué, j'ai un form appelant contenant 3 boutons : choix A, B ou C qui affecte cette valeur au txt1 du form appelé qui lui même contient mes cmb1 et cm2 et une lstresult (multicritères)
    les choix A et B affecte la lstresult, le choix C donne l'ensemble de enregistrements.
    je suis un peu perdu ...

  4. #4
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Bon alors, toujours sur l'évènement "Après MAJ" du champ, tu affectes le SQL à la source de ta liste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If Me.NomChamp = ChoixA or Me.NomChamp = ChoixB then
        Me.MaListe2.RecordSource = "SELECT MonChamp1, MonChamp2 FROM Matable/requete WHERE MonChamp2 = Forms!F_Geographie.MonChamp"
        Else
            Me.MaListe2.RecordSource = "SELECT MonChamp1, MonChamp2 FROM Matable/requete WHERE MonChamp2 = Forms!F_Geographie.Maliste1"
    End If

  5. #5
    Membre expérimenté
    Avatar de Mahefasoa
    Homme Profil pro
    Manager IT
    Inscrit en
    Octobre 2003
    Messages
    835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Manager IT

    Informations forums :
    Inscription : Octobre 2003
    Messages : 835
    Points : 1 664
    Points
    1 664
    Par défaut
    Salut DuDe92,
    Je présume que le code SQL de cmb2 devrait être construit d ela manière suivante:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT ...
    FROM ...
    WHERE ...;
    C'est au niveau de la clause WHERE qu'il faut placer le critère qui se traduit comme suit (à peu près)
    Code algo : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    table.champ = si(zonedetexte="C" alors cmb1 sinon zonedetexte)
    Concrètement, posons que le nom de la zone de texte est zt1 alors la clause WHERE de l'instruction SQL devient:
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT ...
    FROM ...
    WHERE table.champ = IIf(zt1="C", cmb1, zt1);
    Il est peut-être important de mentionner le formulaire d'où provient le contrôle en faisant comme ceci: [Forms]![NomFormulaire]![zt1] par exemple.
    Il est nécessaire d'ajouter le code suivant à un événement clé des contrôle cmb1 et zt1.
    Je ne sais pas si cela a la prétention de t'aider mais bon courage et @+

  6. #6
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut
    j'ai copié le code sur l'évènement, mais ma cmblist ne s'actualise pas...

    voici le code exact:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub varmarche_AfterUpdate()
    If Me.varmarche = "R" Or Me.varmarche = "P" Then
        Me.cmbPresta.RecordSource = "SELECT CodesP.nomP, CodesP.canalP, CodesP.marcheP FROM CodesP WHERE Globale!marche = Me.varmarche;"
        Else
        Me.cmbPresta.RecordSource = "SELECT CodesP.nomP, CodesP.canalP, CodesP.marcheP FROM CodesP WHERE CodesP.canalP=Formulaires!frmRechercheG!cmbcmbMarche ; "
    End If
    End Sub

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut

    il y avait une erreur dans le code (copié-coller) mais ç'a ne change rien..

  8. #8
    Membre averti
    Inscrit en
    Avril 2006
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 316
    Points : 367
    Points
    367
    Par défaut
    Bonjour,

    essaie de mettre les variables en dehors des guillemets.

    A+

  9. #9
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut
    effectivement le contenu SQL de cmb2 est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Select CodesP.nomP, CodesP.marcheP, CodesP.canalP FROM CodesP;

  10. #10
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut
    Le WE approche à grands pas
    je vais tester vos solutions dès lundi...et vous communiquerai les résultats
    merci encore et bon week end.

  11. #11
    Membre du Club
    Inscrit en
    Décembre 2006
    Messages
    79
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 79
    Points : 44
    Points
    44
    Par défaut
    Bonjour, et bon début de semaine
    J'ai utilisé la solution de Mahefasoa et ç'a fonctionne.
    ci dessous le code si ç'a peux servir,

    sur le contenu de ma cmb:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Select CodesP.nomP, CodesP.marcheP
    FROM CodesP
    WHERE (((CodesP.marcheP)=IIf([Formulaires]![frmRecherche]![txt1]="C",[Formulaires]![frmRecherche]![cmbmarche],[Formulaires]![frmRecherche]![txt1])));
    et
    merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/06/2020, 12h44
  2. Réponses: 14
    Dernier message: 13/12/2005, 10h58
  3. Réponses: 4
    Dernier message: 29/10/2005, 18h03
  4. Zone de liste déroulante, valeur de requete et fixe
    Par Fritzoune dans le forum Access
    Réponses: 4
    Dernier message: 12/10/2005, 17h21
  5. Zone de liste déroulante
    Par noname_971 dans le forum Access
    Réponses: 9
    Dernier message: 10/09/2005, 21h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo