Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Code pour liste à sélection multiple

2 réponses
Avatar
John
Bonsoir,

Avec le code ci-dessous j'ouvre un formulaire pour afficher les
enregistrements sélectionnés dans une liste "lstmarques", or lorsque je
clique sur le bouton une boite apparait me demandant
de saisir la valeur du paramétre avec le code "A" par exemple et les autres
saisis dans la liste, si je les écris le formulaire s'ouvre avec les
enregistrements associés, il y a donc un problème.

Serait t'il possible de sélectionner dans la liste un ou plusieurs choix
puis en même temps actualiser un sous formulaire ?
Si oui merci de me guider.

Private Sub cmdFiltre_Click()
Dim varI As Variant
Dim strFiltre As String

strFiltre = ""
If Me.lstMarques.ItemsSelected.Count = 0 Then
MsgBox "Aucune marque n'a été sélectionnée"
Else
For Each varI In Me!lstMarques.ItemsSelected
If strFiltre <> "" Then strFiltre = strFiltre & " OR "
strFiltre = strFiltre & "[marque]=" & Me!lstMarques.ItemData(varI)
Next varI
DoCmd.OpenForm "frmModeles", acNormal, , strFiltre
End If
End Sub
--
John.

2 réponses

Avatar
Thierry (ze Titi)
Bonjour !

John a utilisé son clavier pour écrire :
Bonsoir,

Avec le code ci-dessous j'ouvre un formulaire pour afficher les
enregistrements sélectionnés dans une liste "lstmarques", or lorsque je
clique sur le bouton une boite apparait me demandant
de saisir la valeur du paramétre avec le code "A" par exemple et les autres
saisis dans la liste, si je les écris le formulaire s'ouvre avec les
enregistrements associés, il y a donc un problème.

Serait t'il possible de sélectionner dans la liste un ou plusieurs choix
puis en même temps actualiser un sous formulaire ?
Si oui merci de me guider.

Private Sub cmdFiltre_Click()
Dim varI As Variant
Dim strFiltre As String

strFiltre = ""
If Me.lstMarques.ItemsSelected.Count = 0 Then
MsgBox "Aucune marque n'a été sélectionnée"
Else
For Each varI In Me!lstMarques.ItemsSelected
If strFiltre <> "" Then strFiltre = strFiltre & " OR "
strFiltre = strFiltre & "[marque]=" &
Me!lstMarques.ItemData(varI) Next varI
DoCmd.OpenForm "frmModeles", acNormal, , strFiltre
End If
End Sub


Puisque ta(tes) marque(s) est(sont) de type alphanumériques, il faut
les encadrer par des quotes simples:

strFiltre=strFiltre & "[marque]='" & Me!lstMarques.ItemData(varI) & "'"

--
Cordialement,
Thierry

tout pour Access :
http://www.mpfa.info

Avatar
John
Bonsoir,
Merci beaucoup, ça fonctionne, tu aurais une idée pour faire la même chose
en cliquant dans la liste et au fur et à mesure actualiser le sous formulaire
qui se trouve à côté avec AppliFilter par exemple ?

J'ai une petite idée mais je ne vois pas comment lié la liste au sous
formulaire comment mettre une condition Where dans la requête ?

Bonne année 2008.
--
John.



Bonjour !

John a utilisé son clavier pour écrire :
Bonsoir,

Avec le code ci-dessous j'ouvre un formulaire pour afficher les
enregistrements sélectionnés dans une liste "lstmarques", or lorsque je
clique sur le bouton une boite apparait me demandant
de saisir la valeur du paramétre avec le code "A" par exemple et les autres
saisis dans la liste, si je les écris le formulaire s'ouvre avec les
enregistrements associés, il y a donc un problème.

Serait t'il possible de sélectionner dans la liste un ou plusieurs choix
puis en même temps actualiser un sous formulaire ?
Si oui merci de me guider.

Private Sub cmdFiltre_Click()
Dim varI As Variant
Dim strFiltre As String

strFiltre = ""
If Me.lstMarques.ItemsSelected.Count = 0 Then
MsgBox "Aucune marque n'a été sélectionnée"
Else
For Each varI In Me!lstMarques.ItemsSelected
If strFiltre <> "" Then strFiltre = strFiltre & " OR "
strFiltre = strFiltre & "[marque]=" &
Me!lstMarques.ItemData(varI) Next varI
DoCmd.OpenForm "frmModeles", acNormal, , strFiltre
End If
End Sub


Puisque ta(tes) marque(s) est(sont) de type alphanumériques, il faut
les encadrer par des quotes simples:

strFiltre=strFiltre & "[marque]='" & Me!lstMarques.ItemData(varI) & "'"

--
Cordialement,
Thierry

tout pour Access :
http://www.mpfa.info