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

Choix dans une liste

1 réponse
Avatar
Philippe
Bonsoir et bonne année 2008

Dans une requête sous le champ "lot" dans la zone critére j'ai écris : Comme
[formulaires]![mouvements]![MesLots] pour renvoyer les enregistrements
concernant le lot choisie dans une listeBox.

Dans cette même liste je sélectionne plusieurs lots pour obtenir le même
résultat avec bien sûr les enregistrements attachés aux lots choisis.

Pour le paramétrage de ma liste pas de problème j'ai vu un exemple plus bas,
par contre, impossible d'écrire une formule sous le champ "lot" pour l'option
de plusieurs choix de ces lots.

Comment feriez-vous ?
C'est possible en ouvrant un formulaire pourquoi pas en actualisant un sous
formulaire placé sur le même formulaire que la liste.

Merci.
Philippe

1 réponse

Avatar
Fabien
Bonsoir et bonne année 2008

Dans une requête sous le champ "lot" dans la zone critére j'ai écris : Comme
[formulaires]![mouvements]![MesLots] pour renvoyer les enregistrements
concernant le lot choisie dans une listeBox.

Dans cette même liste je sélectionne plusieurs lots pour obtenir le même
résultat avec bien sûr les enregistrements attachés aux lots choisis.

Pour le paramétrage de ma liste pas de problème j'ai vu un exemple plus bas,
par contre, impossible d'écrire une formule sous le champ "lot" pour l'option
de plusieurs choix de ces lots.

Comment feriez-vous ?
C'est possible en ouvrant un formulaire pourquoi pas en actualisant un sous
formulaire placé sur le même formulaire que la liste.

Merci.
Philippe


Bonjour,
peut-être qu'avec
Private Sub Liste0_AfterUpdate()
Dim StrIn, StrSql As String
Dim I As Integer
For I = 0 To Liste0.ListCount
If Liste0.Selected(I) Then
StrIn = StrIn & "'" & Liste0.Column(0, I) & "',"
End If
Next I
StrSql = "Select * from [Table] "
'Si l'option Toutes n'est pas selectionnée on applique le filtre
If InStr(1, StrIn, "*") = 0 Then
If Len(StrIn) > 0 Then
StrSql = StrSql & "where [Code] in ( " & Left(StrIn,
Len(StrIn) - 1) & ")"
End If
Else ' sinon pas de filtre et on réinitialise la liste sur "Toutes"
For I = 1 To Liste0.ListCount
Liste0.Selected(I) = False
Next I
End If

StrSql = StrSql & ";"
Me![SourceSousForm].Form.RecordSource = StrSql 'Pour mettre a jour
le sous formulaire
'ou
Currentdb.querydefs("Larequete").SQL = StrSQl ' pour modifier
direcement la requete
End Sub
@+