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

VBA Access Discussion :

Liste déroulante et valeur [AC-2010]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Par défaut Liste déroulante et valeur
    Bonjour.

    J'ai dans un formulaire une série de contrôle dont une liste déroulante (mod_Type) dépendante d'une requête (rq_Type) qui récupère les valeurs possibles d'une table (tbl_Type).
    Une fois complété le formulaire, j'enregistre le résultat dans une table (tbl_Main) avec, entre autres, la valeur choisie de mod_Type gardée dans un champ de type text ("Estado").

    Jusque là tout va bien

    Maintenant j'utilise le même formulaire pour éditer mes registres de tbl_Main et je n'arrive pas à visualiser dans la liste déroulante (mod_Type) la valeur récupérée du champ "Estado" (récupérée par requête).
    J'essaye:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.mod_Type.Value = rs2.Fields("Estado").Value
    mais çà ne marche pas..
    Nom : Capture.JPG
Affichages : 2390
Taille : 18,1 Ko

    Merci de votre aide!!

  2. #2
    Membre régulier
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Par défaut
    Bonjour.

    Je rajoute un contrôle pour vérifier la valeur récupérée

    Me.modEstado.Value = rs2.Fields("Estado").Value
    Me.Texte191 = Me.modEstado.Value
    Nom : Capture1.JPG
Affichages : 2247
Taille : 12,1 Ko

    Effectivement le problème ne se trouve pas dans la récupération de la valeur mais bien dans l'affichage.
    Des pistes?

    Merci par avance

  3. #3
    Membre expérimenté Avatar de EBRAG
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Avril 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Formateur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 125
    Par défaut Liste déroulante
    Bonjour,

    Si la liste déroulante a pour donnée source une autre information que le champ de la table, il y a peu de chance pour qu'elle affiche cette donnée.

    Il faut effectivement passer par un second contrôle comme décrit dans le second message...

    La liste déroulante n'intervenant que pour modifier le champ cible... (voir le code VBA associé à cette liste déroulante)

    Bon courage...

  4. #4
    Membre régulier
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Par défaut
    Merci EBRAG pour ta réponse.

    J'avoue ne toujours pas comprendre pourquoi ne pas pourvoir afficher une valeur qui est chargée dans la liste...
    Effectivement, la liste déroulante (modEstado) est bien alimentée ou chargée par une requête.
    Mais j'essaye de lui attribuer une valeur déterminée par une autre requête et j'y arrive : "Me.modEstado.Value = rs2.Fields("Estado").Value"
    Si je consulte Me.modEstado.value je retrouve bien la valeur passée. Mais pourquoi ne veut-elle pas s'afficher...
    Nom : Capture.JPG
Affichages : 2321
Taille : 14,6 Ko

    J'aimerai juste comprendre le fond du sujet...
    Encore merci.

  5. #5
    Membre régulier
    Homme Profil pro
    Responsable de projet fonctionnel
    Inscrit en
    Avril 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable de projet fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 10
    Par défaut
    Bon: ce n'est pas très joli mais si ça peut servir à d'autres... Solution pour contourner le problème..

    Je superpose graphiquement une textbox (txtEstado) et une liste déroulante (modEstado).

    Au chargement du formulaire, j'ai
    1) la requête pour charger la liste
    2) je rends visible la textbox et invisible la liste

    Sur évènement 'click' de la textbox:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.modEstado.Visible = True
    Me.modEstado.SetFocus
    Me.txtEstado.Visible = False
    Me.modEstado.Dropdown
    Sur l'évènement 'change' de la liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Me.txtEstado.Visible = True
    Me.txtEstado.SetFocus
    Me.txtEstado = Me.modEstado.Column(1) 'Colonne à adapter en fonction de la source
    Me.modEstado.Visible = False
    J'aimerai quand même savoir pourquoi une liste ne peut pas afficher sa valeur!!

    Joyeuses fêtes de fin d'année à toutes et à tous.

  6. #6
    Expert éminent
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 962
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 962
    Par défaut
    J'aimerai quand même savoir pourquoi une liste ne peut pas afficher sa valeur!!
    bonsoir,
    si j'ai bien compris ton souci, je pense que c'est parce qu'il s'agit du zone de liste indépendante qui n'a pas de source contrôle sinon une valeur s'afficherait. Sans cela, rien ne s'affiche puisque Source contrôle est Nul.
    Pour afficher une valeur dans une zone de liste indépendante tu peux, soit mettre la première valeur de ta requête avec =Mindom("mod_Type";"rq_Type") dans la propriété valeur par défaut de ta zone de liste, soit le faire par code à l'ouverture du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Me.modEstado =  Me.modEstado.ItemData(0)

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

Discussions similaires

  1. rafraichir 3 listes déroulantes suivant valeur radio button
    Par arnogef dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 20/06/2007, 23h48
  2. [Javascript] Liste déroulante avec valeurs non cliquables.
    Par SONY30 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 23/02/2007, 10h36
  3. liste déroulante et valeur selectionnée
    Par lepovre dans le forum Langage
    Réponses: 2
    Dernier message: 17/11/2006, 14h20
  4. Réponses: 6
    Dernier message: 24/08/2006, 14h56
  5. Liste déroulante sans valeur par défaut ?
    Par magic8392 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/02/2005, 16h59

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