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 :

[FORMULAIRE] Listes déroulantes liées


Sujet :

IHM

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut [FORMULAIRE] Listes déroulantes liées
    Bonjour à tous!

    J'ai sur un formulaire 2 listes déroulantes.
    La deuxieme liste déroulante affiche des données en fonction du choix effectué sur la 1ere liste.

    La premiere liste affiche des types de moteurs, appartenant à 2 constructeurs differents.

    La deuxieme liste affiche, en fonction du choix du moteur, une liste de pieces dont la denomination est identique entre les moteurs d'un meme constructeur.

    Pour faire le tri entre chaque liste, les tables sont construites de la maniere suivante :

    1. Table moteur : avec un numauto, Désignation moteur, et IDMoteur (1 pour le constructeur 1, 2 pour le numéro 2)

    1. Table Pièce : avec numauto, Désignation pièce, ID pièce, et IDMoteur


    Exposé du probleme :

    Lors de la selection dans la liste 1, le tri se fait correctement pour les 2 premiers moteurs (d'un constructeur différent) et les données de la liste 2 correspondent bien. En revanche, pour les moteurs suivants, la selection ne se fait plus et la liste 2 reste déséspéremment vierge...

    Quelqu'un aurait-il une suggestion sur l'origine du probleme?

    Merci de vos lumières
    Guigui

  2. #2
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    dis nous en un peu plus sur le code que tu utilise (SQL par exemple, refraichissement des listes, etc...)

    Dolphy

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut
    Bonjour Dolphy!!

    Voici le code situé dans Propriétés, Données, Contenu de ma liste 2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT [T_Etage_profil].[ID], [T_Etage_Profil].[Désignation_Etage] FROM T_Etage_Profil WHERE [T_Etage_Profil].[IDMoteur]=[Forms]![F_Caractérisation_JEU].[Choix_Moteur];
    Et voici le code associé au choix en fonction des selections faites. Ce deuxieme code fonctionne correctement pour les 2 premiers moteurs, donc devrait bien fonctionner pour le reste...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
        Case 7 'Option GE90-1
     
            Select Case Choix_Prof
     
                Case 1
                    stDocName = "F_GE90-1_NGV1_BP"
                Case 4
                    stDocName = "F_GE90-1_NGV1_HP"
                Case 5
                    stDocName = "F_GE90-1_NGV2_HP"
                Case 7
                    stDocName = "F_GE90-1_HPT1"
                Case 8
                    stDocName = "F_GE90-1_HPT2"
            End Select
     
    End Select
     
        DoCmd.OpenForm stDocName, , , stLinkCriteria
     
     DoCmd.OpenForm stDocName, , , stLinkCriteria
     
        Application.DoCmd.Close acForm, Me.Name
     
    Exit_Ouvre_le_formulaire_associé_aux_choix_des_listes_Click:
        Exit Sub
     
    Err_Ouvre_le_formulaire_associé_aux_choix_des_listes_Click:
        MsgBox Err.Description
        Resume Exit_Ouvre_le_formulaire_associé_aux_choix_des_listes_Click
     
    End Sub
    Il me semble que le probleme se situe plus au niveau du code de ma liste2 ou peut etre meme au niveau des relations tables ?

    Merci

  4. #4
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    as-tu esseyé d'éxécuter ton code pas à pas ?

    pour cel tu met un point d'arrêt au début de ton code et ensuite tu exécute ligne à ligne par F8. Ceci permet de vir où tu passe dans tes Select Case.

    Dolphy

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut toujours pas...:(
    Re!!

    J'ai passé mon code avec les case pas à pas, et tout fonctionne correctement...

    Le probleme réside bien dans l'affichage de la liste2 qui ne prend pas en compte les moteurs placés en position 3 et ultérieures.

    Cela peut-il venir du fait que l'IDMoteur est le meme pour plusieurs moteurs, et que le lien entre piece et moteur ne soit alors plus fait (confusion ou non reconnaissance du bon moteur)??

    Guigui

  6. #6
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    je ne comprends pas ton principe peux-tu être plus clair ou poster une base exemple, je ne te suis plus.

    Dolphy

  7. #7
    Membre régulier
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 66
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2007
    Messages : 179
    Points : 97
    Points
    97
    Par défaut
    bonjour,
    tu dois faire un requery sur tes listes sur "evenement perte de focus", pour que ta requête soit lancé avec le nouveau choix

  8. #8
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut
    Bonjour!!
    Reponse pour lupus83 :
    J'ai effectivement une requery pour l'actualisation de la liste2, mais rien à faire, cela ne marche que pour les 2 premiers moteurs...

    voici le code correspondant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Choix_Moteur_Change()
     
        Me.Choix_Profil.Requery
     
    End Sub

  9. #9
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut Reformulation du probleme
    Bonjour cher(e?) Dolphy!!

    Effectivement le probleme semble un peu compliqué, et cela est aussi compliqué a expliquer. Mais je vais essayer de reformuler plus clairement mon probleme...

    J'ai un formulaire comportant 2 listes déroulantes modifiables.
    La 1ere affiche des moteurs de 2 constructeurs differents. (4 du premier, et 3 du 2e constructeur).
    La 2e liste affiche une liste de pieces, qui doit correspondre au bon type moteur.
    Pour aller plus vite, j'ai rajouté dans la table moteur un champ IDMoteur, qui permet d'identifier chaque moteur en fonction de son constructeur : les 4 moteurs du 1er constructeur on un IDMoteur 1 et les 3 moteurs du 2e constructeur on un IDMoteur 2.
    J'ai evidemment repris cette affectation pour les pieces correspondantes.

    Je remet le code associé à la 2e liste.
    Tout fonctionne bien pour les 2 premiers moteurs de la liste 1 (ces 2 moteurs etant chacun d'un constructeur different) mais a partir du 3e moteur, plus rien ne fonctionne...

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT [T_Etage_profil].[ID], [T_Etage_Profil].[Désignation_Etage 
    FROM T_Etage_Profil 
    WHERE [T_Etage_Profil].[IDMoteur]=[Forms]![F_Caractérisation_JEU].[Choix_Moteur];

    J'espere que mon probleme est plus compréhensible ainsi. Si ce n'est pas le cas, et si j'en ai le temps, je préparerai un .zip avec un extrait de ma base.

    Merci en tout cas du temps passé pour m'aider

    Bonne journée

    Guillaume

  10. #10
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    Plus clair

    le problème est de savoir comment tu lie tes listes comment est structuré ton code !

    regarde dans ce post il y a des exemples qui pourront t'aider, regarde les et dis-nous si problème
    http://www.developpez.net/forums/sho...d.php?t=373693

    Dolphy

  11. #11
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut
    Re,

    j'avais effectivement déjà consulté cette discussion, et c'est d'apres elle que j'ai travaillé...

    je vais prendre le temps de créer un extrait de ma base pour que vous puissiez m'aider.

    Stay tuned!!!

    Guigui

  12. #12
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut
    Re,

    Voici un extrait de ma base de données.

    Attention cependant , toutes les tables n'y sont pas, il faut donc ne pas changer les clés primaires des 2 tables. Et les formulaires associés aux differents choix des listes ne sont pas la non plus, générant un message d'erreur lors du clic sur le bouton du formulaire.

    Voila, j'espere que vous pourrez m'aider

    @+
    Guigui

  13. #13
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    re,

    c'est plus clair avec la bdd, bon j'ai trouvé le pb, maintenant il faut que l'on s'arrange sur le montant pour que je t'aide

    dans ta première liste tu as comme source :
    N_Type_Moteur (clef primaire)
    Type Moteur

    dans ta deuxième liste tu as :
    ID (clef primaire)
    Désignation_Etage
    IDMoteur (dépendant de la première liste)

    ce qui se passe est que sur sélection de la pemière liste sa valeur correspond à la première colonne de la sélection c'est à dire tu sélectionne le premier moteur CF6-80C2 qui a pour valeur 1 (numéro auto de N_Type_Moteur ) quand tu sélectionne CFM56-3, il a pour valeur 2 jusqu'ici tout fonctionne car tes types de moteurs sont 1 et 2 en suite lorsque tu sélectionne CFM56-5A sa valeu est de 3 mais aucun IDMoteur a pour valeur 3 donc rien ne s'affiche dans l'autre liste.

    pour que cela fonction il faut ajouter dans la source de ta première liste IDMoteur et définir cette colonne comme colonne liées (dans les propriété de ta colonne tu sélectionne l'onglet données et dans la ligne colonne liées tu met le numéro de colonne où se situe IDMoteur.

    Dolphy

  14. #14
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut Désespéré...........
    Re,

    merci Dolphy pour ces précisions. Je comprend un peu mieux d'ou vient le probleme maintenant.

    J'ai fait ce que tu m'as dit pour la 1ere liste, mais je crois que quelque chose bugg toujours : Quand je selectionne un autre type de moteur que les 2 premiers, la liste 1 se met automatiquement sur le premier moteur du type selectionné. (ex pour etre plus clair : je selectionne dans la liste 1 le CFM56-5A et il affiche apres clic CFM56-3).

    De quoi cela peut-il venir?

    (Pour le montant on s'arrangera plus tard )

  15. #15
    Expert éminent sénior
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Points : 11 218
    Points
    11 218
    Par défaut
    Salut,

    je n'ai pas cherché plus loin que le bout de pif


    tu as une liaison entre tes deux tables, il faut l'utiliser

    colle ceci dans la source de ta deuxième liste :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT T_Etage_Profil.ID, T_Etage_Profil.Désignation_Etage, T_Type_Moteur.[Type Moteur]
    FROM T_Type_Moteur INNER JOIN T_Etage_Profil ON T_Type_Moteur.IDMoteur = T_Etage_Profil.IDMoteur
    WHERE (((T_Type_Moteur.[Type Moteur])=[Formulaires]![F_Caractérisation_JEU]![Choix_Moteur]));

    Maintenant dans ta première liste une seule colonne suffit : Type Moteur

    Dolphy

  16. #16
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    69
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 69
    Points : 32
    Points
    32
    Par défaut Wouaw!!!
    Salut Dolphy!!

    J'ai vu l'heure à laquelle tu as rajouté ton dernier post... ce n'est pas necessaire de passer des nuits blanches pour moi...

    je t'en remercie neanmoins!!!.

    Je suis en train de tester le code que tu m'as transmis, j'espere que cette fois sera la bonne...

    Je te tiens au courant.
    Bonne journée

    Guigui

Discussions similaires

  1. [Toutes versions] Formulaire : listes déroulantes liées
    Par jerem2007 dans le forum IHM
    Réponses: 12
    Dernier message: 12/06/2009, 12h34
  2. [formulaire] Listes déroulantes liées
    Par mystikgirl30 dans le forum IHM
    Réponses: 6
    Dernier message: 03/05/2007, 15h27
  3. [Sous-Formulaires] listes déroulantes liées
    Par maraing dans le forum IHM
    Réponses: 5
    Dernier message: 22/02/2007, 14h15
  4. Réponses: 12
    Dernier message: 08/02/2007, 11h59
  5. Création d'un formulaire, listes déroulantes liées
    Par patrick_deb dans le forum Langage
    Réponses: 2
    Dernier message: 08/12/2006, 15h49

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