Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
-----Message d'origine-----
Bonjour,
Tu te crées une nouvelle requête selection et tu ajoutes
la table MaTable.
Tu cliques sur le bouton "opérations" (le sigma grec).
Tu crées un premier champ ou tu entres Mois([MaTable].
[Date]) et dans la
liste opérations tu choisis "regroupement". Tu crées un
deuxième champs où
tu entres Année([MaTable].[Date]) et idem tu choisis
regroupement.
Tu selectionnes ensuites les champs logiciel et materiel
pour lesquelles tu
choisis "somme" dans la liste opérations.
Arnaud
PS : evite d'appeler un champ "date" car c'est un nom
reservé access
Alain wrote:Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
.
-----Message d'origine-----
Bonjour,
Tu te crées une nouvelle requête selection et tu ajoutes
la table MaTable.
Tu cliques sur le bouton "opérations" (le sigma grec).
Tu crées un premier champ ou tu entres Mois([MaTable].
[Date]) et dans la
liste opérations tu choisis "regroupement". Tu crées un
deuxième champs où
tu entres Année([MaTable].[Date]) et idem tu choisis
regroupement.
Tu selectionnes ensuites les champs logiciel et materiel
pour lesquelles tu
choisis "somme" dans la liste opérations.
Arnaud
PS : evite d'appeler un champ "date" car c'est un nom
reservé access
Alain wrote:
Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
.
-----Message d'origine-----
Bonjour,
Tu te crées une nouvelle requête selection et tu ajoutes
la table MaTable.
Tu cliques sur le bouton "opérations" (le sigma grec).
Tu crées un premier champ ou tu entres Mois([MaTable].
[Date]) et dans la
liste opérations tu choisis "regroupement". Tu crées un
deuxième champs où
tu entres Année([MaTable].[Date]) et idem tu choisis
regroupement.
Tu selectionnes ensuites les champs logiciel et materiel
pour lesquelles tu
choisis "somme" dans la liste opérations.
Arnaud
PS : evite d'appeler un champ "date" car c'est un nom
reservé access
Alain wrote:Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
.
Bonjour
J'ai suivi tes instructions mais le résultat n'est pas
celui que j'attend.
En effetj'obtiens un cumul mois par mois
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 70 60
Avr 05 10 30
Tandis que ce que je souhaite calculer le tatol sur un
mois et ajouter au mois en cours le montant du mois
précédant.
cdlt
Alain-----Message d'origine-----
Bonjour,
Tu te crées une nouvelle requête selection et tu ajoutes
la table MaTable.Tu cliques sur le bouton "opérations" (le sigma grec).
Tu crées un premier champ ou tu entres Mois([MaTable].
[Date]) et dans laliste opérations tu choisis "regroupement". Tu crées un
deuxième champs oùtu entres Année([MaTable].[Date]) et idem tu choisis
regroupement.Tu selectionnes ensuites les champs logiciel et materiel
pour lesquelles tuchoisis "somme" dans la liste opérations.
Arnaud
PS : evite d'appeler un champ "date" car c'est un nom
reservé accessAlain wrote:Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
.
Bonjour
J'ai suivi tes instructions mais le résultat n'est pas
celui que j'attend.
En effetj'obtiens un cumul mois par mois
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 70 60
Avr 05 10 30
Tandis que ce que je souhaite calculer le tatol sur un
mois et ajouter au mois en cours le montant du mois
précédant.
cdlt
Alain
-----Message d'origine-----
Bonjour,
Tu te crées une nouvelle requête selection et tu ajoutes
la table MaTable.
Tu cliques sur le bouton "opérations" (le sigma grec).
Tu crées un premier champ ou tu entres Mois([MaTable].
[Date]) et dans la
liste opérations tu choisis "regroupement". Tu crées un
deuxième champs où
tu entres Année([MaTable].[Date]) et idem tu choisis
regroupement.
Tu selectionnes ensuites les champs logiciel et materiel
pour lesquelles tu
choisis "somme" dans la liste opérations.
Arnaud
PS : evite d'appeler un champ "date" car c'est un nom
reservé access
Alain wrote:
Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
.
Bonjour
J'ai suivi tes instructions mais le résultat n'est pas
celui que j'attend.
En effetj'obtiens un cumul mois par mois
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 70 60
Avr 05 10 30
Tandis que ce que je souhaite calculer le tatol sur un
mois et ajouter au mois en cours le montant du mois
précédant.
cdlt
Alain-----Message d'origine-----
Bonjour,
Tu te crées une nouvelle requête selection et tu ajoutes
la table MaTable.Tu cliques sur le bouton "opérations" (le sigma grec).
Tu crées un premier champ ou tu entres Mois([MaTable].
[Date]) et dans laliste opérations tu choisis "regroupement". Tu crées un
deuxième champs oùtu entres Année([MaTable].[Date]) et idem tu choisis
regroupement.Tu selectionnes ensuites les champs logiciel et materiel
pour lesquelles tuchoisis "somme" dans la liste opérations.
Arnaud
PS : evite d'appeler un champ "date" car c'est un nom
reservé accessAlain wrote:Bonjour
J'ai une table: MaTable qui contient les champs suivants
Date Logiciel Matériel
13/02/05 100 50
25/02/05 80 10
30/03/05 70 60
12/04/05 10 30
Quelle est la syntaxe de la requete qui me donne le
tableau suivant:
Période CumulLogiciel CumulMateriel
Fév 05 180 60
Mar 05 250 120
Avr 05 260 150
Merci pour votre aide
.
Bonjour Alain,
En sql ca donnerait en supposant que la table se nomme Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<=" & Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le 4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month(Date)<=" &
Mois([date])))
Bonjour Alain,
En sql ca donnerait en supposant que la table se nomme Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<=" & Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le 4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month(Date)<=" &
Mois([date])))
Bonjour Alain,
En sql ca donnerait en supposant que la table se nomme Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<=" & Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le 4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month(Date)<=" &
Mois([date])))
-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois([date]));3);3)
& " " &
Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3) & " "
& Year([date])
AS Période, Val(DSum("Logiciel","Alain","Month(Date)<=" &
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) AS
CumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &
Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureux
attribué çà la date.
A+
EricBonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée
sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors
utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &
Mois([date])))
.
-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois([date]));3);3)
& " " &
Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3) & " "
& Year([date])
AS Période, Val(DSum("Logiciel","Alain","Month(Date)<=" &
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) AS
CumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &
Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureux
attribué çà la date.
A+
Eric
Bonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée
sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors
utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &
Mois([date])))
.
-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois([date]));3);3)
& " " &
Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3) & " "
& Year([date])
AS Période, Val(DSum("Logiciel","Alain","Month(Date)<=" &
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) AS
CumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &
Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureux
attribué çà la date.
A+
EricBonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée
sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors
utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &
Mois([date])))
.
Merci Eric
Ta requete effectue éffectivement les cumuls
Par contre lorsque je l'execute, l'ordre du cumul est
l'ordre des mois sans tenir compte des années.
Quelle modif faut il y apporter ?
Pour info ma Table s'appelle : Projets
et mes champs sont:
PrixSoft
PrixHard
[Date Signature] = (que j'aurais du appeler DateSignature)
merci encore pour ron aide
@+
Alain-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois([date]));3);3)
& " " &Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3) & " "
& Year([date])AS Période, Val(DSum("Logiciel","Alain","Month(Date)<=" &
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) ASCumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureuxattribué çà la date.
A+
EricBonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) ASCumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée
sur la table Alain1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors
utilises :CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &Mois([date])))
.
Merci Eric
Ta requete effectue éffectivement les cumuls
Par contre lorsque je l'execute, l'ordre du cumul est
l'ordre des mois sans tenir compte des années.
Quelle modif faut il y apporter ?
Pour info ma Table s'appelle : Projets
et mes champs sont:
PrixSoft
PrixHard
[Date Signature] = (que j'aurais du appeler DateSignature)
merci encore pour ron aide
@+
Alain
-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois([date]));3);3)
& " " &
Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3) & " "
& Year([date])
AS Période, Val(DSum("Logiciel","Alain","Month(Date)<=" &
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) AS
CumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &
Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureux
attribué çà la date.
A+
Eric
Bonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée
sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors
utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &
Mois([date])))
.
Merci Eric
Ta requete effectue éffectivement les cumuls
Par contre lorsque je l'execute, l'ordre du cumul est
l'ordre des mois sans tenir compte des années.
Quelle modif faut il y apporter ?
Pour info ma Table s'appelle : Projets
et mes champs sont:
PrixSoft
PrixHard
[Date Signature] = (que j'aurais du appeler DateSignature)
merci encore pour ron aide
@+
Alain-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois([date]));3);3)
& " " &Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3) & " "
& Year([date])AS Période, Val(DSum("Logiciel","Alain","Month(Date)<=" &
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) ASCumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureuxattribué çà la date.
A+
EricBonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) ASCumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête basée
sur la table Alain1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls alors
utilises :CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &Mois([date])))
.
-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()
du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant la
colonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.
A+
EricMerci Eric
Ta requete effectue éffectivement les cumuls
Par contre lorsque je l'execute, l'ordre du cumul est
l'ordre des mois sans tenir compte des années.
Quelle modif faut il y apporter ?
Pour info ma Table s'appelle : Projets
et mes champs sont:
PrixSoft
PrixHard
[Date Signature] = (que j'aurais du appeler
DateSignature)
merci encore pour ron aide
@+
Alain-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois
([date]));3);3)
& " " &Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3)
& " "
& Year([date])AS Période, Val(DSum("Logiciel","Alain","Month(Date)<="
&
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) ASCumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureuxattribué çà la date.
A+
EricBonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) ASCumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête
basée
sur la table Alain1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls
alors
utilises :CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &Mois([date])))
.
.
-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()
du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant la
colonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.
A+
Eric
Merci Eric
Ta requete effectue éffectivement les cumuls
Par contre lorsque je l'execute, l'ordre du cumul est
l'ordre des mois sans tenir compte des années.
Quelle modif faut il y apporter ?
Pour info ma Table s'appelle : Projets
et mes champs sont:
PrixSoft
PrixHard
[Date Signature] = (que j'aurais du appeler
DateSignature)
merci encore pour ron aide
@+
Alain
-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois
([date]));3);3)
& " " &
Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3)
& " "
& Year([date])
AS Période, Val(DSum("Logiciel","Alain","Month(Date)<="
&
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) AS
CumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &
Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureux
attribué çà la date.
A+
Eric
Bonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)
SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) AS
CumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))
AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête
basée
sur la table Alain
1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &
Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &
Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.
Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls
alors
utilises :
CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &
Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &
Mois([date])))
.
.
-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()
du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant la
colonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.
A+
EricMerci Eric
Ta requete effectue éffectivement les cumuls
Par contre lorsque je l'execute, l'ordre du cumul est
l'ordre des mois sans tenir compte des années.
Quelle modif faut il y apporter ?
Pour info ma Table s'appelle : Projets
et mes champs sont:
PrixSoft
PrixHard
[Date Signature] = (que j'aurais du appeler
DateSignature)
merci encore pour ron aide
@+
Alain-----Message d'origine-----
..../...
Pour respecter la "casse" de la période, remplaces :
par : Période: MonthName(Mois([date]))
Période: ConvChaîne(Gauche(MonthName(Mois
([date]));3);3)
& " " &Année([date])
ce qui donne en sql :
SELECT StrConv(Left(MonthName(Month([date])),3),3)
& " "
& Year([date])AS Période, Val(DSum("Logiciel","Alain","Month(Date)<="
&
Month([date]))) AS CumulLogiciel,
Val(DSum("Matériel","Alain","Month(Date)<=" & Month
([date]))) ASCumulMateriel
FROM Alain
GROUP BY StrConv(Left(MonthName(Month([date])),3),3)
& " " &Year([date]), Month([date])
ORDER BY Month([date]);
De plus, suis entièrement d'accord avec Gafish pour le
nom malheureuxattribué çà la date.
A+
EricBonjour Alain,
En sql ca donnerait en supposant que la table se nomme
Alain ;-)SELECT MonthName(Month([date])) AS Période,
DSum("Logiciel","Alain","Month(Date)<=" & Month
([date])) ASCumulLogiciel, DSum("Matériel","Alain","Month(Date)<="
& Month([date]))AS CumulMateriel
FROM Alain
GROUP BY MonthName(Month([date])), Month([date])
ORDER BY Month([date]);
à copier dans la fenêtre SQL des requêtes.
A+
Eric
PS1 : Autre solution, en mode création de requête
basée
sur la table Alain1er champ : Période: MonthName(Mois([date]))
2eme champ : CumulLogiciel: SomDom
("Logiciel";"Alain";"Month(Date)<=" &Mois([date]))
3eme champ : CumulMateriel: SomDom
("Matériel";"Alain";"Month(Date)<=" &Mois([date]))
4eme champ : Expr1: Mois([date])
Afficher pour les 3 premiers, Afficher décoché pour le
4eme.Opérations : Regroupement pour le 1er et 4eme.
Opérations : Expression pour le 2e et 3eme.
Tri croissant pour le 4eme.
PS2 : Si tu veux afficher en numérique les cumuls
alors
utilises :CumulLogiciel: CNum(SomDom("Logiciel";"Alain";"Month
(Date)<=" &Mois([date])))
CumulMateriel: CNum(SomDom("Matériel";"Alain";"Month
(Date)<=" &Mois([date])))
.
.
Bonjour Eric
Tout d'abord encore merci pour ton aide précieuse
J'ai suivi tes conseils et je pense qu'on y est presque =
le seul pb c'est que mes totaux ne correspondent pas, je
pense peut être qu'il s'agit d'un pb de version de date
français et US
Voici mon tableau de valeurs mois / mois qui correspond à
la requete suivante :
SELECT (Format([Date Signature],"mmm"" '""yy")) AS
Période, Sum(Projets.PrixSoft) AS Logiciel, Sum
(Projets.PrixHard) AS Matériel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY (Format([Date Signature],"mmm"" '""yy")), (Year
([Date Signature])*12+Month([Date Signature])-1)
ORDER BY (Year([Date Signature])*12+Month([Date
Signature])-1);
Test 1
Période Logiciel Matériel
nov'04 2625
déc '04 5440 7441
janv '05 12522 6557
févr '05 17810 3250
mars '05 12875 1721
avr '05 8309 823
Et voici ce que j'obtiens avec ta requête => si je
regarde la colonne CumulLogiciel :
Nov et déc 2004 sont faux
Janv 2005 et Fév 2005 sont justes (c'est bien revenu à
zero en début d'année)
Mars 2005 et Avril 2005 sont faux
Période CumulLogiciel CumulMateriel
Nov 2004 144803 96647
Déc 2004 163843 106088
Jan 2005 12522 6557
Fév 2005 30332 9807
Mar 2005 45429 13798
Avr 2005 65187 28124
Ci-dessous ta requete correpondante
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " & Year([Date Signature]) AS
Période, Val(DSum("PrixSoft","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS
CumulLogiciel, Val(DSum("PrixHard","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS CumulMateriel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY Year([Date Signature]), Month([Date Signature]),
StrConv(Left(MonthName(Month([Date Signature])),3),3)
& " " & Year([Date Signature])
ORDER BY Year([Date Signature]), Month([Date Signature]);
As-tu une idée sur l'origine du pb ?
Encore merci pour ton aide et ta gentillesse
@+
Alain-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant lacolonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.A+
Eric
Bonjour Eric
Tout d'abord encore merci pour ton aide précieuse
J'ai suivi tes conseils et je pense qu'on y est presque =
le seul pb c'est que mes totaux ne correspondent pas, je
pense peut être qu'il s'agit d'un pb de version de date
français et US
Voici mon tableau de valeurs mois / mois qui correspond à
la requete suivante :
SELECT (Format([Date Signature],"mmm"" '""yy")) AS
Période, Sum(Projets.PrixSoft) AS Logiciel, Sum
(Projets.PrixHard) AS Matériel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY (Format([Date Signature],"mmm"" '""yy")), (Year
([Date Signature])*12+Month([Date Signature])-1)
ORDER BY (Year([Date Signature])*12+Month([Date
Signature])-1);
Test 1
Période Logiciel Matériel
nov'04 2625
déc '04 5440 7441
janv '05 12522 6557
févr '05 17810 3250
mars '05 12875 1721
avr '05 8309 823
Et voici ce que j'obtiens avec ta requête => si je
regarde la colonne CumulLogiciel :
Nov et déc 2004 sont faux
Janv 2005 et Fév 2005 sont justes (c'est bien revenu à
zero en début d'année)
Mars 2005 et Avril 2005 sont faux
Période CumulLogiciel CumulMateriel
Nov 2004 144803 96647
Déc 2004 163843 106088
Jan 2005 12522 6557
Fév 2005 30332 9807
Mar 2005 45429 13798
Avr 2005 65187 28124
Ci-dessous ta requete correpondante
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " & Year([Date Signature]) AS
Période, Val(DSum("PrixSoft","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS
CumulLogiciel, Val(DSum("PrixHard","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS CumulMateriel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY Year([Date Signature]), Month([Date Signature]),
StrConv(Left(MonthName(Month([Date Signature])),3),3)
& " " & Year([Date Signature])
ORDER BY Year([Date Signature]), Month([Date Signature]);
As-tu une idée sur l'origine du pb ?
Encore merci pour ton aide et ta gentillesse
@+
Alain
-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()
du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant la
colonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.
A+
Eric
Bonjour Eric
Tout d'abord encore merci pour ton aide précieuse
J'ai suivi tes conseils et je pense qu'on y est presque =
le seul pb c'est que mes totaux ne correspondent pas, je
pense peut être qu'il s'agit d'un pb de version de date
français et US
Voici mon tableau de valeurs mois / mois qui correspond à
la requete suivante :
SELECT (Format([Date Signature],"mmm"" '""yy")) AS
Période, Sum(Projets.PrixSoft) AS Logiciel, Sum
(Projets.PrixHard) AS Matériel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY (Format([Date Signature],"mmm"" '""yy")), (Year
([Date Signature])*12+Month([Date Signature])-1)
ORDER BY (Year([Date Signature])*12+Month([Date
Signature])-1);
Test 1
Période Logiciel Matériel
nov'04 2625
déc '04 5440 7441
janv '05 12522 6557
févr '05 17810 3250
mars '05 12875 1721
avr '05 8309 823
Et voici ce que j'obtiens avec ta requête => si je
regarde la colonne CumulLogiciel :
Nov et déc 2004 sont faux
Janv 2005 et Fév 2005 sont justes (c'est bien revenu à
zero en début d'année)
Mars 2005 et Avril 2005 sont faux
Période CumulLogiciel CumulMateriel
Nov 2004 144803 96647
Déc 2004 163843 106088
Jan 2005 12522 6557
Fév 2005 30332 9807
Mar 2005 45429 13798
Avr 2005 65187 28124
Ci-dessous ta requete correpondante
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " & Year([Date Signature]) AS
Période, Val(DSum("PrixSoft","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS
CumulLogiciel, Val(DSum("PrixHard","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS CumulMateriel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY Year([Date Signature]), Month([Date Signature]),
StrConv(Left(MonthName(Month([Date Signature])),3),3)
& " " & Year([Date Signature])
ORDER BY Year([Date Signature]), Month([Date Signature]);
As-tu une idée sur l'origine du pb ?
Encore merci pour ton aide et ta gentillesse
@+
Alain-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant lacolonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.A+
Eric
-----Message d'origine-----
Bonsoir Alain,
A premiere vue, c'est normal d'obtenir des résultats
différents puisque
tu as un critère restrictif supplémentaire : les projets
dont le statut
est 4 (ta clause Where Projets.Statut='4'). Donc dans les
fonctions
DSum() il faudrait aussi ajouter ce critère.
De plus, je remarque que tu n'as pas modifié les
criteres des Dsum()
incorporant l'année, je suppose que c'est une erreur de
copier-coller ?
En tenant compte du nouveau critere, le sql devient (à
copier-coller
dans la fenetre SQL du concepteur de requête, les noms de
la table et
des champs doivent être bons, j'ai adapté) :
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " &
Year([Date Signature]) AS Période,
Val(DSum("PrixSoft","Projets","Month([Date Signature])<="
& Month([Date
Signature]) & " and year([Date Signature])=" & Year
([Date Signature]) &
" And Statut = '4'")) AS CumulLogiciel,
Val(DSum("PrixHard","Projets","Month([Date Signature])<="
& Month([Date
Signature]) & " and year([Date Signature])=" & Year
([Date Signature]) &
" and statut='4'")) AS CumulMateriel
FROM Projets
GROUP BY StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " &
Year([Date Signature]), Year([Date Signature]), Month
([Date Signature])
ORDER BY Year([Date Signature]), Month([Date Signature]);
A+
EricBonjour Eric
Tout d'abord encore merci pour ton aide précieuse
J'ai suivi tes conseils et je pense qu'on y est presque
=
le seul pb c'est que mes totaux ne correspondent pas,
je
pense peut être qu'il s'agit d'un pb de version de date
français et US
Voici mon tableau de valeurs mois / mois qui correspond
à
la requete suivante :
SELECT (Format([Date Signature],"mmm"" '""yy")) AS
Période, Sum(Projets.PrixSoft) AS Logiciel, Sum
(Projets.PrixHard) AS Matériel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY (Format([Date Signature],"mmm"" '""yy")), (Year
([Date Signature])*12+Month([Date Signature])-1)
ORDER BY (Year([Date Signature])*12+Month([Date
Signature])-1);
Test 1
Période Logiciel Matériel
nov'04 2625
déc '04 5440 7441
janv '05 12522 6557
févr '05 17810 3250
mars '05 12875 1721
avr '05 8309 823
Et voici ce que j'obtiens avec ta requête => si je
regarde la colonne CumulLogiciel :
Nov et déc 2004 sont faux
Janv 2005 et Fév 2005 sont justes (c'est bien revenu à
zero en début d'année)
Mars 2005 et Avril 2005 sont faux
Période CumulLogiciel CumulMateriel
Nov 2004 144803 96647
Déc 2004 163843 106088
Jan 2005 12522 6557
Fév 2005 30332 9807
Mar 2005 45429 13798
Avr 2005 65187 28124
Ci-dessous ta requete correpondante
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " & Year([Date Signature]) AS
Période, Val(DSum("PrixSoft","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS
CumulLogiciel, Val(DSum("PrixHard","Projets","Month
([Date
Signature])<=" & Month([Date Signature]))) AS
CumulMateriel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY Year([Date Signature]), Month([Date
Signature]),
StrConv(Left(MonthName(Month([Date Signature])),3),3)
& " " & Year([Date Signature])
ORDER BY Year([Date Signature]), Month([Date
Signature]);
As-tu une idée sur l'origine du pb ?
Encore merci pour ton aide et ta gentillesse
@+
Alain-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant lacolonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.A+
Eric
.
-----Message d'origine-----
Bonsoir Alain,
A premiere vue, c'est normal d'obtenir des résultats
différents puisque
tu as un critère restrictif supplémentaire : les projets
dont le statut
est 4 (ta clause Where Projets.Statut='4'). Donc dans les
fonctions
DSum() il faudrait aussi ajouter ce critère.
De plus, je remarque que tu n'as pas modifié les
criteres des Dsum()
incorporant l'année, je suppose que c'est une erreur de
copier-coller ?
En tenant compte du nouveau critere, le sql devient (à
copier-coller
dans la fenetre SQL du concepteur de requête, les noms de
la table et
des champs doivent être bons, j'ai adapté) :
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " &
Year([Date Signature]) AS Période,
Val(DSum("PrixSoft","Projets","Month([Date Signature])<="
& Month([Date
Signature]) & " and year([Date Signature])=" & Year
([Date Signature]) &
" And Statut = '4'")) AS CumulLogiciel,
Val(DSum("PrixHard","Projets","Month([Date Signature])<="
& Month([Date
Signature]) & " and year([Date Signature])=" & Year
([Date Signature]) &
" and statut='4'")) AS CumulMateriel
FROM Projets
GROUP BY StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " &
Year([Date Signature]), Year([Date Signature]), Month
([Date Signature])
ORDER BY Year([Date Signature]), Month([Date Signature]);
A+
Eric
Bonjour Eric
Tout d'abord encore merci pour ton aide précieuse
J'ai suivi tes conseils et je pense qu'on y est presque
=
le seul pb c'est que mes totaux ne correspondent pas,
je
pense peut être qu'il s'agit d'un pb de version de date
français et US
Voici mon tableau de valeurs mois / mois qui correspond
à
la requete suivante :
SELECT (Format([Date Signature],"mmm"" '""yy")) AS
Période, Sum(Projets.PrixSoft) AS Logiciel, Sum
(Projets.PrixHard) AS Matériel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY (Format([Date Signature],"mmm"" '""yy")), (Year
([Date Signature])*12+Month([Date Signature])-1)
ORDER BY (Year([Date Signature])*12+Month([Date
Signature])-1);
Test 1
Période Logiciel Matériel
nov'04 2625
déc '04 5440 7441
janv '05 12522 6557
févr '05 17810 3250
mars '05 12875 1721
avr '05 8309 823
Et voici ce que j'obtiens avec ta requête => si je
regarde la colonne CumulLogiciel :
Nov et déc 2004 sont faux
Janv 2005 et Fév 2005 sont justes (c'est bien revenu à
zero en début d'année)
Mars 2005 et Avril 2005 sont faux
Période CumulLogiciel CumulMateriel
Nov 2004 144803 96647
Déc 2004 163843 106088
Jan 2005 12522 6557
Fév 2005 30332 9807
Mar 2005 45429 13798
Avr 2005 65187 28124
Ci-dessous ta requete correpondante
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " & Year([Date Signature]) AS
Période, Val(DSum("PrixSoft","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS
CumulLogiciel, Val(DSum("PrixHard","Projets","Month
([Date
Signature])<=" & Month([Date Signature]))) AS
CumulMateriel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY Year([Date Signature]), Month([Date
Signature]),
StrConv(Left(MonthName(Month([Date Signature])),3),3)
& " " & Year([Date Signature])
ORDER BY Year([Date Signature]), Month([Date
Signature]);
As-tu une idée sur l'origine du pb ?
Encore merci pour ton aide et ta gentillesse
@+
Alain
-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()
du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([Date
Signature])<=" & Mois([Date Signature]) & " and year
([Date
Signature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant la
colonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.
A+
Eric
.
-----Message d'origine-----
Bonsoir Alain,
A premiere vue, c'est normal d'obtenir des résultats
différents puisque
tu as un critère restrictif supplémentaire : les projets
dont le statut
est 4 (ta clause Where Projets.Statut='4'). Donc dans les
fonctions
DSum() il faudrait aussi ajouter ce critère.
De plus, je remarque que tu n'as pas modifié les
criteres des Dsum()
incorporant l'année, je suppose que c'est une erreur de
copier-coller ?
En tenant compte du nouveau critere, le sql devient (à
copier-coller
dans la fenetre SQL du concepteur de requête, les noms de
la table et
des champs doivent être bons, j'ai adapté) :
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " &
Year([Date Signature]) AS Période,
Val(DSum("PrixSoft","Projets","Month([Date Signature])<="
& Month([Date
Signature]) & " and year([Date Signature])=" & Year
([Date Signature]) &
" And Statut = '4'")) AS CumulLogiciel,
Val(DSum("PrixHard","Projets","Month([Date Signature])<="
& Month([Date
Signature]) & " and year([Date Signature])=" & Year
([Date Signature]) &
" and statut='4'")) AS CumulMateriel
FROM Projets
GROUP BY StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " &
Year([Date Signature]), Year([Date Signature]), Month
([Date Signature])
ORDER BY Year([Date Signature]), Month([Date Signature]);
A+
EricBonjour Eric
Tout d'abord encore merci pour ton aide précieuse
J'ai suivi tes conseils et je pense qu'on y est presque
=
le seul pb c'est que mes totaux ne correspondent pas,
je
pense peut être qu'il s'agit d'un pb de version de date
français et US
Voici mon tableau de valeurs mois / mois qui correspond
à
la requete suivante :
SELECT (Format([Date Signature],"mmm"" '""yy")) AS
Période, Sum(Projets.PrixSoft) AS Logiciel, Sum
(Projets.PrixHard) AS Matériel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY (Format([Date Signature],"mmm"" '""yy")), (Year
([Date Signature])*12+Month([Date Signature])-1)
ORDER BY (Year([Date Signature])*12+Month([Date
Signature])-1);
Test 1
Période Logiciel Matériel
nov'04 2625
déc '04 5440 7441
janv '05 12522 6557
févr '05 17810 3250
mars '05 12875 1721
avr '05 8309 823
Et voici ce que j'obtiens avec ta requête => si je
regarde la colonne CumulLogiciel :
Nov et déc 2004 sont faux
Janv 2005 et Fév 2005 sont justes (c'est bien revenu à
zero en début d'année)
Mars 2005 et Avril 2005 sont faux
Période CumulLogiciel CumulMateriel
Nov 2004 144803 96647
Déc 2004 163843 106088
Jan 2005 12522 6557
Fév 2005 30332 9807
Mar 2005 45429 13798
Avr 2005 65187 28124
Ci-dessous ta requete correpondante
SELECT StrConv(Left(MonthName(Month([Date
Signature])),3),3) & " " & Year([Date Signature]) AS
Période, Val(DSum("PrixSoft","Projets","Month([Date
Signature])<=" & Month([Date Signature]))) AS
CumulLogiciel, Val(DSum("PrixHard","Projets","Month
([Date
Signature])<=" & Month([Date Signature]))) AS
CumulMateriel
FROM Projets
WHERE (((Projets.Statut)='4'))
GROUP BY Year([Date Signature]), Month([Date
Signature]),
StrConv(Left(MonthName(Month([Date Signature])),3),3)
& " " & Year([Date Signature])
ORDER BY Year([Date Signature]), Month([Date
Signature]);
As-tu une idée sur l'origine du pb ?
Encore merci pour ton aide et ta gentillesse
@+
Alain-----Message d'origine-----
Bonjour Alain,
Il faut mettre une restriction de plus dans la fonction
SomDom()du style :
CumulLogiciel: CNum(SomDom("PrixSoft";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
et
CumulMateriel: CNum(SomDom("PrixHard";"Alain";"Month
([DateSignature])<=" & Mois([Date Signature]) & " and year
([DateSignature])=" & Année([Date Signature])))
De plus il faut que tu inseres, dans la requête, une
colonne avant lacolonne calculant le rang du mois.
Année: Année([Date Signature])
Tri croissant
Afficher décoché
Les cumuls avec ces formules repartent à 0 pour chaque
changement d'année.A+
Eric
.