Sélection d'enregistrement via choix sur++ listes

anana49 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je souhaiterais sortir les résultats d'une table à l'aide de choix sur 1 liste déroulante et 2 zones de liste.
Concernant la liste déroulante, aucun problème.
Concernant les zones de liste (Choix multiples), j'ai l'impression que ma requête n'identifie pas mes choix de valeurs donc il en ressort rien.
- ChoixMotif = Liste déroulante
- ChoixSillon = Zone de liste choix multiples
- ChoixCanal = Zone de liste choix multiples

Pourriez-vous m'indiquer le code à ajouter en complément de celui, ci-dessous, si c'est possible ?
Merci pour votre aide.
SELECT [Gestion_2018].CODE, [Gestion_2018].DATE, [Gestion_2018].CANAL, [Gestion_2018].SILLON, [Gestion_2018].MOTIF, [Gestion_2018].MOTIF_LONG, [Gestion_2018].VERBE
FROM [Gestion_2018]
WHERE ((([Gestion_2018].DATE) Between [Saisir la date de début] And [Saisir la date de fin]) AND (([Gestion_2018].SILLON)=[Formulaires]![ACCUEIL]![ChoixSillon]) AND (([Gestion_2018].MOTIF)=[Formulaires]![ACCUEIL]![ChoixMotif]) AND (([Gestion_2018].CANAL)=[Formulaires]![ACCUEIL]![ChoixCanal]));
A voir également:

2 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, veux-tu dire que tu sélectionne plusieurs éléments dans la zone ChoixCanal du formulaire ACCUEIL, et que la requête n'en tient pas compte?
cela fonctionne-t'il mieux quand tu sélectionne un seul élément?
0
anana49 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour yg_be,

J'ai une zone de liste déroulante avec 1 choix unique (ChoixMotif) et à partir de cette zone, j'ai deux listes avec une sélection de choix multiples (ChoixSillon et ChoixCanal).
Après sélection, j'ai un bouton de contrôle qui exécute la requête SQL ci-dessus. Mais il me ressort aucun résultat. J'ai essayé avec les conseils d'un collègue de créer un code VBA mais ce code bloque sur la reconnaissance de la liste :
strChoixMotif = """" & Me.[MOTIF] & """"


Mon code ajouté à mon BTN de contrôle (Après sélection) :

Private Sub BTN_LISTING2018_Click()


Dim strChoixMotif As String
Dim strChoixSillon As String
Dim strChoixCanal As String
Dim varItm As Variant
Dim strSql As String

strChoixMotif = """" & Me.[MOTIF] & """"
' Construction de la liste "IN" à partir d'une zone de liste


With Me.ChoixSillon
For Each varItm In .ItemsSelected
strChoixSillon = strChoixSillon & IIf(strChoixSillon = "", """", ",""") & (.ItemData(varItm)) & """"
Next varItm
strChoixSillon = " In(" & strChoixSillon & ")"
End With

With Me.ChoixCanal
For Each varItm In .ItemsSelected
strChoixCanal = strChoixCanal & IIf(strChoixCanal = "", """", ",""") & (.ItemData(varItm)) & """"
Next varItm
strChoixCanal = " In(" & strChoixCanal & ")"
End With

strSql = "CODE, DATE ,CANAL , SILLON, MOTIF, MOTIF_LONG,VERBE " & _
"FROM [Gestion_2018] " & _
"WHERE DATE Between [Saisir la date de début] And [Saisir la date de fin]" & _
" AND SILLON " & strChoixSillon & _
" AND MOTIF = " & strChoixMotif & _
" AND CANAL" & strChoixCanal & ";"

End Sub
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
cela fonctionne-t'il mieux quand tu sélectionnes un seul élément dans ChoixSillon et ChoixCanal?
que veux-tu dire par le code "bloque"?
suggestion:
strChoixMotif =  " '" & Me.ChoixMotif & "' "
0
anana49 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
Oui en choix unique avec des listes déroulantes..
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > anana49 Messages postés 20 Date d'inscription   Statut Membre Dernière intervention  
 
que veux-tu dire par le code "bloque"?
suggestion:
strChoixMotif =  " '" & Me.ChoixMotif & "' "
0