Bonjour,
Je voudrais ouvrir un état en fonction des objets sélectionnés dans une zone de liste. J'ai donc utilisé ce code:
Tout fonctionne bien si je sélectionne quelques connecteurs dans ma liste. Mais si j'en sélectionne trop le filtre devient trop long et l'état ne s'ouvre pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 Dim VarI As Variant Dim StrInAct As String StrInAct = "" If Me.[Liste des connecteurs ICU].Selected(0) <> True Then For Each VarI In Me.[Liste des connecteurs ICU].ItemsSelected StrInAct = StrInAct & "'" & Me.[Liste des connecteurs ICU].Column(0, VarI) & "'," Next VarI End If If StrInAct <> "" Then StrInAct = Left(StrInAct, Len(StrInAct) - 1) DoCmd.OpenReport "Annexes ICU OM", acViewPreview, , "[Connecteur] in (" & StrInAct & ")" Else DoCmd.OpenReport "Annexes ICU OM" End If
Il faudrait que je passe par une requête ou une table temporaire que j'utiliserai comme argument NomFiltre de OpenReport:
Par la requête : Je ne sais pas comment filtrer une table par rapport à des champs sélectionnés dans une zone de liste.
Par la table temporaire: J'ai bien essayé ceci
Mais rien n'est ajouté à la table temporaire...
Code : Sélectionner tout - Visualiser dans une fenêtre à part DoCmd.RunSQL "INSERT INTO TEMP_ICU (Connecteur) SELECT Connecteur FROM [Traçabilité-Composants] WHERE [Connecteur] in (' & StrInAct & ')"
Merci de votre aide!
Partager