Liste déroulante

Résolu
niamor23 Messages postés 11 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 7 janvier 2009 - 21 mars 2006 à 10:54
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 - 10 avril 2006 à 11:07
Salut à tous,
Voici mon prb, j'a formulaire sous access, avec une liste déroulante, et je n'arrive pas à insérer des valeus les une en dessous des autres, je ne connait pas les methodes a utiliser dans visual basic.

Merci d'avance.

11 réponses

rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
21 mars 2006 à 13:32
Salut niamor23, salut jrivet,

essaies cela :

Me.NomDuListBox.RowSourceType = "Value List"
Me.NomDuListBox.RowSource = "test1;test2;test3"

ou utilise un ActiveX "Microsoft Forms 2.0 ComboBox"
et :
Me.CtlActiveX1.AddItem "test"

rvblogn
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 mars 2006 à 11:06
Salut,

Regarde si il n'y a pas un procedure qui s'appelle AddItem

NomDuListBox.AddItem("Toto")
Voila en esperant que ca t'aide

@+, Julien
Pensez: Moteur de Recherche, Réponse Acceptée
0
niamor23 Messages postés 11 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 7 janvier 2009
21 mars 2006 à 11:23
non la procedure ne si trouve pas. Ma liste déroulante est une zone de liste modifiable

a+
0
niamor23 Messages postés 11 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 7 janvier 2009
22 mars 2006 à 17:39
ok merci ça fonctionne mais comment ce fais t-il que les valeurs qui sont dans ma liste modifiable n'éxistent plus quand je passe du mode formulaire vers un autre mode (ex mode feuille de données).

merci

a+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
22 mars 2006 à 17:47
Salut niamor,

parceque tu les as ajoutées en mode exécution!
en mode création, fais :

originesource= Liste Valeurs 'ne mets pas de guillemets
contenu = test1;test2;test3 'là non plus

je suis pas sûr du tout du nom de ces 2 proriétés en français, mais c'est quelque chose d'approchant (par défaut, les valeurs doivent être originesource=Table/Requête, et contenu doit être vide, sauf si tu as utilisé l'assistant [si le bouton baguette magique est enfoncé])

PS: si tu aimes la réponse, appuies sur le bouton accepter, ça peut servir à ceux qui font une recherche sur le même thème.

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
niamor23 Messages postés 11 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 7 janvier 2009
27 mars 2006 à 17:26
g essayé mais ce n'est pas ça si je met pas de guillemet dans originesource, il m'indique 1 erreurs, et dans contenu je ne met pas de guillemet car je récupére le contenu d'une variable.

a+
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
27 mars 2006 à 17:33
Scuse, mais j'ai écrit :
"parceque tu les as ajoutées en mode exécution! en mode création, fais :"
et toi tu écris :
"le contenu d'une variable"

je ne comprends plus!

à tout de suite,

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
niamor23 Messages postés 11 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 7 janvier 2009
27 mars 2006 à 17:54
moi non plus je ne comprend plus, voici mon code
Me.NUMEROS_ROMANS.RowSourceType = "Liste Valeurs"
Me.NUMEROS_ROMANS.RowSource = nums

nums est une variable qui récupére des numéros, séparés par un ;

a+
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
27 mars 2006 à 18:24
Au temps pour moi,

j'ai mal lu ce que tu as écris en parenthèses (mode feuille de données).
Ceci dit, si tu exécutes ces 2 instructions dans le Form_Load (ce que je fais), tu remplis ta combo aussi en mode feuilles de données (ce que je vois)!

Alors, qu'est-ce qui m'échappe?


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
niamor23 Messages postés 11 Date d'inscription lundi 20 mars 2006 Statut Membre Dernière intervention 7 janvier 2009
10 avril 2006 à 09:59
Me revoila, je réexplique en détail. Quand je rendre des valeurs dans une zone de texte, puis ensuite je valide par un bouton, je vois bien mes valeurs dans ma liste déroulantes, mais l'inconvénient c que même en enregistrant mes données, si je quitte le formulaires, puis je reviens aprés il n'y sont plus aussi bien dans le formulaire que dans la feuille de données.
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
10 avril 2006 à 11:07
Salut niamor23,

si je comprends bien ce qu'il t'arrive, pendant l'exécution, tu ajoutes (par un moyen qui t'appartient) des éléments dans ta liste déroulante (et cela fonctionne), et ceux-ci ne ré-apparaissent pas si ton formulaire est déchargé, puis rechargé (donc s'il a l'occasion, une fois réinitialisé, de remplir à nouveau ta liste déroulante).

Expliqué comme ci-dessus, tu peux comprendre que lorsque le formulaire a été réinitialisé (déchargé, puis rechargé ), et qu'il entreprend de remplir la liste déroulante, il convient de savoir où il va chercher les valeurs qu'il souhaite y faire ré-apparaître.

Si des valeurs sont ré-injectées par le biais d'un bloc d'instruction, et que ces valeurs sont des constantes (en dur dans le code), il n'éprouve aucun mal à les ré-afficher.

Si ces valeurs n'ont eu qu'une (elles n'existaient donc qu'en mémoire de masse virtuellephysique), puisque l'on a une nouvelle instance du formulaire, tout ce qui n'a pas été sérialisé (enregistré sur une mémoire de masse physique) est perdu, et le formulaire est dans l'impossibilité de le ré-afficher.

Donc, la solution réside dans la sérialisation de ce que l'utilisateur de ton application (tout au moins, de ton formulaire) est amené à saisir. Et là, tu as un choix large sur les moyens d'y parvenir : fichier externe (binaire ou texte), base de données (le plus simple lorsqu'on est sous Access), ou sac de propriété (PropertyBag, si tu as modélisé une classe, VB offre la possibilité de sérialiser une de ses instances [à vérifier en VBA]),...

Si tu choisis de sérialiser dans ta base de données, il conviendra peut-être de changer le mode de fonctionnement interne du remplissage de la liste et de la saisie de nouvelles valeurs :

1./ tu implémentes une fonction de lecture des valeurs d'une table, et de remplissage de liste déroulante avec ces valeurs.
2./ tu modifies l'implémentation de la saisie des nouvelles valeurs. Celles-ci ne doivent déroulante, mais dans la table de donnéeset au raffraichissement, grâce à ta fonction de remplissage, elles apparaîtront dans ta liste déroulante).

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
Rejoignez-nous