OVH Cloud OVH Cloud

probléme de liste

11 réponses
Avatar
jean marc
Bonjour,
Voila mon problème.
J'ai un formulaire constitué de 4 zones de liste :
- Pays
- Régions
- Appellations
- listevins

Quand l'utilisateur sélectionne un pays, la liste des régions se met à jour
en fonction du pays, puis un clic sur une région fait apparaître la liste
des appellations de cette région et enfin un clic sur une appellation liste
dans le dernier contrôle les vins en cave appartenant à cette appellation.
Bon, jusque là tout marche bien.
Je voudrais améliorer le côté ergonomique en faisant disparaître les
sélections précédentes quand je clique sur un nouveau pays, et ainsi
recommencer la procédure. Mais pas moyen !
J'ai tenté des requery mais ça relance le select. J'ai tenté "définir
valeur" en effectant des null mais pareil.

Je cherche une idée pour remettre à "zéro" ces zones de liste d'un
formulaire.
Si quelqu'un a cette idée je le remercie par avance.

Jean Marc

10 réponses

1 2
Avatar
le méruvien
bonjour,
apres maj de la 1er liste, tu met:
me![2eme liste].requery



"jean marc" a écrit dans le message de news:
42ab36f9$0$25039$
Bonjour,
Voila mon problème.
J'ai un formulaire constitué de 4 zones de liste :
- Pays
- Régions
- Appellations
- listevins

Quand l'utilisateur sélectionne un pays, la liste des régions se met à
jour
en fonction du pays, puis un clic sur une région fait apparaître la liste
des appellations de cette région et enfin un clic sur une appellation
liste
dans le dernier contrôle les vins en cave appartenant à cette appellation.
Bon, jusque là tout marche bien.
Je voudrais améliorer le côté ergonomique en faisant disparaître les
sélections précédentes quand je clique sur un nouveau pays, et ainsi
recommencer la procédure. Mais pas moyen !
J'ai tenté des requery mais ça relance le select. J'ai tenté "définir
valeur" en effectant des null mais pareil.

Je cherche une idée pour remettre à "zéro" ces zones de liste d'un
formulaire.
Si quelqu'un a cette idée je le remercie par avance.

Jean Marc



Avatar
Pierre CFI [mvp]
bonjour
quand tu fais un afterupdate sur une liste, faire un requery sur les liste suivantes

evenement afterupdate de list1
Me.list2.requery
Me.list3.requery
Me.list4.requery
puis sur
evenement afterupdate de list2
Me.list3.requery
Me.list4.requery
etc...
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"jean marc" a écrit dans le message de news: 42ab36f9$0$25039$
Bonjour,
Voila mon problème.
J'ai un formulaire constitué de 4 zones de liste :
- Pays
- Régions
- Appellations
- listevins

Quand l'utilisateur sélectionne un pays, la liste des régions se met à jour
en fonction du pays, puis un clic sur une région fait apparaître la liste
des appellations de cette région et enfin un clic sur une appellation liste
dans le dernier contrôle les vins en cave appartenant à cette appellation.
Bon, jusque là tout marche bien.
Je voudrais améliorer le côté ergonomique en faisant disparaître les
sélections précédentes quand je clique sur un nouveau pays, et ainsi
recommencer la procédure. Mais pas moyen !
J'ai tenté des requery mais ça relance le select. J'ai tenté "définir
valeur" en effectant des null mais pareil.

Je cherche une idée pour remettre à "zéro" ces zones de liste d'un
formulaire.
Si quelqu'un a cette idée je le remercie par avance.

Jean Marc



Avatar
jean marc
"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
quand tu fais un afterupdate sur une liste, faire un requery sur les liste
suivantes


Merci pour vos réponses.


C'est exactement ce que je fais !
Mais alors rien ne bouge. Les listes restent avec la sélection précédente
jusqu'à ce que je reclique sur la région. Si bien que je me trouve à l'écran
avec un pays et une appellation qui n'est pas du pays.
Pas grave... mais énervant.
Et je ne trouve pas de solution propre.

Merci quand même...
Je vais passer mon dimanche à réfléchir...et qui sait !!

Avatar
Pierre CFI [mvp]
.../...
essaie
Me.list2.requery
Me.list2 = Null
Me.list3.requery
Me.list3 =Null
Me.list4.requery
Me.list4 =Null

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net

"jean marc" a écrit dans le message de news: 42abcb36$0$1249$
"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
quand tu fais un afterupdate sur une liste, faire un requery sur les liste
suivantes


Merci pour vos réponses.


C'est exactement ce que je fais !
Mais alors rien ne bouge. Les listes restent avec la sélection précédente
jusqu'à ce que je reclique sur la région. Si bien que je me trouve à l'écran
avec un pays et une appellation qui n'est pas du pays.
Pas grave... mais énervant.
Et je ne trouve pas de solution propre.

Merci quand même...
Je vais passer mon dimanche à réfléchir...et qui sait !!




Avatar
jean marc
"Pierre CFI [mvp]" a écrit dans le message de
news:
.../...
essaie
Me.list2.requery
Me.list2 = Null


Ben ça aussi j'ai essayé... sans succès...
Ma liste reste désespérément bloquée sur le choix antérieur...

That is a big mystère !
Je suis là en train de me taper le bouquin de référence access 2000... tout
en surveillant de temps en temps le forum.

Merci encore...

Avatar
Eric
Bonjour
et sur l'évènement Sur Réception Focus de la zone de liste Pays, si
tu mets
Appellations.Value = Null
Listevins.value= Null

Ca devrait faire l'affaire, non ?
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

"Pierre CFI [mvp]" a écrit dans le message de
news:

.../...
essaie
Me.list2.requery
Me.list2 = Null



Ben ça aussi j'ai essayé... sans succès...
Ma liste reste désespérément bloquée sur le choix antérieur...

That is a big mystère !
Je suis là en train de me taper le bouquin de référence access 2000... tout
en surveillant de temps en temps le forum.

Merci encore...




Avatar
jean marc
"Eric" a écrit dans le message de news:
#zyB$
Bonjour
et sur l'évènement Sur Réception Focus de la zone de liste Pays, si
tu mets
Appellations.Value = Null
Listevins.value= Null

Ca devrait faire l'affaire, non ?


Nan... j'avais déjà essayé... je viens de la refaire par acquis de
conscience, mais nan !
C'est un truc de ouf!
Et je suis sur que quand j'aurais trouvé je me mettrai une baffe...

Avatar
jean marc
"jean marc" a écrit dans le message de news:
42ab36f9$0$25039$
Bonjour,
Voila mon problème.
Je cherche une idée pour remettre à "zéro" ces zones de liste d'un
formulaire.


Bon ça avance...
Si je remplace les "zones de listes" par des "zones de listes modifiables"
ça marche !
Bien sûr ça change l'aspect de mon formulaire et ça ne résoud pas à
proprement parler le problème (comment remettre la zone de liste vide ?)
mais enfin...

Avatar
GoThi
Perso, je fais ainsi :

AfterUpdate de la liste déroulante
'Mise à jour de la liste
me.MonChamp.requery
'Sélection de la première valeur de la liste
me.MonChamp = me.MonChamp.itemdata(0)
pour chaque liste déroulante

@+
GoThi

"jean marc" a écrit dans le message de news:
42ac1cc6$0$25044$
"Eric" a écrit dans le message de news:
#zyB$
Bonjour
et sur l'évènement Sur Réception Focus de la zone de liste Pays, si
tu mets
Appellations.Value = Null
Listevins.value= Null

Ca devrait faire l'affaire, non ?


Nan... j'avais déjà essayé... je viens de la refaire par acquis de
conscience, mais nan !
C'est un truc de ouf!
Et je suis sur que quand j'aurais trouvé je me mettrai une baffe...




Avatar
Eric
re,
Tu me surprends
J'ai fais le test(Access2000) avec 3 zones de liste.
J'ai bien dit de mettre
Appellations.Value = Null
et Listevins.value = Null
sur l'évènement *GotFocus* de la zone de liste Pays.
Ceci a pour conséquence d'enlever la surbrillance des éléments
sélectionnés dans ces 2 zones de liste
Les Requery étant sur les AfterUpdate.
Toi tu as indiqués mettre à Null les zones de liste sur les évènements
AfterUpdate
Je suppose que quand tu dis "comment remettre la zone de liste vide ?"
tu veux dire aucun item sélectionné ?

Si, par contre, tu veux que les zones de liste Appelations et Listevins
soient VIDES (aucun item affiché) alors tu crées 2 variables de portée
formulaire sous Option Compare Database
Dim OldSQL1 as String 'pour la liste appelations
Dim OldSQL2 as String 'pour listevins
et tu mets
dans la procedure (de tête pas testé) :

Private Sub Pays_GotFocus()
Regions.Value = Null
Appellations.Value = Null
ListeVins.Value=Null
OLDSQL1 = Me.Appellations.RowSource
OLDSQL2 = Me.Listevins.RowSource
Me.Appellations.RowSource = ""
Me.Listevins.RowSource = ""
End Sub

Private Sub Pays_AfterUpdate()
Regions.Requery
' On reaffecte le sql source de la liste Appellations
Appellations.RowSource = OLDSQL1
' à toi de voir où on a besoin de redéfinir
' le sql de Listevins.Rowsource
End Sub

et ca devrait fonctionner
--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

"jean marc" a écrit dans le message de news:
42ab36f9$0$25039$

Bonjour,
Voila mon problème.
Je cherche une idée pour remettre à "zéro" ces zones de liste d'un
formulaire.



Bon ça avance...
Si je remplace les "zones de listes" par des "zones de listes modifiables"
ça marche !
Bien sûr ça change l'aspect de mon formulaire et ça ne résoud pas à
proprement parler le problème (comment remettre la zone de liste vide ?)
mais enfin...




1 2