cs_Benz
Messages postés196Date d'inscriptionjeudi 3 janvier 2002StatutMembreDernière intervention 7 juin 2007
-
5 févr. 2005 à 18:10
cs_Benz
Messages postés196Date d'inscriptionjeudi 3 janvier 2002StatutMembreDernière intervention 7 juin 2007
-
6 févr. 2005 à 14:22
Bonjour,
Je souhaiterais faire changer le contenu d'une liste déroulante en fonction d'un choix dans le contenu d'une autre liste.
La liste 1 contient quelques lignes (j'ai lié cette liste à une requete par la fenetre des propriétés).
Voici le code que j'ai. Je n'ai pas d'erreur, mais le problème, c'est
que ma liste 2 n'est renseignée par... rien. Je la vois bien qui se
rafraichie à l'écran mais elle reste vide. Je précise que cette liste
n'est liée à aucune table ou requete par la fenetre propriété. Elle ne
doit contenir des données que si l'on sélectionne quelques chose dans
la liste 1.
Private Sub lstCodeClient_Change()
lstCodeChantier.RowSource "SELECT * FROM Chantiersvendus WHERE CodeClient '" & lstCodeClient.Text & "' AND chantiertermine = False "
Debug.Print lstCodeChantier.RowSource
lstCodeChantier.Requery
End Sub
Si quelqu'un peut me dire ce qui cloche... merci.
J'ai surement oublié un truc, mais je vois pas quoi...
cs_Benz
Messages postés196Date d'inscriptionjeudi 3 janvier 2002StatutMembreDernière intervention 7 juin 2007 6 févr. 2005 à 14:18
Ne cherchez plus, j'ai la solution à mon problème.
Le code que j'ai indiqué plus haut est presque correct, il faut modifier la requete comme ceci :
lstCodeChantier.RowSource "SELECT Chantiersvendus.CodeChantier FROM Chantiersvendus WHERE CodeClient '" & lstCodeClient.Text & "' AND chantiertermine = 0;"
Dans la liste 2, par la fenetre des propriétés, j'ai aussi indiqué dans
l'onglet données, la source de controle (le nom du champ) et la
l'origine de la source (table/requete) sans indiquer de contenu.
Le résultat que je cherchait est ok grace à ces modifications.
On pourrait obtenir la même chose sans taper de code, en spécifant la
requete qui va bien dans la zone "contenu" que j'ai laissé vide.
Je vous invite à visiter cette page que j'ai réussi à trouver et qui
explique assez bien comment créer cette requete en prenant un paramètre.
cs_Stephane33
Messages postés630Date d'inscriptionsamedi 15 février 2003StatutModérateurDernière intervention 9 octobre 20111 5 févr. 2005 à 23:23
Sous access, soit une fois que tu as effectué ton choix, associe un
événement à un bouton qui charge tes données dans la seconde liste.(Tu
selectionnes et tu clic). Le but est de décharger les données et de les
recharger dans ta liste.. sinon voit Docmd....
Juste faites-le
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Benz
Messages postés196Date d'inscriptionjeudi 3 janvier 2002StatutMembreDernière intervention 7 juin 2007 6 févr. 2005 à 12:58
Merci, mais pour l'ergonomie, c'est pas terrible de sélectionner et de cliquer ensuite.
Ce que je ne comprend pas en fait, c'est que ma liste se recharge bien
(je vois un trésaillement à l'écran sur la liste seulement dés que j'ai
sélectionné une valeur dans la liste 1), mais que les données
n'apparaissent pas.
A quoi sert exactement le .requery ?
Sinon, j'arrive à attribuer une valeur à la liste 2 dés que je
sélectionne une valeur dans la liste 1, mais il ne s'agit que d'une
seule valeur (et pas d'une liste de valeurs comme le le souhaiterais,
en plus provenant d'une requete).