VBA -> access -> liste deroulante

VBA -> access -> liste deroulante - VB/VBA/VBS - Programmation

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:
Reply

Marsh Posté le 27-04-2003 à 21:57:09   

Reply

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
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
 


 
[/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.

Reply

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.


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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 ?

Reply

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? :D
 
bon ça c'est pour ce que je me souviens parce que je fais plus trop d'access là :/


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 28-04-2003 à 10:18:11    

drasche a écrit :


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? :D
 
bon ça c'est pour ce que je me souviens parce que je fais plus trop d'access là :/


 
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... [:spamafote]
 
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

Reply

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 :D
 
la méthode que tu donnes est valable effectivement pour VB6 (mais exploitable dans ce cas-ci également).


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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 :D
 
la méthode que tu donnes est valable effectivement pour VB6 (mais exploitable dans ce cas-ci également).


 
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...)

Reply

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 :)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

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...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed