Liste à sélection multiple

Résolu/Fermé
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 - 14 août 2016 à 18:25
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 - 17 août 2016 à 09:55
Bonjour,
Je suis en train de faire un formulaire sous access pour pouvoir faire des sélections multiples.
J'ai donc créé ma requete, ainsi que mes affichages pour faire mes sélections.
Quand je suis sur du texte ou sur du numérique, aucun probleme. Mais j'ai une selection qui est une date, et la, ca ne fonctionne plus...
Voici ci dessous mon bout de code, si quelqu'un sait m'aider a trouver la coquille qui est surement bete comme choux... je suppose une betise avec le # ou des guillemets mal placés, mais j'ai certaines dates pour lesquelles ca fonctionne alors je ne sais plus...
Merci pour votre aide!!

Private Sub Liste6_AfterUpdate()
'filtre date : Date
FiltreDate = ""
For Each varI In Me!Liste6.ItemsSelected
If FiltreDate <> "" Then FiltreDate = FiltreDate & " OR "
FiltreDate = FiltreDate & "[Date_QCDP]= #" & _
Me!Liste6.ItemData(varI) & "#"
Next varI
If FiltreDate <> "" Then FiltreDate = "(" & FiltreDate & ")"

filtrechoixIPC_Moteur
filtrechoixMO_Organe
filtrechoixvehicule
FiltrechoixUM
FiltrechoixTitre
End Sub
A voir également:

4 réponses

Utilisateur anonyme
14 août 2016 à 22:01
Bonjour,

que sont ces :
filtrechoixIPC_Moteur
filtrechoixMO_Organe
filtrechoixvehicule
FiltrechoixUM
FiltrechoixTitre



Aussi, avant ton :
If FiltreDate <> "" Then FiltreDate = "(" & FiltreDate & ")"

que retourne un msgbox filtredate ??

A+
1
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
15 août 2016 à 09:12
Bonjour HDU, merci pour ta reponse.
Les autres filtrechoix, sont les autres possibilités de filtres a selection multiple de mon formulaires, qui eux fonctionnent sans probleme, c'est du texte.
Quand je mets un msgbox:
a la premiere selection, il me ramene une boite vide
A la deuxieme selection il me ramene premiere boite vide, puis une seconde avec [Date_QCDP]=#10/10/2016# (10/10/2016 etant la premiere date selectionnée)
A la troisieme selection, il me ramene une boite vide puis une seconde avec [Date_QCDP]=#10/10/2016# , puis une troisieme avec [Date_QCDP]=#10/10/2016# OR [Date_QCDP]=#16/09/2016# (16/09/2016 etant la deuxieme date selectionnée)

Quand je ne selectionne qu'une seule date, j'ai des dates pour lesquelles le filtre fonctionne, et d'autres pour lesquelles ca ne fonctionne pas. Voici la liste ci dessous:
OK: le filtre fonctionne, NOK le filtre ne fonctionne pas.
10/10/2016 OK- 16/09/2016 ok - 05/09/2016 NOK - 18/07/2016 OK - 05/07/2016 NOK - 04/07/2016 NOK- 30/06/2016 OK

J'en viens a me demander si je n'aurai pas un probleme de format de date?
0
Utilisateur anonyme > pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
Modifié par HDU le 15/08/2016 à 22:12
Salut,

pour être certain, qu'appelles tu "à la première sélection" et "à la deuxième sélection".

Aussi, quand le msgbox te renvoies plusieurs résultats (boite), c'est simultané ? Après clic sur ok de la première boite ?

Et où as tu mis ton msgbox ?

Aussi, peut-être est-ce une coïncidence, le filtre ne fonctionne pas dans tes tests lorsque le jour de la date est < 10. Peut-être une piste, mais à toi de confirmer avec d'autres tests. Le champ de ta table est bien au format date (des fois que le zéro du début du champ soit tronqué...) ?

A+
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 > Utilisateur anonyme
15 août 2016 à 23:13
bonjour

ce que j'appelle premiere selection, c'est quand je choisi une date parmi les 8 existantes, puis ma deuxieme selection c'est quand je choisis une seconde date parmi les 8 existantes etc

J'ai mis mon msgbox ici:
For Each varI In Me!Liste6.ItemsSelected
If FiltreDate <> "" Then FiltreDate = FiltreDate & " OR "
FiltreDate = FiltreDate & "[Date_QCDP]=#" & _
Me!Liste6.ItemData(varI) & "#"
MsgBox FiltreDate
Next varI
If FiltreDate <> "" Then FiltreDate = "(" & FiltreDate & ")"

Il me renvoi les boites de message les une apres les autres. Je selectionne une date, le msgbox me donne une date, je selectionne deux date il m'en met deux etc...
les messages box me ramennent bien toutes les dates, même mon 05/07/2016,
mais, quand le jour de la date est inferieur a 12 mon filtre de la requete ne fonctionne plus. Je viens de passer la journée dessus, je seche completement... Je pense que c'est un probleme de format US VS europeen mais je ne sais pas ou mettre dans le code que je veux un forat europeen, n'etant pas du tout une codeuse avertie...
0
Utilisateur anonyme > pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
15 août 2016 à 23:21
Re,

mets le msgbox après le next, c'est cela qui t'intéresse.

Tu es sure inférieur à 12 ? A coup sûr ???

A+
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 > Utilisateur anonyme
15 août 2016 à 23:46
Merci pour tes reponses.
J'ai deplacé le msgbox, cela me ramene les meme chose
[Date_QCDP]=#18/07/2016# OR [Date_QCDP]=#05/07/2016#
Mais mon filtre ne fonctionne quand meme pas.
J'ai essayé, et non en fait ca a l'air d'etre 10 la limite...
Arghhhhhhhhhhhhhhhhhhhhhhhh
0
Au fait j'y pense (que maintenant lol),

<columbo>
Mais tu veux faire quoi avec ce code ??? Il en manque un bout, non ? C'est quoi la suite ?
</columbo>


Quand Jimmy dit What'd I say 
I love you baby 
C'est comme qui dirait 
Toute la province qui chante en anglais
1
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
16 août 2016 à 08:48
Avec ce formulaire qui contient 6 zones de sélections multiples (derriere j'ai une requete d'environ 1000 lignes), je veux permettre aux utilisateurs de choisir ce qu'ils souhaitent regarder, soit par leur nom, soit par la date du projet, soit par le titre du projet, soit par l'usine du projet etc...
Tout fonctionne au niveau de ces recherches complexes, sauf ces fichues dates du genre 05/07/2017, qui me met tous les autres champs de selection à "vide"
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
16 août 2016 à 08:56


voici l'affichage de selection complexe


et le msgbox
0
Utilisateur anonyme
16 août 2016 à 21:41
Mais cette histoire de jour <10 m'interpelle !

Mets bien toutes les dates au format jj\/mm\/aaaa
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 > Utilisateur anonyme
16 août 2016 à 22:21
Où, dans mon code, dois je declarer que je veux que le format de ma date soit (jj/mm/aaaa)??
0
Re,

ta copie d'écran de "MO_Export_Chiffrage_QCDP" correspond à quoi ??
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016 > Utilisateur anonyme
16 août 2016 à 22:40
c'est le nom de mon formulaire
0
Essaies au cas où

Private Sub Liste6_AfterUpdate() 
'filtre date : Date 
FiltreDate = "" 
For Each varI In Me!Liste6.ItemsSelected 
If FiltreDate <> "" Then FiltreDate = FiltreDate & " OR " 
FiltreDate = FiltreDate & "[Date_QCDP]= #" & format(Me!Liste6.ItemData(varI),"mm/dd/yyyy") & "#" 
Next varI 
If FiltreDate <> "" Then FiltreDate = "(" & FiltreDate & ")"
0
pinkbaby91 Messages postés 23 Date d'inscription mercredi 11 novembre 2015 Statut Membre Dernière intervention 17 août 2016
17 août 2016 à 09:55
HDU à reussi à resoudre le probleme grace à ce code!

Private Sub Liste6_AfterUpdate()
'filtre date : Date
FiltreDate = ""
For Each varI In Me!Liste6.ItemsSelected
If FiltreDate <> "" Then FiltreDate = FiltreDate & " OR "
FiltreDate = FiltreDate & "[Date_QCDP]= #" & format(Me!Liste6.ItemData(varI),"mm/dd/yyyy") & "#"
Next varI
If FiltreDate <> "" Then FiltreDate = "(" & FiltreDate & ")"
0