OVH Cloud OVH Cloud

Cumul par groupe

5 réponses
Avatar
Jo
Bonjour!

J'ai un =E9tat aevc 3 regroupements
Groupe par =E9tabalissement
Groupe par cat=E9gorie
Groupe par sous-cat=E9gorie

Le d=E9tail ressemble =E0 ceci
moncode mavaleur
1101 33
1102 42 =09
1102a 7
la valeur du code se terminant par une lettre ne doit pas=20
se retrouver dans le total des groupes (ici, 7 =E9tant =20
compris dans 42)
J'ai donc mis une zone de texe cumul (par groupe) dans=20
le d=E9tail:
Cumul_mavaleur =3DVraiFaux(Droite([moncode;1) Entre "0"=20
Et "9";[mavaleur];0)

mon probl=E8me:
le total du groupe Sous-cat=E9gorie fonctionne bien, mais=20
le total des 2 autres groupes me donne toujours le m=EAme=20
total que le groupe sous-cat=E9gorie, et je ne comprend pas=20
pourqoui.

help please!

5 réponses

Avatar
Michel Walsh
Salut,


Essaie de grouper sur l'expression:

val(monCode)


La méthode val retourne le nombre le plus précis que possible, du début de
la chaîne, mais cesse dès qu'il y a quelque chose de pas correct.

? val("1102")
1102

? val("1102a2")
1102

? val("1102e2")
110200



Espérant être utile,
Vanderghast, Access MVP


"Jo" wrote in message
news:17f9301c44998$5cbd8f40$
Bonjour!

J'ai un état aevc 3 regroupements
Groupe par étabalissement
Groupe par catégorie
Groupe par sous-catégorie

Le détail ressemble à ceci
moncode mavaleur
1101 33
1102 42
1102a 7
la valeur du code se terminant par une lettre ne doit pas
se retrouver dans le total des groupes (ici, 7 étant
compris dans 42)
J'ai donc mis une zone de texe cumul (par groupe) dans
le détail:
Cumul_mavaleur =VraiFaux(Droite([moncode;1) Entre "0"
Et "9";[mavaleur];0)

mon problème:
le total du groupe Sous-catégorie fonctionne bien, mais
le total des 2 autres groupes me donne toujours le même
total que le groupe sous-catégorie, et je ne comprend pas
pourqoui.

help please!
Avatar
Jo
Merci de me répondre si vite Vanderghast!

Je viens d'essayer ta suggestion, masi ça ne règle pas
mon problème.
Mon problème se situe au niveau des totaux dans les pieds
de groupe. C'est comme si le cumul se fait seulement
pour le groupe sous-catégorie, mais je veux l'avoir pour
les autres groupes.

Johanne

-----Message d'origine-----
Salut,


Essaie de grouper sur l'expression:

val(monCode)


La méthode val retourne le nombre le plus précis que
possible, du début de

la chaîne, mais cesse dès qu'il y a quelque chose de pas
correct.


? val("1102")
1102

? val("1102a2")
1102

? val("1102e2")
110200



Espérant être utile,
Vanderghast, Access MVP




Avatar
Michel Walsh
Salut,


Dans un état? placer le:

=SUM( ChampÀSommer )


dans le "pied" de groupe approprié, probablement le "Report Footer" ( pied
d'état) si le total universel (sur tout l'état) est désiré.



Attention, le "groupe" est au sens de GROUP BY, non au sens disposition sur
le papier (par exemple, =SUM( ) sur un pied de PAGE de papier ne produit
pas la somme de ce qui est sur la page de papier, car une page de papier
n'est pas un GROUP BY possible, aus sens SQL).



Vanderghast, Access MVP



"Jo" wrote in message
news:17fde01c4499d$27021ec0$
Merci de me répondre si vite Vanderghast!

Je viens d'essayer ta suggestion, masi ça ne règle pas
mon problème.
Mon problème se situe au niveau des totaux dans les pieds
de groupe. C'est comme si le cumul se fait seulement
pour le groupe sous-catégorie, mais je veux l'avoir pour
les autres groupes.

Johanne

-----Message d'origine-----
Salut,


Essaie de grouper sur l'expression:

val(monCode)


La méthode val retourne le nombre le plus précis que
possible, du début de

la chaîne, mais cesse dès qu'il y a quelque chose de pas
correct.


? val("1102")
1102

? val("1102a2")
1102

? val("1102e2")
110200



Espérant être utile,
Vanderghast, Access MVP




Avatar
Jo
Si je fais somme([mavaleur]) dans le pied des groupes ça
fonctionne c'est sûr, mais ça va inclure les sous-codes
(1102a...) et je ne les veux pas dans les totaux. C'est
pour ça que je passe par un cumul.

-----Message d'origine-----
Salut,


Dans un état? placer le:

=SUM( ChampÀSommer )


dans le "pied" de groupe approprié, probablement
le "Report Footer" ( pied

d'état) si le total universel (sur tout l'état) est
désiré.




Attention, le "groupe" est au sens de GROUP BY, non au
sens disposition sur

le papier (par exemple, =SUM( ) sur un pied de PAGE de
papier ne produit

pas la somme de ce qui est sur la page de papier, car
une page de papier

n'est pas un GROUP BY possible, aus sens SQL).



Vanderghast, Access MVP



Avatar
Michel Walsh
Salut,


Je suis un peu lent à comprendre... :-)

DSum("mavaleur", "matable", "moncode=val(moncode)")

ne prendra pas 1102a (car 1102a <> 1102 ), mais prendra les 1102;


alternativement: iif( moncode=val(moncode), 0, mavaleur)


Ta syntaxe initiale (il te manque un ] ) devrait fonctionner si
moncode ne se termine pas par un espace blanc:


? eval(" ' ' BETWEEN '0' AND '9' ")
0



Vanderghast, Access MVP


"Jo" wrote in message
news:17d8701c449a2$81af1080$
Si je fais somme([mavaleur]) dans le pied des groupes ça
fonctionne c'est sûr, mais ça va inclure les sous-codes
(1102a...) et je ne les veux pas dans les totaux. C'est
pour ça que je passe par un cumul.

-----Message d'origine-----
Salut,


Dans un état? placer le:

=SUM( ChampÀSommer )


dans le "pied" de groupe approprié, probablement
le "Report Footer" ( pied

d'état) si le total universel (sur tout l'état) est
désiré.




Attention, le "groupe" est au sens de GROUP BY, non au
sens disposition sur

le papier (par exemple, =SUM( ) sur un pied de PAGE de
papier ne produit

pas la somme de ce qui est sur la page de papier, car
une page de papier

n'est pas un GROUP BY possible, aus sens SQL).



Vanderghast, Access MVP