tatay67
Messages postés6Date d'inscriptionvendredi 2 avril 2004StatutMembreDernière intervention29 juin 2004
-
29 juin 2004 à 18:03
cs_hasen
Messages postés246Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention29 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
cs_hasen
Messages postés246Date d'inscriptionmercredi 14 avril 2004StatutMembreDernière intervention29 décembre 20082 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!