Je cherche a obtenir un résultat (une somme exactement) qui s'afficherait
dans une "Zone de texte" en fonction d'une "sélection multiple" opérée dans
une "zone de
liste".
Les informations sont issue de la même requête:
Exemple: REQUETE_CA_PAR_MAGASIN
---------
Champs: MAGASIN Champs: DATE Champs: CA
- MAGASIN A - 01/02/2004 - 10 000
- MAGASIN B - 01/02/2004 - 12 000
- MAGASIN A - 02/02/2004 - 8 000
- MAGASIN C - 02/02/2004 - 14 000
- MAGASIN B - 02/02/2004 - 10 000
- MAGASIN A - 03/02/2004 - 12 000
Si je sélectionne dans la "zone de liste" de mon formulaire le "MAGASIN
A" + "MAGASIN B", je souhaite voir afficher dans la "zone de texte", le CA
TOTAL
correspondant, soit "52 000" (10 000 + 8 000 + 12 0000) + (12 000 + 10 000)
Grâce à Maxence et à Eric je sais désormais calculer une somme lorque je
sélectionne 1 magasin précis (sélection unique):
Par contre que faut-il modifier ou ajouter lorsqu'on sélectionne plusieurs
élément dans la "zone de liste". En changeant la propriété "Sélection
multiple", aucun résultat ne s'affiche dans la "zone de texte" (blanc).
Par ailleurs, je souhaiterais savoir à quoi correspond l'instruction
CAR(34).
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
Eric
Bonjour FD,
Il faut que tu mettes du code VBA sur l'évènement Après Mise à jour de ta zone de liste.
Soit Liste0 ta zone de liste - propriété Sélection Multiple : Simple (Onglet Autres) Soit une zone de texte nommée Texte2 - Propriétés Format : Monétaire
le code est du genre :
Private Sub Liste0_AfterUpdate() Dim i, Restriction As String
If Me.Liste0.ItemsSelected.Count = 0 Then Texte2 = 0 ' ou DSum("CA", "REQUETE_CA_PAR_MAGASIN") Exit Sub End If
For Each i In Me.Liste0.ItemsSelected If Me.Liste0.ItemsSelected.Count = 1 Then Restriction = "[Magasin]='" & Me.Liste0.ItemData(i) Else Restriction = Restriction & "[Magasin]='" _ & Me.Liste0.ItemData(i) & "' Or " End If Next i If Me.Liste0.ItemsSelected.Count > 1 Then Restriction = Left(Restriction, Len(Restriction) - 5) End If Restriction = Restriction & "'" Texte2 = DSum("CA", "REQUETE_CA_PAR_MAGASIN", Restriction) End Sub
- CAR(34) correspond au guillemet : " -
A+ Eric
Bonjour,
Je cherche a obtenir un résultat (une somme exactement) qui s'afficherait dans une "Zone de texte" en fonction d'une "sélection multiple" opérée dans une "zone de liste".
Les informations sont issue de la même requête:
Exemple: REQUETE_CA_PAR_MAGASIN ---------
Champs: MAGASIN Champs: DATE Champs: CA - MAGASIN A - 01/02/2004 - 10 000 - MAGASIN B - 01/02/2004 - 12 000 - MAGASIN A - 02/02/2004 - 8 000 - MAGASIN C - 02/02/2004 - 14 000 - MAGASIN B - 02/02/2004 - 10 000 - MAGASIN A - 03/02/2004 - 12 000
Si je sélectionne dans la "zone de liste" de mon formulaire le "MAGASIN A" + "MAGASIN B", je souhaite voir afficher dans la "zone de texte", le CA TOTAL correspondant, soit "52 000" (10 000 + 8 000 + 12 0000) + (12 000 + 10 000)
Grâce à Maxence et à Eric je sais désormais calculer une somme lorque je sélectionne 1 magasin précis (sélection unique):
Par contre que faut-il modifier ou ajouter lorsqu'on sélectionne plusieurs élément dans la "zone de liste". En changeant la propriété "Sélection multiple", aucun résultat ne s'affiche dans la "zone de texte" (blanc). Par ailleurs, je souhaiterais savoir à quoi correspond l'instruction CAR(34).
Merci pour votre aide,
FD
Bonjour FD,
Il faut que tu mettes du code VBA sur l'évènement Après Mise à jour de
ta zone de liste.
Soit Liste0 ta zone de liste - propriété Sélection Multiple : Simple
(Onglet Autres)
Soit une zone de texte nommée Texte2 - Propriétés Format : Monétaire
le code est du genre :
Private Sub Liste0_AfterUpdate()
Dim i, Restriction As String
If Me.Liste0.ItemsSelected.Count = 0 Then
Texte2 = 0 ' ou DSum("CA", "REQUETE_CA_PAR_MAGASIN")
Exit Sub
End If
For Each i In Me.Liste0.ItemsSelected
If Me.Liste0.ItemsSelected.Count = 1 Then
Restriction = "[Magasin]='" & Me.Liste0.ItemData(i)
Else
Restriction = Restriction & "[Magasin]='" _
& Me.Liste0.ItemData(i) & "' Or "
End If
Next i
If Me.Liste0.ItemsSelected.Count > 1 Then
Restriction = Left(Restriction, Len(Restriction) - 5)
End If
Restriction = Restriction & "'"
Texte2 = DSum("CA", "REQUETE_CA_PAR_MAGASIN", Restriction)
End Sub
- CAR(34) correspond au guillemet : " -
A+
Eric
Bonjour,
Je cherche a obtenir un résultat (une somme exactement) qui s'afficherait
dans une "Zone de texte" en fonction d'une "sélection multiple" opérée dans
une "zone de
liste".
Les informations sont issue de la même requête:
Exemple: REQUETE_CA_PAR_MAGASIN
---------
Champs: MAGASIN Champs: DATE Champs: CA
- MAGASIN A - 01/02/2004 - 10 000
- MAGASIN B - 01/02/2004 - 12 000
- MAGASIN A - 02/02/2004 - 8 000
- MAGASIN C - 02/02/2004 - 14 000
- MAGASIN B - 02/02/2004 - 10 000
- MAGASIN A - 03/02/2004 - 12 000
Si je sélectionne dans la "zone de liste" de mon formulaire le "MAGASIN
A" + "MAGASIN B", je souhaite voir afficher dans la "zone de texte", le CA
TOTAL
correspondant, soit "52 000" (10 000 + 8 000 + 12 0000) + (12 000 + 10 000)
Grâce à Maxence et à Eric je sais désormais calculer une somme lorque je
sélectionne 1 magasin précis (sélection unique):
Par contre que faut-il modifier ou ajouter lorsqu'on sélectionne plusieurs
élément dans la "zone de liste". En changeant la propriété "Sélection
multiple", aucun résultat ne s'affiche dans la "zone de texte" (blanc).
Par ailleurs, je souhaiterais savoir à quoi correspond l'instruction
CAR(34).
Il faut que tu mettes du code VBA sur l'évènement Après Mise à jour de ta zone de liste.
Soit Liste0 ta zone de liste - propriété Sélection Multiple : Simple (Onglet Autres) Soit une zone de texte nommée Texte2 - Propriétés Format : Monétaire
le code est du genre :
Private Sub Liste0_AfterUpdate() Dim i, Restriction As String
If Me.Liste0.ItemsSelected.Count = 0 Then Texte2 = 0 ' ou DSum("CA", "REQUETE_CA_PAR_MAGASIN") Exit Sub End If
For Each i In Me.Liste0.ItemsSelected If Me.Liste0.ItemsSelected.Count = 1 Then Restriction = "[Magasin]='" & Me.Liste0.ItemData(i) Else Restriction = Restriction & "[Magasin]='" _ & Me.Liste0.ItemData(i) & "' Or " End If Next i If Me.Liste0.ItemsSelected.Count > 1 Then Restriction = Left(Restriction, Len(Restriction) - 5) End If Restriction = Restriction & "'" Texte2 = DSum("CA", "REQUETE_CA_PAR_MAGASIN", Restriction) End Sub
- CAR(34) correspond au guillemet : " -
A+ Eric
Bonjour,
Je cherche a obtenir un résultat (une somme exactement) qui s'afficherait dans une "Zone de texte" en fonction d'une "sélection multiple" opérée dans une "zone de liste".
Les informations sont issue de la même requête:
Exemple: REQUETE_CA_PAR_MAGASIN ---------
Champs: MAGASIN Champs: DATE Champs: CA - MAGASIN A - 01/02/2004 - 10 000 - MAGASIN B - 01/02/2004 - 12 000 - MAGASIN A - 02/02/2004 - 8 000 - MAGASIN C - 02/02/2004 - 14 000 - MAGASIN B - 02/02/2004 - 10 000 - MAGASIN A - 03/02/2004 - 12 000
Si je sélectionne dans la "zone de liste" de mon formulaire le "MAGASIN A" + "MAGASIN B", je souhaite voir afficher dans la "zone de texte", le CA TOTAL correspondant, soit "52 000" (10 000 + 8 000 + 12 0000) + (12 000 + 10 000)
Grâce à Maxence et à Eric je sais désormais calculer une somme lorque je sélectionne 1 magasin précis (sélection unique):
Par contre que faut-il modifier ou ajouter lorsqu'on sélectionne plusieurs élément dans la "zone de liste". En changeant la propriété "Sélection multiple", aucun résultat ne s'affiche dans la "zone de texte" (blanc). Par ailleurs, je souhaiterais savoir à quoi correspond l'instruction CAR(34).