Via une requête (et sous requête / fonction domaine ou personnalisée, j'ai
tout essayé...) je cherche à faire la somme des ventes des 6 derniers mois
(pour chacun des produits et chacun des mois de la table).
---Table source
champ1 Mois Valeur
produit1 200510 50
produit1 200511 30
....................
----Résultat souhaité
produit1 200510 50
produit1 200511 80 (50+30 = 80 produits vendus sur les 6 derniers
mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
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,
(A améliorer)
En supposant que le champ Mois est de type Texte (au format aaaamm): Une fonction à placer dans un module global pour déterminer le rang 6 mois avant la date ( on enleve 5 dans la fonction car j'utilise un Between dans la fonction SomDom)
Function fnZZ(UnChamp As String) As String Dim strAnnee As String, strMois As String strAnnee = Left(UnChamp, 4) strMois = Mid(UnChamp, 5, 2) Select Case Val(strMois) Case Is <= 5 strAnnee = Val(strAnnee) - 1 strMois = Format(Val(strMois) + 12 - 5, "00") Case Else strMois = Format(Val(strMois) - 5, "00") End Select fnZZ = strAnnee & strMois End Function
et la requête : SELECT chp1, mois, IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS Cumulsur6mois FROM LaTable ORDER BY chp1, mois;
Bonsoir,
Via une requête (et sous requête / fonction domaine ou personnalisée, j'ai tout essayé...) je cherche à faire la somme des ventes des 6 derniers mois (pour chacun des produits et chacun des mois de la table). ---Table source champ1 Mois Valeur produit1 200510 50 produit1 200511 30 .................... ----Résultat souhaité produit1 200510 50 produit1 200511 80 (50+30 = 80 produits vendus sur les 6 derniers mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour,
(A améliorer)
En supposant que le champ Mois est de type Texte (au format aaaamm):
Une fonction à placer dans un module global pour déterminer le rang 6
mois avant la date ( on enleve 5 dans la fonction car j'utilise un
Between dans la fonction SomDom)
Function fnZZ(UnChamp As String) As String
Dim strAnnee As String, strMois As String
strAnnee = Left(UnChamp, 4)
strMois = Mid(UnChamp, 5, 2)
Select Case Val(strMois)
Case Is <= 5
strAnnee = Val(strAnnee) - 1
strMois = Format(Val(strMois) + 12 - 5, "00")
Case Else
strMois = Format(Val(strMois) - 5, "00")
End Select
fnZZ = strAnnee & strMois
End Function
et la requête :
SELECT chp1, mois,
IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "'
and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois]))))
AS Cumulsur6mois
FROM LaTable
ORDER BY chp1, mois;
Bonsoir,
Via une requête (et sous requête / fonction domaine ou personnalisée, j'ai
tout essayé...) je cherche à faire la somme des ventes des 6 derniers mois
(pour chacun des produits et chacun des mois de la table).
---Table source
champ1 Mois Valeur
produit1 200510 50
produit1 200511 30
....................
----Résultat souhaité
produit1 200510 50
produit1 200511 80 (50+30 = 80 produits vendus sur les 6 derniers
mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
En supposant que le champ Mois est de type Texte (au format aaaamm): Une fonction à placer dans un module global pour déterminer le rang 6 mois avant la date ( on enleve 5 dans la fonction car j'utilise un Between dans la fonction SomDom)
Function fnZZ(UnChamp As String) As String Dim strAnnee As String, strMois As String strAnnee = Left(UnChamp, 4) strMois = Mid(UnChamp, 5, 2) Select Case Val(strMois) Case Is <= 5 strAnnee = Val(strAnnee) - 1 strMois = Format(Val(strMois) + 12 - 5, "00") Case Else strMois = Format(Val(strMois) - 5, "00") End Select fnZZ = strAnnee & strMois End Function
et la requête : SELECT chp1, mois, IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS Cumulsur6mois FROM LaTable ORDER BY chp1, mois;
Bonsoir,
Via une requête (et sous requête / fonction domaine ou personnalisée, j'ai tout essayé...) je cherche à faire la somme des ventes des 6 derniers mois (pour chacun des produits et chacun des mois de la table). ---Table source champ1 Mois Valeur produit1 200510 50 produit1 200511 30 .................... ----Résultat souhaité produit1 200510 50 produit1 200511 80 (50+30 = 80 produits vendus sur les 6 derniers mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
Ooops, :-(
Remplacer Arthur par LaTable dans la fonction DSum() Val(DSum("Valeur","Arthur","Chp1='" ...
... SELECT chp1, mois, IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS Cumulsur6mois FROM LaTable ORDER BY chp1, mois;
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Ooops, :-(
Remplacer Arthur par LaTable dans la fonction DSum()
Val(DSum("Valeur","Arthur","Chp1='" ...
...
SELECT chp1, mois,
IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "'
and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois]))))
AS Cumulsur6mois
FROM LaTable
ORDER BY chp1, mois;
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Remplacer Arthur par LaTable dans la fonction DSum() Val(DSum("Valeur","Arthur","Chp1='" ...
... SELECT chp1, mois, IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS Cumulsur6mois FROM LaTable ORDER BY chp1, mois;
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
ArthurAccroc
Super !!! Merci. Je peux enfin aller me coucher. Zzzz...
"Eric" a écrit dans le message de news:
Bonjour,
(A améliorer)
En supposant que le champ Mois est de type Texte (au format aaaamm): Une fonction à placer dans un module global pour déterminer le rang 6 mois avant la date ( on enleve 5 dans la fonction car j'utilise un Between dans la fonction SomDom)
Function fnZZ(UnChamp As String) As String Dim strAnnee As String, strMois As String strAnnee = Left(UnChamp, 4) strMois = Mid(UnChamp, 5, 2) Select Case Val(strMois) Case Is <= 5 strAnnee = Val(strAnnee) - 1 strMois = Format(Val(strMois) + 12 - 5, "00") Case Else strMois = Format(Val(strMois) - 5, "00") End Select fnZZ = strAnnee & strMois End Function
et la requête : SELECT chp1, mois, IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS Cumulsur6mois FROM LaTable ORDER BY chp1, mois;
Bonsoir,
Via une requête (et sous requête / fonction domaine ou personnalisée, j'ai tout essayé...) je cherche à faire la somme des ventes des 6 derniers mois (pour chacun des produits et chacun des mois de la table). ---Table source champ1 Mois Valeur produit1 200510 50 produit1 200511 30 .................... ----Résultat souhaité produit1 200510 50 produit1 200511 80 (50+30 = 80 produits vendus sur les 6 derniers mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Super !!!
Merci. Je peux enfin aller me coucher. Zzzz...
"Eric" <f_framZZ@hotmail.com> a écrit dans le message de news:
uVbabMLlGHA.4200@TK2MSFTNGP05.phx.gbl...
Bonjour,
(A améliorer)
En supposant que le champ Mois est de type Texte (au format aaaamm):
Une fonction à placer dans un module global pour déterminer le rang 6 mois
avant la date ( on enleve 5 dans la fonction car j'utilise un Between dans
la fonction SomDom)
Function fnZZ(UnChamp As String) As String
Dim strAnnee As String, strMois As String
strAnnee = Left(UnChamp, 4)
strMois = Mid(UnChamp, 5, 2)
Select Case Val(strMois)
Case Is <= 5
strAnnee = Val(strAnnee) - 1
strMois = Format(Val(strMois) + 12 - 5, "00")
Case Else
strMois = Format(Val(strMois) - 5, "00")
End Select
fnZZ = strAnnee & strMois
End Function
et la requête :
SELECT chp1, mois,
IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and
val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS
Cumulsur6mois
FROM LaTable
ORDER BY chp1, mois;
Bonsoir,
Via une requête (et sous requête / fonction domaine ou personnalisée,
j'ai tout essayé...) je cherche à faire la somme des ventes des 6
derniers mois (pour chacun des produits et chacun des mois de la table).
---Table source
champ1 Mois Valeur
produit1 200510 50
produit1 200511 30
....................
----Résultat souhaité
produit1 200510 50
produit1 200511 80 (50+30 = 80 produits vendus sur les 6
derniers mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Super !!! Merci. Je peux enfin aller me coucher. Zzzz...
"Eric" a écrit dans le message de news:
Bonjour,
(A améliorer)
En supposant que le champ Mois est de type Texte (au format aaaamm): Une fonction à placer dans un module global pour déterminer le rang 6 mois avant la date ( on enleve 5 dans la fonction car j'utilise un Between dans la fonction SomDom)
Function fnZZ(UnChamp As String) As String Dim strAnnee As String, strMois As String strAnnee = Left(UnChamp, 4) strMois = Mid(UnChamp, 5, 2) Select Case Val(strMois) Case Is <= 5 strAnnee = Val(strAnnee) - 1 strMois = Format(Val(strMois) + 12 - 5, "00") Case Else strMois = Format(Val(strMois) - 5, "00") End Select fnZZ = strAnnee & strMois End Function
et la requête : SELECT chp1, mois, IIf(IsNull([mois]),0,Val(DSum("Valeur","Arthur","Chp1='" & [chp1] & "' and val(mois) between " & Val(fnZZ([Mois])) & " and " & Val([mois])))) AS Cumulsur6mois FROM LaTable ORDER BY chp1, mois;
Bonsoir,
Via une requête (et sous requête / fonction domaine ou personnalisée, j'ai tout essayé...) je cherche à faire la somme des ventes des 6 derniers mois (pour chacun des produits et chacun des mois de la table). ---Table source champ1 Mois Valeur produit1 200510 50 produit1 200511 30 .................... ----Résultat souhaité produit1 200510 50 produit1 200511 80 (50+30 = 80 produits vendus sur les 6 derniers mois)
Si quelqu'un à une piste il est le bienvenue car là je suis sec.
-- A+ Eric http://www.mpfa.info/ Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr