OVH Cloud OVH Cloud

Sélection multiple

3 réponses
Avatar
Marie
Sélection multiple numéro 121 dans 'Grenier' de « SelfAccess - Initiation à
Access »



Je suis très loin d'être un super programmateur , j'ai recopié la formule
suivante, qui fonctionne très bien, mais je n'ai pas su comment la refaire
pour l'utiliser pour un champ numérique comme c'est proposé : « Nous avons
supposé que les critères de filtre étaient de type Texte. Si vous filtrez
sur un champ numérique, supprimez les apostrophes dans la ligne qui
construit le filtre. »



Voici le code pour un type Texte copié dans 'Grenier '

Private Sub btnListe_Click()Dim varI As VariantDim strFiltre As String
strFiltre = ""If Me.lstClients.ItemsSelected.Count = 0 Then MsgBox
"Aucun client n'a été sélectionné"Else For Each varI In
Me!lstClients.ItemsSelected If strFiltre <> "" Then strFiltre
= strFiltre & " OR " strFiltre = strFiltre & "[Numéro
Client]='" & _ Me!lstClients.ItemData(varI) & "'"
Next varI DoCmd.OpenForm "frm Clients", acNormal, , strFiltreEnd
IfEnd Sub Merci d'avance

3 réponses

Avatar
Pierre CFI [mvp]
bonjour
si la variable est num il ne faut pas de ' donc
strFiltre = strFiltre & "[NuméroClient]=" & Me!lstClients.ItemData(varI)

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Marie" a écrit dans le message de news:
Sélection multiple numéro 121 dans 'Grenier' de « SelfAccess - Initiation à
Access »



Je suis très loin d'être un super programmateur , j'ai recopié la formule
suivante, qui fonctionne très bien, mais je n'ai pas su comment la refaire
pour l'utiliser pour un champ numérique comme c'est proposé : « Nous avons
supposé que les critères de filtre étaient de type Texte. Si vous filtrez
sur un champ numérique, supprimez les apostrophes dans la ligne qui
construit le filtre. »



Voici le code pour un type Texte copié dans 'Grenier '

Private Sub btnListe_Click()Dim varI As VariantDim strFiltre As String
strFiltre = ""If Me.lstClients.ItemsSelected.Count = 0 Then MsgBox
"Aucun client n'a été sélectionné"Else For Each varI In
Me!lstClients.ItemsSelected If strFiltre <> "" Then strFiltre
= strFiltre & " OR " strFiltre = strFiltre & "[Numéro
Client]='" & _ Me!lstClients.ItemData(varI) & "'"
Next varI DoCmd.OpenForm "frm Clients", acNormal, , strFiltreEnd
IfEnd Sub Merci d'avance




Avatar
Raymond [mvp]
Bonjour.

dans cette ligne:
strFiltre = strFiltre & "[Numéro Client]='" & _
Me!lstClients.ItemData(varI) & "'"
il faut la remplacer par
strFiltre = strFiltre & "[Numéro Client]= " & _
Me!lstClients.ItemData(varI)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Marie" a écrit dans le message de
news:
Sélection multiple numéro 121 dans 'Grenier' de « SelfAccess - Initiation
à

Access »



Je suis très loin d'être un super programmateur , j'ai recopié la formule
suivante, qui fonctionne très bien, mais je n'ai pas su comment la refaire
pour l'utiliser pour un champ numérique comme c'est proposé : « Nous
avons

supposé que les critères de filtre étaient de type Texte. Si vous filtrez
sur un champ numérique, supprimez les apostrophes dans la ligne qui
construit le filtre. »



Voici le code pour un type Texte copié dans 'Grenier '

Private Sub btnListe_Click()Dim varI As VariantDim strFiltre As String
strFiltre = ""If Me.lstClients.ItemsSelected.Count = 0 Then MsgBox
"Aucun client n'a été sélectionné"Else For Each varI In
Me!lstClients.ItemsSelected If strFiltre <> "" Then
strFiltre

= strFiltre & " OR " strFiltre = strFiltre & "[Numéro
Client]='" & _ Me!lstClients.ItemData(varI) & "'"
Next varI DoCmd.OpenForm "frm Clients", acNormal, , strFiltreEnd
IfEnd Sub Merci d'avance




Avatar
Marie
Merci Pierre, Merci Raymond de me répondre si vite et c'était pas faute
d'avoir chercher avant....
Mais je suis ravie ..et en plus ça fonctionne . Cordialement A plus


"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

dans cette ligne:
strFiltre = strFiltre & "[Numéro Client]='" & _
Me!lstClients.ItemData(varI) & "'"
il faut la remplacer par
strFiltre = strFiltre & "[Numéro Client]= " & _
Me!lstClients.ItemData(varI)
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Marie" a écrit dans le message de
news:
Sélection multiple numéro 121 dans 'Grenier' de « SelfAccess -
Initiation


à
Access »



Je suis très loin d'être un super programmateur , j'ai recopié la
formule


suivante, qui fonctionne très bien, mais je n'ai pas su comment la
refaire


pour l'utiliser pour un champ numérique comme c'est proposé : « Nous
avons

supposé que les critères de filtre étaient de type Texte. Si vous
filtrez


sur un champ numérique, supprimez les apostrophes dans la ligne qui
construit le filtre. »



Voici le code pour un type Texte copié dans 'Grenier '

Private Sub btnListe_Click()Dim varI As VariantDim strFiltre As String
strFiltre = ""If Me.lstClients.ItemsSelected.Count = 0 Then
MsgBox


"Aucun client n'a été sélectionné"Else For Each varI In
Me!lstClients.ItemsSelected If strFiltre <> "" Then
strFiltre

= strFiltre & " OR " strFiltre = strFiltre & "[Numéro
Client]='" & _ Me!lstClients.ItemData(varI) & "'"
Next varI DoCmd.OpenForm "frm Clients", acNormal, , strFiltreEnd
IfEnd Sub Merci d'avance