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 :

Liason entre deux zones de liste


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 21
    Points
    21
    Par défaut Liason entre deux zones de liste
    Bonjour,
    je sens que l'on va me taper sur les doigts
    mais j'ai bien regardé la faq (access.developpez.com/faq/?page=zdl#LierZdl )et fais quelques recherches
    mais le code ne semble pas marcher pour lier mes deux zones de liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     Private Sub F_R_Liste_Département_LostFocus()
     
    Dim strSQL As String
     
    If Me.F_R_Liste_Département.Selected = "CALVADOS" Then
    Me.F_R_Liste_Pays.RowSourceType = "Table/Requête"
    strSQL = "SELECT N_PAYS_R25.NOM_PAYS FROM N_PAYS_R25 WHERE (N_PAYS_R25.CODE_PAYS) Like '14****';"
    Me.F_R_Liste_Pays.RowSource = strSQL
    Me.F_R_Liste_Pays.Requery
    End sub
    j'ai mis cet évènement sur perte du focus car par possibilité de sur changement avec zone de liste (possible avec zone de liste modifiable) si vous avez également une astuce

    de plus j'avais trouvé la semaine dernière un post fort intéressant mais impossible de le retrouver (trop de chose sur ce forum ^^) c'était pour récupérer les valeur des zone de liste je suis dans le cas d'un multiselect

    merci pour celles et ceux qui pourront m'aider sur mes trois problèmes

  2. #2
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonsoir,

    Petite remarque en passant (qui n'est pas la source de ton problème)
    Mets simplement
    ou, si tu veux spécifier le nombre de caractères inconnus

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.F_R_Liste_Pays.RowSourceType = "Table/Requête"
    Je ne suis pas convaincu (jamais testé) qu'il s'agisse d'une valeur reconnue quand tu l'affectes en VBA.
    Mais en fait, as-tu besoin de définir cette propriété, elle ne change pas non?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 21
    Points
    21
    Par défaut
    Salut,
    merci pour ta remarque, je viens de modifier

    pour le RowSourceType j'ai toujours fais comme ça
    et mon code marche quand je l'utilise avec des zones de liste modifiable mais pas là avec les zones de liste

  4. #4
    Membre averti
    Avatar de The_Super_Steph
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    445
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 445
    Points : 359
    Points
    359
    Par défaut
    bonjour,

    J'ai un problème similaire au tien, alors on peut s'entraider...
    Toutefois, je me pose une question : pourquoi ne mets-tu pas ton événement sur Après MAJ (after update) ?

    Stéphanie

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 21
    Points
    21
    Par défaut
    j'ai mis sur afterupdate mais pour essayer le résultat il vaudrait que le code marche
    mais je n'ai pas encore trouvé la solution

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 21
    Points
    21
    Par défaut
    bonjour,
    Sur chargement du formulaire le code suivant s'exécute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Me.F_R_Liste_Département.RowSourceType = "Table/Requête"
    strSQL2 = "SELECT N_COMMUNE_BDTOPO_R25.Département FROM  "
    strSQL2 = strSQL2 + " (SELECT N_COMMUNE_BDTOPO_R25.Département, 1 As Position from "
    strSQL2 = strSQL2 + " [N_COMMUNE_BDTOPO_R25] Union Select TOP 1 '-Tous-' , 0  "
    strSQL2 = strSQL2 + "from [N_COMMUNE_BDTOPO_R25] ) Order by Position,[N_COMMUNE_BDTOPO_R25].[Département];"
    Me.F_R_Liste_Département.RowSource = strSQL2
    (un peu compliqué par l'ajout de "tous")
    Mais la syntaxe fonctionne pour le chargement de la première liste.

    Donc je veux maintenant pouvoir suivant la valeur rentrer dans cette première liste avoir une deuxième liste (cf code en début de post)
    pour commencer dans le cas d'une valeur dans la première liste
    puis pour le cas avec plusieurs valeurs (je suis en multiselect ).

    merci

  7. #7
    Membre expert
    Avatar de mout1234
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2 210
    Points : 3 228
    Points
    3 228
    Par défaut
    Bonjour,

    As-tu consulté ces éléments dans la faq?
    Comment faire en sorte que le contenu d'une zone de liste déroulante dépende de la valeur d'une autre liste ?

    Il y a en fait plusieurs tout un chapitre sur les zones de liste...
    http://access.developpez.com/faq/?page=zdl


    Un petit détail en passant
    strSQL2 = strSQL2 + " [N_COMMUNE_BDTOPO_R25] Union Select TOP 1 '-Tous-' , 0 "
    Mieux vaut mettre UNION ALL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strSQL2 =" ... UNION ALL Select ... "
    Cela évite au moteur de s'assurer qu'il n'y a pas de doublons entre les sources de l'union.



    Bon courage

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    37
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 37
    Points : 21
    Points
    21
    Par défaut
    voici le résultat (en mélangeant plusieurs éléments de la faq)
    merci mout1234

    pour info voici le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If Me.F_R_Liste_Département.Selected(1) Then
    Me.F_R_Liste_Pays.RowSourceType = "Table/Requête"
    strSQL = "SELECT N_PAYS_R25.NOM_PAYS FROM N_PAYS_R25 WHERE (N_PAYS_R25.CODE_PAYS) Like '14????';"
    End If

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

Discussions similaires

  1. Glisser-déposer entre deux zones de listes
    Par Arkham46 dans le forum Contribuez
    Réponses: 2
    Dernier message: 13/04/2012, 12h20
  2. Permutez des éléments entre deux zones deux listes
    Par dricks dans le forum VBA Access
    Réponses: 2
    Dernier message: 14/09/2007, 09h56
  3. Drag&Drop entre deux zones de liste
    Par Herman dans le forum IHM
    Réponses: 1
    Dernier message: 28/06/2007, 19h14
  4. Faire passer des items entre deux zones de listes
    Par ludobado dans le forum Access
    Réponses: 8
    Dernier message: 04/05/2006, 18h33
  5. Mettre en relation deux zones de liste déroulante
    Par mfavier dans le forum Access
    Réponses: 2
    Dernier message: 25/04/2006, 11h49

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