[ACCESS & VBA] 2 Liste Box dont une reposant sur une requete

cs_DrFeelGood Messages postés 4 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 8 juillet 2005 - 8 juil. 2005 à 10:19
cs_DrFeelGood Messages postés 4 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 8 juillet 2005 - 8 juil. 2005 à 11:53
Bonjour,

je suis debutant sous access vb et je me rend fou sur un truc super simple...

J'ai 2 listbox dans mon formulaire.

Lors d'un dbl clik sur un element de lst_all je fait

lst_sel.AddItem (lst_all.ItemData(itm))

lst_all.RemoveItem (itm)

Or les item contenu dans lst_all repose sur une requete

SELECT DISTINCT TOP 100 PERCENT COUNTRY

FROM dbo.customer

ORDER BY COUNTRY

Lorsque j'essaye de faire fonctionner le programme il me sors un
message d'erreur comme quoi lst_all repose sur une requete et de ce
fait on ne peut enlever un item de cette liste.

Moi ce que j'aimerais c'est recuperer la liste de mes pays (pour ceux qui ne save pas ce que veut dire country )
dans la liste lst_all avec possibilité d'enlever les item sans les
modifier dans la db (et sans message derreur si possible :p)

Je pense qu'il faut jouer sur la propriété "Origine Source" mais ca ne
me sors plus les resultat de ma requete dans la liste apres RAAAH ^^

1 réponse

cs_DrFeelGood Messages postés 4 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 8 juillet 2005
8 juil. 2005 à 11:53
C'est bon j'ai trouvé une solution en créant une troisieme liste
(lst_hidden) basée sur une requete qui rempli lst_all au form_load avec
une boucle while

Bon ça fait un peu bricolage si quelq'un connait plus propre je veus bien ;)

Private Sub Form_Load()

Dim cpt As Integer

Do While lst_all.ListCount > 0

lst_all.RemoveItem (0)

Loop

Do While lst_sel.ListCount > 0

lst_sel.RemoveItem (0)

Loop

cpt = 0

While cpt < lst_hidden.ListCount

lst_all.AddItem (lst_hidden.ItemData(cpt))

cpt = cpt + 1

Wend



End Sub
0