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

Access Discussion :

Liste déroulante limitée en fonction d'un choix...


Sujet :

Access

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Liste déroulante limitée en fonction d'un choix...
    Bonjour,

    Je n'ai pas trouvé de solution sur le forum ou dans les FAQs qui pourrait répondre à mon petit problème (ou alors je n'ai pas cherché au bon endroit ), aussi je me permets de vous solliciter...

    Ce que je souhaiterai obtenir :
    Un formulaire avec 2 listes déroulantes (phase et ss_phase).
    En fonction de la valeur sélectionnée dans la liste déroulante 1, seules certaines valeurs de la liste déroulante 2 sont accessibles.
    (Si dans une liste déroulante 1, je choisis la valeur 1, alors la liste déroulante 2 ne me propose que les valeurs a, b et c. Si dans la liste déroulante 1, je choisis la valeur 2, alors la liste déroulante 2 ne me propose que les valeurs d, e, f, etc.).

    N'arrivant pas à arriver à cette solution, j'avais pensé à une autre : peut-être utiliser plusieurs listes déroulantes du type de la liste déroulante 2 et un jeux de contrôles visibles ou non, ainsi :
    - si dans une liste déroulante 1, je choisis la valeur 1, alors une liste déroulante 2 me propose les valeurs a, b et c. Si je choisis la valeur 2 dans la liste déroulante 1, alors une liste déroulante 3 s'affiche (la 2 devient invisble) et me propose d, e, f. Si je choisis la valeur 3 dans la liste déroulante 1, alors une liste déroulante 4 s'affiche (les 2 et 3 sont invisbles) et me propose g, h, i.


    Voilà, je ne sais pas si je me suis bien faite comprendre...

    Si vous avez des idées... j'en serais ravie...

    Merci et bonne journée

  2. #2
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Je vais te proposer peut-être un début de piste :

    Imaginons que tu as une table pour les phases et une autre table pour les sous phases. Il te faut une table intermédiaire pour indiquer quelles phases vont avec quelles sous phases.
    exemple de valeur dans la table:

    phase1 ; ssphase1
    phase1 ; ssphase2
    phase1 ; ssphase1
    .....

    Ensuite tu n'as plus qu'à lier ta liste modifiable phase à la table de phases. Et une fois la valeur choisie dans la liste (événement afterupdate) tu modifies la propriétés rowsource de ta 2ème liste pour ne faire apparaître qu'une liste limitée.

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private sub listep_afterupdate ()
     
    dim sql as string
     
    sql = "SELECT * FROM tableintermediaire, tablessp WHERE tableintermediaire.idssp = tablessp.idssp AND tableintermediaire.idp = " & Listep.value 
     
    Listessp.rowsource = sql
    Listessp.requery
     
    end sub
    En espérant t'avoir aidé.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide.



    Ne serait-ce pas plus facile alors, si j'avais une table qui comprend 2 champs (phase et sous-phase) :
    phase 1 ; ss phase 1
    phase 1 ; ss phase 2
    phase 1 ; ss phase 3
    phase 2 ; ss phase 1
    phase 2 ; ss phase 2
    ...


    A ce moment là, est-ce que le choix de la phase conditionne le choix limité de la ss phase dans un formulaire par le biais de listes déroulantes ?

    Merci.

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Mai 2004
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 236
    Points : 310
    Points
    310
    Par défaut
    Heu c'est pas ce que je viens de te proposer ?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Bonjour
    Si c'est ce que tu m'as indiqué, j'essayais juste de mettre en oeuvre ce que tu m'as dit... mais je n'y arrive pas...
    J'ai bien la table indiquée, mais impossible que la liste déroulante m'indique la sous-phase se rapportant à la phase sélectionnée.

    Y'a un truc que je n'ai pas du bien mettre en oeuvre ??

    Merci pour ton aide...

  6. #6
    Membre habitué
    Inscrit en
    Mai 2005
    Messages
    125
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 125
    Points : 128
    Points
    128
    Par défaut
    gabrielle a dit
    Ne serait-ce pas plus facile alors, si j'avais une table qui comprend 2 champs (phase et sous-phase) :
    phase 1 ; ss phase 1
    phase 1 ; ss phase 2
    phase 1 ; ss phase 3
    phase 2 ; ss phase 1
    phase 2 ; ss phase 2
    oui tu peux
    si ta table se nomme table1 est contien 2 cahmps phase et ss
    tu cree un formulaire avec 2 listes déroulantes
    liste0 et liste1

    tu crée 2 requetes
    requete1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT Table1.phase
    FROM Table1
    GROUP BY Table1.phase;
    requete 2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT Table1.phase, Table1.ss
    FROM Table1
    WHERE (((Table1.phase)=[Formulaires]![Formulaire1]![Liste0]));
    la propriété contenu de liste0
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [Requête1].[phase] FROM [Requête1]


    en fin tu ajoute pour le code suivant dans le module du formulaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Liste0_AfterUpdate()
    Me.Liste1.RowSource = "SELECT Requête2.ss FROM Requête2; "
     
     
    End Sub

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Génial...
    Génial... ça marche !!!

    J'ai juste rajouté un DISTINCT dans la requête1 afin de n'avoir une liste "propre" des phases... et ça marche super !!

    Je vais un peu abuser en te demandant si tu sais comment, dans cette configuration (requête1 et 2, ... etc), faire ceci :
    - je choisi ma phase et ma sous-phase.
    - je décide de changer ma phase, mais la sous-phase reste celle indiquée précédement
    - comment faire pour qu'au minimum, le choix de la sous-phase soit à nouveau à faire (contrôle soit vide) ?

    Merci beaucoup pour ton aide...

  8. #8
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Au passage c'était détaillé ici

    http://access.developpez.com/sources...s#FiltrerListe

Discussions similaires

  1. Réponses: 19
    Dernier message: 11/06/2012, 14h36
  2. PopUp liste déroulant limité à 255 entrées?
    Par stephane46 dans le forum 4D
    Réponses: 3
    Dernier message: 09/03/2009, 17h22
  3. [AJAX] Ma 3e liste déroulante se vide lors d'un choix dedans
    Par beegees dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 14/01/2009, 20h11
  4. Formulaire et liste déroulante limitée
    Par sat478 dans le forum Word
    Réponses: 0
    Dernier message: 22/11/2007, 10h41
  5. Contenu de 2 listes déroulantes à envoyer à une fonction???
    Par doudoustephane dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 21/10/2005, 08h56

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