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.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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 @+
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
@+
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 @+