Liste à sélection multiple

Résolu
pinkbaby91 Messages postés 23 Statut Membre -  
pinkbaby91 Messages postés 23 Statut Membre -
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

4 réponses

  1. Utilisateur anonyme
     
    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
    1. pinkbaby91 Messages postés 23 Statut Membre
       
      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
    2. Utilisateur anonyme > pinkbaby91 Messages postés 23 Statut Membre
       
      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
    3. pinkbaby91 Messages postés 23 Statut Membre > Utilisateur anonyme
       
      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
    4. Utilisateur anonyme > pinkbaby91 Messages postés 23 Statut Membre
       
      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
    5. pinkbaby91 Messages postés 23 Statut Membre > Utilisateur anonyme
       
      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
  2. Utilisateur anonyme
     
    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
    1. pinkbaby91 Messages postés 23 Statut Membre
       
      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
  3. pinkbaby91 Messages postés 23 Statut Membre
     


    voici l'affichage de selection complexe


    et le msgbox
    0
    1. Utilisateur anonyme
       
      Mais cette histoire de jour <10 m'interpelle !

      Mets bien toutes les dates au format jj\/mm\/aaaa
      0
    2. pinkbaby91 Messages postés 23 Statut Membre > Utilisateur anonyme
       
      Où, dans mon code, dois je declarer que je veux que le format de ma date soit (jj/mm/aaaa)??
      0
    3. Utilisateur anonyme
       
      Re,

      ta copie d'écran de "MO_Export_Chiffrage_QCDP" correspond à quoi ??
      0
    4. pinkbaby91 Messages postés 23 Statut Membre > Utilisateur anonyme
       
      c'est le nom de mon formulaire
      0
    5. Utilisateur anonyme
       
      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
  4. pinkbaby91 Messages postés 23 Statut Membre
     
    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