VBA -> access -> liste deroulante - VB/VBA/VBS - Programmation
Marsh Posté le 28-04-2003 à 09:42:22
doumoyamamoto a écrit : Voila j'aimerais faire une liste déroulante dans un formulaire ou les choix soit en fonction du résultat d'une premiere liste déroulante de ce même formulaire |
[/citation]
Je suis pas sur d'avoir bien compris, mais tu vas me dire si je me trompes :
Tu as une première listbox. Sur cette listbox, ton programme gère l'évenement OnChange().
Toi tu veux que le contenu (ou plutot l'item selectionné) varie lors de cet évenement. c bien ca ?
Si c'est ca :
Ta listbox (la deuxieme) possede une proprieté du genre gnagnaIndex.
Tu la change en faisant ListBox2.gnagnaIndex(indice)
indice étant la position de l'entrée à selectionner dans ta listbox bien sur (l'indice commence à 0)
Voila... j'en sais pas plus moi.
Marsh Posté le 28-04-2003 à 09:55:12
je pense qu'il a voulu dire le contenu, donc recharcher la combo en fonction de l'item sélectionné dans la première combo. Ben en Access, je dirais a priori de jeter un oeil sur la propriété RowSource, que tu modifies avec une requête SQL adéquate, puis refresh si c'est pas automatique.
Marsh Posté le 28-04-2003 à 10:02:41
drasche a écrit : je pense qu'il a voulu dire le contenu, donc recharcher la combo en fonction de l'item sélectionné dans la première combo. Ben en Access, je dirais a priori de jeter un oeil sur la propriété RowSource, que tu modifies avec une requête SQL adéquate, puis refresh si c'est pas automatique. |
ben en faisant des requetes sql, tu as accès à tous les champs que tu veux, donc après c'est addItem ou removeItem (??) sur la listbox ?
Marsh Posté le 28-04-2003 à 10:08:05
backdafuckup a écrit : ben en faisant des requetes sql, tu as accès à tous les champs que tu veux, donc après c'est addItem ou removeItem (??) sur la listbox ? |
j'ai peur de deviner ce que tu veux dire: ajouter ou supprimer des champs? c'est pas à ça que servent les fonctions, plutôt à gérer les items qui apparaissent dans la combo. Le truc c'est qu'une combo peut recevoir une requête avec plus d'une colonne, afficher une seule d'entre elles, et faire le lien entre une colonne précise et le champ de ton choix dans la form, sachant que ce champ fait partie de la source liée au form. Tu me suis toujours?
bon ça c'est pour ce que je me souviens parce que je fais plus trop d'access là
Marsh Posté le 28-04-2003 à 10:18:11
drasche a écrit : |
Euh.... je sais pas... C'est le coup du form que j'ai pas pigé, c'est quoi un form ?
Moi je me basais sur mes vieilles références vb...
Pour modifier une listbox (ou combo), je faisais :
connexion à la base access,
requete de selection de x entrées de la base
pour chaque entrée de la base
listbox.additem(entree de la base)
finpour
listbox.gnagnaitem(0)
//cette derniere ligne avait pour but de selectionner par
//defaut le premier élément de la liste
Marsh Posté le 28-04-2003 à 10:21:52
on parle Access ici, la form Access est intrinsèquement liée à une source de données (tout se base là dessus en fait), donc chaque contrôle à l'écran est lié à un champ de cette source. Et quand on veut faire intervenir une autre source pour remplir un champ de la form, on prend une combo et on fait ce que j'ai dit dans mon post précédent: on assigne une source de données propre à la combo (via RowSource). Avec le wizard c'est vachement plus facile
la méthode que tu donnes est valable effectivement pour VB6 (mais exploitable dans ce cas-ci également).
Marsh Posté le 28-04-2003 à 10:23:42
drasche a écrit : on parle Access ici, la form Access est intrinsèquement liée à une source de données (tout se base là dessus en fait), donc chaque contrôle à l'écran est lié à un champ de cette source. Et quand on veut faire intervenir une autre source pour remplir un champ de la form, on prend une combo et on fait ce que j'ai dit dans mon post précédent: on assigne une source de données propre à la combo (via RowSource). Avec le wizard c'est vachement plus facile |
ah ok.... c'est plus clair la du coup... mais faudrait que ce soit celui qui a posté le topic qui le lise... parce que moi je fais plus d'access...
(et c'est VB5, pas le 6, mon iut était trop pauvre...)
Marsh Posté le 28-04-2003 à 10:33:40
Franchement, il n'y a pas de différence fondamentale entre les versions 5 et 6, si ce n'est (pour moi) qu'on peut charger dynamiquement les usercontrols ce qui est bien pour charger plus rapidement une application qui en ferait grand usage
Marsh Posté le 28-04-2003 à 10:37:22
drasche a écrit : Franchement, il n'y a pas de différence fondamentale entre les versions 5 et 6, si ce n'est (pour moi) qu'on peut charger dynamiquement les usercontrols ce qui est bien pour charger plus rapidement une application qui en ferait grand usage |
je n'ai aucun avis sur la question a vrai dire, vu que je n'ai utilisé la version 5 que pour un programme simple (appli de gestion de comptes bancaires, bd access à l'appui). Mais vb6 est tres bien en tout cas...
Marsh Posté le 27-04-2003 à 21:57:09
Voila j'aimerais faire une liste déroulante dans un formulaire ou les choix soit en fonction du résultat d'une premiere liste déroulante de ce même formulaire
G deja mis en place sur un evenement sur la mise à jour de la premiere liste déroulante et récupéré la valuer
ce que je ne sias pas faire c'est de modifier les choix de la seconde liste déroulante
meci pour votre coup de main
---------------
:jap: doumoyamamoto :jap: