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 :

Valeur par defaut d'une liste deroulante


Sujet :

IHM

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Valeur par defaut d'une liste deroulante
    Bonjour,

    J'ai une question toute simple:
    Lorsque je souhaite entrer une valeur par defaut dans une liste deroulante, comment faire (je ne suis pas sur que fonctionne tout le temps) et surtout dans quel evenement le coder pour que quand le formulaire s'ouvre on puisse avoir le bon texte dans l'en tete de liste ??



    Merci d'avance.

    jpdar

  2. #2
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Tu as essayé de mettre ta valeur par défaut dans la propriété 'Valeur par défaut' du contrôle ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut Valeur par defaut d'une liste deroulante (suite)
    J'ai essaye: Ca marche dans le cas d'une liste de valeurs mais pas dans le cas ou la source est basée sur une table/requete, cas qui m'interesse.

    A+

    jpdar

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    As-tu essayé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Maliste.value = "MonTexte"
    et sur l'évèenement GotFocus de ta liste de lancer un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me.maliste.requery
    Pas testé, c'est jsute une idée

    Starec

  5. #5
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    dans la propriété ça devrait fonctionner même s'il s'agit d'une requête. Il faut naturellement que la valeur choisie corresponde à la colonne liée et non à la valeur affichée!

    autre possibilité c'est de faire sur l'ouverture du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me![mazone] = mavaleur par défaut
    ici aussi la valeur de la colonne liée

  6. #6
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut toujours pas
    Ni l'un ni l'autre ne marche.

    Dans la propriete valeur par defaut ca ne fonctionne pas et sur l'ouverture du formulaire j'ai un message d'erreur du type "impossible d'attribuer une valeur a cet objet", cela vient peut etre du fait que la liste deroulante n'est pas encore créee.

    En tout cas j'ai passe pas mal de temps dessus et pas de solution !!!!

    A bientot.

    jpdar

  7. #7
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    reprenons par le début.

    ta zone de liste c'est bien une zone de liste modifiable?

    maintenant ta zone de liste est elle indépendante ou a-t-elle un champs comme source?

    A+

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut zone de liste déroulante
    Ma zone de liste est déroulante , et possede une requete ou une table comme source donc elle n'est pas independante.

    Elle n'est pas modifiable, par contre ce qu'on peut faire c'est sélectionner un des item à la souris pour qu'il soit affiché.


    La question est de savoir si et comment je peux afficher un champ par defaut à l'ouverture du formulaire.


    Merci.

    jpdar

  9. #9
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    il faut distinguer 2 choses.

    1° comment tu remplis ta liste c'est à dire dans ton cas une table ou une requête. ce qui te permet d'afficher toutes les options possibles

    2° si elle est liée à un champs du formulaire donc la source contrôle est un champs du formulaire

    3° s'il est indépendant c'est à dire qu'il n'a pas de source contrôle

    Dans le cas 2 le formulaire s'ouvre et prend la valeur du champs. Dans ce cas si tu veux obtenir une "valeur par défaut" il te faudra positionner ton formulaire sur l'enregistrement que tu souhaites donc le faire à l'ouverture du formulaire.

    J'espère que j'ai compris ton problème.

    A+

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 29
    Points : 17
    Points
    17
    Par défaut suite
    Je rempli ma liste a partir d'une requete mais pas celle du formulaire.

    Merci

  11. #11
    Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 59
    Points : 66
    Points
    66
    Par défaut
    hello,
    et si tu mettais la valeur par défaut dans ta table au lieu du formulaire

    c'est juste une idée

    Jeff

  12. #12
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Salut,
    Si tu veux mettre une valeur par défaut, dans la propriété
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Valeur par défaut = Liste.Itemdata(Index de la ligne de liste que tu veux).
    En vba tu peux affecter La DefaultValue à une variable/Donnée.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MaVar = Me.liste.defaultValue
    Me.liste = Me.liste.defaultValue
    MAIS tu ne peux pas affecter une valeur à cette propriété en mode exécution (Mode formulaire).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.liste.defaultValue = Valeur
    ne passe pas normalement.

  13. #13
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    donc si j'ai bien compris ta liste est indépendante

    Dans ce cas tu peux mettre dans les propriétés de la liste à valeur par défaut une valeur que tu souhaites. Il faut par contre que ce soit une des valeur de la colonne liée, sinon ça ne fonctionne pas (j'ai testé)

    ou bien tu peux faire sur l'ouverture du formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    me![maliste] = mavaleurpar défaut(ici aussi la colonne liée)
    J'ai testé et ça fonctionne
    A+

  14. #14
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut Re: Valeur par defaut d'une liste deroulante (suite)
    Bonjour,

    Citation Envoyé par jpdar
    J'ai essaye: Ca marche dans le cas d'une liste de valeurs mais pas dans le cas ou la source est basée sur une table/requete, cas qui m'interesse.
    A+
    jpdar
    Pas si indépendante que ça Alexandre...

  15. #15
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Salut FAW,

    regardes le nouveau poste de jpdar et tu verras
    je suis bien d'accord avec toi que cette liste n'est pas indépendante

  16. #16
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Bin... si tu parles de ce poste
    http://www.developpez.net/forums/viewtopic.php?t=416430

    je crois que c'est clair. La liste est dépendante

  17. #17
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    Bonjour,

    le lien de faw a disparu, donc je ne sais pas ce qu'il contenait.
    Par contre, je vois une grosse confusion très courante :
    Binding : Une liste déroulante est dépendante si la propriété Source contrôle contient le nom d'un champ. Ce champ doit faire partie de la requête liée au formulaire (propriété Source du formulaire).

    Ceci n'a rien à voir avec le fait que les propriétés
    - Origine/Source, qui ici, doit être 'Table/Requête'
    - Contenu qui, ici, doit être le nom d'une requête (ou d'une table)
    soient renseignés.

    Pour être + clair encore, il faut bien réaliser qu'une liste déroulante est composée :
    1- d'une 'boîte de texte'(ou TextBox), ayant
    - une valeur, (propriété .Value)
    - une valeur par défaut, (.DefaultValue)
    - des évènements _BeforeUpdate, _AfterUpdate, etc. liés au changement de la valeur...
    - cette TextBox (donc le contrôle 'Liste déroulante') peut être dépendante (liée à un champ de la requête du formulaire) ou pas (si Source contrôle est vide).
    - la valeur doit correspondre à une des valeurs contenues dans la 'colonne liée' de la liste (voir 2- cidessous), si la propriété Limiter à liste = Oui. Sinon, rien ne s'affiche et il y a erreur.

    2- d'une partie 'liste déroulante', ayant
    - une source, normalement sans rapport avec la source de la textbox, sauf que la colonne liée doit contenir les mêmes valeurs, dans chaque ligne de la liste.
    - une colonne liée, où Access va chercher la valeur qu'il met dans la propriété .Value du contrôle.
    - de méthodes (.Requery, .Refresh...) pour mettre à jour cette liste, si son contenu a changé.
    Cette liste est toujours dépendante (d'une liste de valeurs ou d'une table/requête), sinon elle serait vide. Ceci ne rend pas le contrôle dépendant ou indépendant.

    Enfin, 3- une confusion peut encore apparaître parce que la TextBox n'affiche pas forcément la colonne liée ! donc la propriété .Value du contrôle ne sera pas visible sur le formulaire.
    Un exemple, cas extrêmement fréquent :
    - la colonne liée est la 1ère colonne (= 1)
    - cette colonne contient un code, une clé ou un identifiant (champ AutoNum, par exemple) qu'on ne veut pas voir,
    - la colonne 2 contient un nom ou un libellé significatif, qu'on veut afficher et utiliser pour faire son choix (meilleure ergonomie),
    - dans ce cas, les propriétés de l'onglet Format seront :
    + Nombre de colonnes : 2
    + Largeur colonnes : 0cm, 5cm (par exemple. Seul le 0 est important : 1ère colonne masquée)
    + Largeur Liste : 5cm

    Dans ce cas,
    - la colonne liée est bien le code, invisible,
    - la seule colonne visible est bien le nom,
    - quand on choisit un nom dans la liste, la propriété value indique le code correspondant (dont nous avons besoin dans nos calculs...)
    - c'est un code et pas un nom qu'il faut indiquer comme valeur par défaut (.DefaultValue)

    Si je relis les messages de jpdar, Alexandre avait raison la 1ère fois : cette liste est, apparemment, indépendante.
    À jpdar bien sûr, de nous confirmer : y a t'il quelque chose dans la propriété 'Source Contrôle' ou pas ?

    Et la question n'est toujours pas résolue... Pour cela, il faudra nous indiquer toutes les propriétés de ta liste concernées ci-dessus +
    - est-ce que la liste est dans un sous-formulaire ? (pas définie dans l'évènement Form_Load)
    - il s'agit bien d'une liste déroulante, et pas d'une liste modifiable (avec possibilité de multi-sélection) ?

  18. #18
    Faw
    Faw est déconnecté
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    1 169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 169
    Points : 1 383
    Points
    1 383
    Par défaut
    Ok Papy. Merci pour cette explication...magistrale.
    Mes excuses à Alexandre Sahli
    Mais un truc m'échape (encore un!)
    il s'agit bien d'une liste déroulante, et pas d'une liste modifiable (avec possibilité de multi-sélection) ?
    ça existe le multiselect sur combobox?

  19. #19
    Membre expérimenté
    Avatar de Papy Turbo
    Homme Profil pro
    Développeur Office/VBA
    Inscrit en
    Mars 2004
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Office/VBA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 822
    Points : 1 709
    Points
    1 709
    Par défaut
    non, pas de multiselect sur combo (liste déroulante), mais oui, sur liste modifiable (pas déroulante).
    Je sais, les termes sont ambigus, et on mélange allègrement les 2.

  20. #20
    Candidat au Club
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Essaye de rajouter :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.maliste.Value = Me.maliste.ItemData(0)
    Attention ! propriété value et non pas defaultvalue

Discussions similaires

  1. Valeur par defaut d'une liste déroulante
    Par Salsaboy60 dans le forum IHM
    Réponses: 3
    Dernier message: 13/02/2009, 12h16
  2. Réponses: 2
    Dernier message: 02/07/2008, 15h24
  3. valeur par defaut sur une liste déroulante
    Par FCL31 dans le forum IHM
    Réponses: 2
    Dernier message: 28/01/2008, 13h33
  4. prob du choix par defaut dans une liste deroulante
    Par _momo dans le forum Struts 1
    Réponses: 1
    Dernier message: 22/08/2007, 17h47
  5. Réponses: 5
    Dernier message: 26/04/2007, 11h42

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