OVH Cloud OVH Cloud

rafraichir les donnees d'une zone de liste

23 réponses
Avatar
ALF
Bonjour,
comment peut on rafraichir les donnees d une zone de liste,lorsque plusieurs
valeurs sont selectionnes sur une autre zone de liste. ces 2 zones de liste
etant sur le meme formulaire.
sur la 2eme zone de liste,un filtre (representant les choix de la premiere
zone de liste) est appliqué sur donnes/contenu mais je n'arrive pas a
raffraichir les donnees de cette 2eme zone de liste...je voudrais placer la
procedure suivante:
Private Sub lstpays_Change
Me.lstVille.Requery
End Sub
Mais je ne sais pas ou la placer!!!
Merci de votre soutien
--
ALF

10 réponses

1 2 3
Avatar
ALF
bonjour,
Bon,et bien nous en resterons la....
Un grand MERCI pour tous ces renseignements...@+
--
ALF



re,

"ALF"
[...]
| je me permet de te demander une derniere question pour satisfaire ma
| curiosité,comment aurait il fallu proceder si j'avais opté pour la methode
| VBA sans passer par la methode zone de texte intermediaire ??? Quelle aurait
| été la procedure ou Code ???


Il faut tout créer par VBA...
Y compris la requête que tu attribue à la source des listes.

Il doit bien exister un petit tuto quelque part, sinon, j'en ferais bien un, un jour...

;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/






Avatar
ALF
re,
1° pointer vers la textbox?? cela veut dire quoi exactement?? Doit on mettre
un lien dans les proprietes de la textbox...si oui..ou??De plus doit on
enlever le lien dans les propriétés de le 2eme zone de liste et si oui ,quoi
mettre a la place???

2° NomListe= le nom de ta liste...mais quelle liste?? La 1ere ou la2eme ??
Merci d' avance

--
ALF



re,

"ALF"
| merci pour ces renseignements trés utiles,mais pourrais tu justement me dire :
| 1/ quelle procedure VBA faut il utiliser pour savoir ce qui est selectionné
| dans une zone de liste et provoquer le filtrage automatique sur la 2eme zone
| de liste...
| 2/ de la meme facon,comment s'y prendre pour creer une zone de texte
| intermediaire afin de savoir ce qui est selectionné dans la 1ere zone de
| liste puis provoquer le filtage automatique sur la 2eme zone de liste..


Le plus simple...
Quelque part sur ton formulaire, tu crée une petite zone de texte
(après les tests, tu pourras la rendra invisible...)
Sur "Après mise à jour" de la liste, tu écris:

Me.Texte0 = Me.NomListe.Column(X, Me.NomListe.ListIndex)

Texte0 = le nom de ta textbox ajoutée
NomListe = le nom de ta liste...
X = le numéro de ta colonne (qui commence par 0)

maintenant, il suffit que la requête de ta seconde liste pointe
vers le textbox au de pointer la liste ;-)

| 3/ en ce qui concerne le rajout de l element "selectionner tout",je voulais
| simplement avoir la possibilité de tout selectionner plutot que de
| selectionner un par un les elements de la liste,meme si l'utilite combiné
| avec la 2eme liste n'est pas necessaire..ce qui eviterait d'autre part a
| creer un autre bouton et donc de faire d une pierre 2 coups!! je reste donc
| interressé par cette option mais comment faire pour rajouter celle ci???


Cela revient plutôt à dire : si pas de sélection... alors je veux tout !
Pour cela, on modifie la clause de la requête comme expliqué ici :
http://www.mvps.org/accessfr/queries/qry0001.htm


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,

"ALF"
| 1° pointer vers la textbox?? cela veut dire quoi exactement?? Doit on mettre
| un lien dans les proprietes de la textbox...si oui..ou??De plus doit on
| enlever le lien dans les propriétés de le 2eme zone de liste et si oui ,quoi
| mettre a la place???
|
| 2° NomListe= le nom de ta liste...mais quelle liste?? La 1ere ou la2eme ??
| Merci d' avance


Je ne comprends pas bien ce message... après celui de 00:16 heures !


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
ALF
bonjour Pierre?
Et désolé pour le retour à ce problême..
j'avais effectivement annoncé que tout marchait parfaitement,mais il ne
s'agissait que de la partie : rajouter l'option "tout selectionner" ou mes
tests ont ete concluant...
cependant j'avais oublié la partie :"utiliser une zone de texte
intermediaire" pour provoquer le filtrage automatique de la 2eme zone de
liste et la j'ai quelques soucis suite a ton message du 23/01 12:13...que
voulais tu dire par ,la requete de la seconde liste doit "pointer" vers la
zone de texte au lieu de la liste??? Que faut il faire justement pour
pointer vers cette zone de texte et ou faut il placer le lien???

D'autre part, tu disais aussi NomListe = le nom de ta liste...mais justement
quelle liste??? La premiere zone de liste ou la seconde????
Merci.

--
ALF



re,

"ALF"
| 1° pointer vers la textbox?? cela veut dire quoi exactement?? Doit on mettre
| un lien dans les proprietes de la textbox...si oui..ou??De plus doit on
| enlever le lien dans les propriétés de le 2eme zone de liste et si oui ,quoi
| mettre a la place???
|
| 2° NomListe= le nom de ta liste...mais quelle liste?? La 1ere ou la2eme ??
| Merci d' avance


Je ne comprends pas bien ce message... après celui de 00:16 heures !


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,

"ALF"
[...]
| cependant j'avais oublié la partie :"utiliser une zone de texte
| intermediaire" pour provoquer le filtrage automatique de la 2eme zone de
| liste et la j'ai quelques soucis suite a ton message du 23/01 12:13...que
| voulais tu dire par ,la requete de la seconde liste doit "pointer" vers la
| zone de texte au lieu de la liste??? Que faut il faire justement pour
| pointer vers cette zone de texte et ou faut il placer le lien???
|
| D'autre part, tu disais aussi NomListe = le nom de ta liste...mais justement
| quelle liste??? La premiere zone de liste ou la seconde????


la seconde liste à une requête comme source...
et le critère (pour filtrer) de cette liste doit pointer la zone de texte !

Forms!TonForm!LaZonedeTexte

pour quelle soit limitée à la valeur sélectionné dans la première liste
(valeur qui se retrouve en fait dans la zone de texte)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
ALF
re,
en faisant comme tu dis ,j'ai le message suivant:
" Microsoft access ne peut trouver la macro 'Me'.
la macro ou son groupe de macros n'existe pas ou la macro est nouvelle mais
n'a pas ete enregistree.
remarquez que lorsque vous entrez la syntaxe nomgroupemacro.nommacro dans un
argument,vous devez specifier le nom sous lequel le groupe de macros de la
macro a ete enregistre la derniere fois. "
que faut il faire car apparemment mon formulaire est bien enregistré...
merci

--
ALF



re,

"ALF"
[...]
| cependant j'avais oublié la partie :"utiliser une zone de texte
| intermediaire" pour provoquer le filtrage automatique de la 2eme zone de
| liste et la j'ai quelques soucis suite a ton message du 23/01 12:13...que
| voulais tu dire par ,la requete de la seconde liste doit "pointer" vers la
| zone de texte au lieu de la liste??? Que faut il faire justement pour
| pointer vers cette zone de texte et ou faut il placer le lien???
|
| D'autre part, tu disais aussi NomListe = le nom de ta liste...mais justement
| quelle liste??? La premiere zone de liste ou la seconde????


la seconde liste à une requête comme source...
et le critère (pour filtrer) de cette liste doit pointer la zone de texte !

Forms!TonForm!LaZonedeTexte

pour quelle soit limitée à la valeur sélectionné dans la première liste
(valeur qui se retrouve en fait dans la zone de texte)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,

"ALF"
| en faisant comme tu dis ,j'ai le message suivant:
| " Microsoft access ne peut trouver la macro 'Me'.
| la macro ou son groupe de macros n'existe pas ou la macro est nouvelle mais
| n'a pas ete enregistree.
| remarquez que lorsque vous entrez la syntaxe nomgroupemacro.nommacro dans un
| argument,vous devez specifier le nom sous lequel le groupe de macros de la
| macro a ete enregistre la derniere fois. "
| que faut il faire car apparemment mon formulaire est bien enregistré...


ou as tu collé ce critère ??

la seconde liste (liste2) doit limiter ses enregistrements selon le choix de la liste1
la liste2 est basée sur une requête dans laquelle le champ qui va bien possède
comme critère le choix de la liste1
- le choix de la liste1 est placé dans le textbox
- donc le critère dans la liste2 pointe (indique) le textbox à l'aide de:

Forms!NomDuForm!NomDuTextbox


A part un dessin, je ne saurais être plus clair ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Avatar
ALF
Re,
j'ai bien collé le critère sur la requete source Nommé FILTRE DR comme tu me
l'a indiqué Forms!CHOIX DR!ZTAMPON, avec CHOIX DR = NomduForm et ZTAMPON=
NomduTexbox..
j'ai remarqué aussi qu' en utilisant l'outil "CREER" dans la requete FILTRE
DR? Access me proposait Formulaires![CHOIX DR]![ZTAMPON] mais cela n'a pas
marché non plus...et de la même facon Formulaires!CHOIX DR!ZTAMPON sans
resultat non plus..
je te donne plus de details sur les 2 listes et sur la textbox...
Liste1 =ZLISTE DR Liste2=ZLISTE US Zonedetexte=ZTAMPON Donnee source de
Liste1=LISTE DR
Sur Liste1 dans dans contenu: SELECT [LISTEDR].[DR] FROM [LISTE DR];
Colonne liée=1 nbcolonne=1 dans autres:selection multiple:simple arret
tabulation:oui index tabulation=0 Dans Evenement APRES MIS A JOUR:Me.ZTAMPON
= Me.ZLISTE DR.Column(0,Me.ZLISTE DR.ListIndex)
Sur Liste2 dans dans contenu: FILTRE DR
Colonne liée=1 nbcolonne=2 dans autres:selection multiple:simple arret
tabulation:oui index tabulation=2 Dans Evenement APRES MIS A JOUR:c'est vide
Sur Zone de texte dans dans donnees: Nom=ZTAMPON source controle:c'estvide
valeur par defaut:c'estvide validesi:c'estvide
Quand au formulaire en question la source =LISTE DR
filtrage,modif,suppr,ajou: oui filtrage autorise :oui entree donnees:non
type recordset:feuille de reponse dynamique verrouillage:aucun
dans outil relation dans la bdd,j'ai fait une jonction simple de type1 entre
les tables LISTE DR ET LISTE US sur le champs DR..LISTE US est la TABLE
source de la requete FILTRE DR et FILTRE DR contiend 2 champs DR et US Issus
de LISTE US
Je ne sais plus quoi dire pour t'aiguiller sinon que je suis désolé de
t'impliquer dans ce petrin !!!
Merci pour ta patience...


--
ALF



re,

"ALF"
| en faisant comme tu dis ,j'ai le message suivant:
| " Microsoft access ne peut trouver la macro 'Me'.
| la macro ou son groupe de macros n'existe pas ou la macro est nouvelle mais
| n'a pas ete enregistree.
| remarquez que lorsque vous entrez la syntaxe nomgroupemacro.nommacro dans un
| argument,vous devez specifier le nom sous lequel le groupe de macros de la
| macro a ete enregistre la derniere fois. "
| que faut il faire car apparemment mon formulaire est bien enregistré...


ou as tu collé ce critère ??

la seconde liste (liste2) doit limiter ses enregistrements selon le choix de la liste1
la liste2 est basée sur une requête dans laquelle le champ qui va bien possède
comme critère le choix de la liste1
- le choix de la liste1 est placé dans le textbox
- donc le critère dans la liste2 pointe (indique) le textbox à l'aide de:

Forms!NomDuForm!NomDuTextbox


A part un dessin, je ne saurais être plus clair ;-)


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/




Avatar
3stone
re,



Ta base ne peut pas être bien grosse...
- fait une copie
- éventuellement vider les tables en laissant juste quelques données exemples
- envois la moi sur mon mail...


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
3stone
Recu et retourné !


Beaucoup d'erreurs pour quelques objets...

- utilisation de noms d'objets avec espace
- utilisation de tables pour créer des listes sans clé primaire numérique
ce qui oblige à lier des champs alphanumérique tel que des noms de régions
- code VBA non placé dans la procédure mais sur l'appel à la procédure !
- ...


Conclusion:
Malheureusement, un cas typique de problèmes qui montre que l'utilisateur
ne s'est pas donné la peine de passer un peu de temps sur les sites
que nous indiquons ici depuis pas mal d'années :

http://www.mpfa.info/articles.php?lng=fr&pg Introduction à Access

tel que (un cours complet en PDF)
http://enseignement.insset.u-picardie.fr/deug/ti/cours/access/


--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
Conseils MPFA: http://www.mpfa.info/
1 2 3