Pb Zone de liste Access 2000

tatay67 Messages postés 6 Date d'inscription vendredi 2 avril 2004 Statut Membre Dernière intervention 29 juin 2004 - 29 juin 2004 à 18:03
cs_hasen Messages postés 246 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 29 décembre 2008 - 30 juin 2004 à 10:24
Salut, j'ai installé access 2000 sur un poste équipé de windows xp, et quand je crée un formulaire, je n'arrive plus à modifier une zone de liste. Je peux la compléter à partir d'une requête, mais il m'est impossible de rajouter des éléments manuellement. En effet, VBAccess ne reconnaît pas AddItem et RemoveItem quand je souhaite les associer à une zone de liste. Y a-t-il une manip spéciale à faire pour faire marcher des fonctions ?
Merci

1 réponse

cs_hasen Messages postés 246 Date d'inscription mercredi 14 avril 2004 Statut Membre Dernière intervention 29 décembre 2008 2
30 juin 2004 à 10:24
Je crois que ces fonctions ne sont plus disponibles, en tout cas je n'ai pas réussi à retrouver leur equivalent. Une solution consiste a passer par du code vba et d'utiliser la propriété RowSource de la liste déroulante, le problème etant qu'il n'est plus possible de remplir par une requete la liste, puis d'ajouter à la liste, car la propriété RowSourceType ne peut pas etre a la fois Tables/Requetes et Liste valeurs.
Ou alors, l'alternative serait de mettre la liste de type "Liste valeurs", puis de faire ta requete dans un recordset, d'ajouter une a une les valeurs a la liste, afin de pouvoir eventuellement a la fin pouvoir en ajouter dont voici un exemple :
dim db as database, rs as recordset
set db = currentdb()
set rs = db.openreocrdset(RequeteSQL, dbopendynaset)
Liste.RowSource = ""
while not rs.eof then
Liste.RowSource = Liste.RowSource & ";" & rs("ChpRequete")
rs.movenext
wend

Enfin cette solution n'est pas non plus parfaite, car la propriété RowSource ne peut prendre qu'un nombre limité de caractère (qui est cependant très important), mais si tu y met énormément de valeur, tu risques de dépasser cette taille et de faire planter le programme!

Si tu as d'autres questions n'hesites pas!

Ciao

Hasen
0