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 :

Actualiser une liste déroulante (combobox) pour chaque ligne d'un formulaire continu


Sujet :

Access

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut Actualiser une liste déroulante (combobox) pour chaque ligne d'un formulaire continu
    Bonjour tout le monde,
    Nous travaillons sur un projet ACCESS et nous avons du mal à trouver comment peupler une liste déroulante (combobox) sur un formulaire. Ce formulaire est de type continu et pour chaque ligne, nous devons remplir la liste déroulante (basée sur une requête) avec les réponses possibles que l'utilisateur sélectionnera. La particularité est que les listes déroulantes sont peuplées avec des choix différents en fonction de la question posée (qui est sur la même ligne de la liste déroulante, même zone détail dans le mode création).

    Nous avons fait une requête en VBA et nous savons qu'elle fonctionne. Cependant, nous ne trouvons pas où la mettre pour qu'elle soit exécutée pour chaque question (requery au bon moment). Nous avons essayé de mettre la requête sur l'événement "Sur chargement" de la liste déroulante et "Sur chargement" du détail du formulaire, mais ça ne fonctionne pas.

    À mon avis, tout ce que nous devons savoir est sur quel événement la requête doit être placée afin qu'elle soit exécuté à chaque fois qu'une ligne est générée sur le formulaire de type continu.

    Merci!

  2. #2
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Bonjour.
    Je n'utilise pas de listes déroulantes dans exacrement les mêmes conditions, mais je pense qu'il suffirait de définir la requête en tant que source de la liste déroulante dans l'événement "Sur réception focus" de la liste. Soit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub LaListeDéroulante_GotFocus()
    Me.LaListeDéroulante.RowSource =  'Ici la requête source de la liste
    End Sub
    Cordialement

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci RobiPMS pour la réponse rapide!

    Je vais essayé la proposition. Par contre, comme je suis relativement nouveau dans Access, comment faire pour passer la requête dans l'égalité du "Me.LaListeDéroulante.RowSource"?

    Merci encore!

  4. #4
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Simplement en indiquant entre des doubles quotes le nom de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub LaListeDéroulante_GotFocus()
    Me.LaListeDéroulante.RowSource =  "Ta_requête"
    End Sub
    On peut aussi, entre les "", mettre le sql de la requête. Mais pour un débutant, la première solution devrait convenir.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Novembre 2014
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Ça marche presque... ça retourne la bonne liste déroulante pour les différents items du formulaire continu.

    Par contre, lorsque l'on sélectionne un item de la liste déroulante, celui-ci est inscrit dans le champs de tous les items du formulaire...

    D'autres idées ?

    Merci!

  6. #6
    Membre expérimenté Avatar de RobiPMS
    Homme Profil pro
    Conseiller psycho-pédagogique
    Inscrit en
    Octobre 2007
    Messages
    827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Conseiller psycho-pédagogique
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 827
    Points : 1 506
    Points
    1 506
    Par défaut
    Il faudrait que l'on en sache plus sur le formulaire lui-même pour comprendre ce qui se passe et quel est le résultat attendu. Quelle est la source du formulaire? C'est un formulaire en mode continu; chaque ligne correspond donc à un enregistrement. A quoi correspondent les autres champs de la ligne correspondant à un enregistrement? Le comportement que tu décris est ce qui se passe si la combobox est indépendante.

  7. #7
    Membre expert
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Octobre 2012
    Messages
    1 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2012
    Messages : 1 878
    Points : 3 467
    Points
    3 467
    Par défaut
    Bonjour speranof, RobiPMS,

    Si je comprend bien ton problème, ce n'est pas un problème mais c'est tout à fait normal. Même si ton combobox est lié, lorsque tu modifies sa source, le résultat affectera toutes les lignes du formulaire. Autrement dit tu ne peux avoir dans un formulaire en mode continu, un même combobox avec 2 sources différentes.

    Cependant le résultat dans la table restera ok.

    Bonne journée

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/10/2013, 16h44
  2. Dérouler dynamiquement une liste déroulante (combobox)
    Par yoyo1985 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/07/2007, 09h52
  3. Modifier une liste déroulante (Combobox)
    Par alex.a dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 19/06/2007, 13h22
  4. Actualiser une liste déroulante
    Par taisherg dans le forum IHM
    Réponses: 1
    Dernier message: 01/06/2007, 13h46
  5. Actualiser une liste déroulante
    Par audrey_ dans le forum ASP
    Réponses: 14
    Dernier message: 25/01/2006, 13h57

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