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 :

Double Liste Déroulante [AC-2007]


Sujet :

IHM

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Points : 76
    Points
    76
    Par défaut Double Liste Déroulante
    Bonjour,

    J'ai une petite question sur les listes déroulantes.
    Voilà j'ai une table clients avec comme clé étrangère, la clé primaire de la table localisation.
    Ce que je veux avoir dans mon formulaire c'est une liste de clients uniques et lorsque l'on clique sur un nom une seconde liste déroulante s'ouvre avec la liste des localisations en fonction de ce client.
    Si le client n'est présent qu'à un seul endroit alors on ouvre pas la seconde liste déroulante.
    Je ne sais pas si c'est possible ?

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    Ce que tu veux c'est deux listes liées, il y a un excellent tuto sur le site pour cela :

    Concevoir une liste qui en alimente une autre

    Philippe

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Points : 76
    Points
    76
    Par défaut
    Merci Philippe JOCHMANS !
    Rapidité assuré

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    J'aimerais aller un peu plus loin en fait ...
    Je ne pense pas que ce soit très difficile mais je n'ai pas trouvé par moi même.

    Voila j'ai deux listes liées, quand je sélectionne une valeur dans la première liste la seconde s'ouvre avec des valeurs définis grâce à ma première liste.
    Dans ce cas là pas de problème.
    Mais si lorsque je sélectionne une valeur dans ma première liste et qu'il n'y a rien de liée à cette valeur ... la deuxième liste déroulante va s'ouvrir avec aucune champ dedans.
    C'est ceci que je voudrais empêcher.
    Voici le code qui permet de faire le cas basique (idem que celui de la source) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    '' Vérifie que l'on a cliqué sur un client pour éviter le NULL
     If Not IsNumeric(Me.NomClient) Then Exit Sub
      '' Affecte la valeur NumClient à la variable NumClient
      NumClient = Me.NomClient
      '' Construit la chaîne SQL avec le client concernée
      SQL = "SELECT Ville FROM Localisation WHERE NumClient =" & NumClient & " ORDER BY Ville"
      '' Affecte la chaîne SQL à la liste des Localisations
      Localisation.RowSource = SQL
      '' Déverrouille la liste des Localisations
      Localisation.Enabled = True
      '' Donne le focus la liste des Localisations
      Localisation.SetFocus
      '' Déroule la liste des Localisations
      Localisation.Dropdown
    J'ai essayé en mettant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    '' Affecte la chaîne SQL à la liste des Localisations
      Localisation.RowSource = SQL
      If IsNull(Me.Localisation) Then Exit Sub
    Mais ceci n'a rien donné de positif ...
    J'espère que vous pourrez me donner un petit coup de pouce
    Merci à vous

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 200
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    Problème résolu en utilisant la propriété ItemData

    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
      '' Vérifie que l'on a cliqué sur un client pour éviter le NULL
     If Not IsNumeric(Me.NomClient) Then Exit Sub
      '' Affecte la valeur NumClient à la variable NumClient
      NumClient = Me.NomClient
      '' Construit la chaîne SQL avec le client concernée
      SQL = "SELECT Ville FROM Localisation WHERE NumClient =" & NumClient & " ORDER BY Ville"
      '' Affecte la chaîne SQL à la liste des Localisations
      Localisation.RowSource = SQL
     
      ''On test si des localisations existent pour le client sélectionné
      If Not IsNull(Localisation.ItemData(0)) Then
      '' Déverrouille la liste des Localisations
      Localisation.Enabled = True
      '' Donne le focus la liste des Localisations
      Localisation.SetFocus
      '' Déroule la liste des Localisations
      Localisation.Dropdown
     
      ''S'il n'y a pas de valeur de localisation pour le client
      Else
      '' Cache la liste déroulante
      Localisation.Visible = False
    Si jamais quelqu'un a l'idée de réutiliser le code, il ne faut pas oublier de remettre un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Localisation.Visible = True
    au début du AfterUpdate.

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

Discussions similaires

  1. [XL-2003] Double liste déroulante pour choix matériel et impression
    Par tony020422 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/07/2009, 17h14
  2. [AC-2007] Double liste déroulante
    Par ptiloup dans le forum IHM
    Réponses: 2
    Dernier message: 20/04/2009, 18h18
  3. Formulaire avec double listes déroulantes liées
    Par glesker dans le forum Langage
    Réponses: 46
    Dernier message: 25/08/2008, 10h55
  4. [MySQL] Double liste déroulante REGION + Villes
    Par dahu17 dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 05/02/2008, 22h57
  5. Double liste déroulante avec choix d'onglet
    Par fugy33 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2007, 10h45

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