OVH Cloud OVH Cloud

Dans un état la fonction somme

2 réponses
Avatar
jourdelan
Bonsoir tous le monde,
Avec Access 97
Je me heurte à un problème de somme dans un état :
je désire compter mes adhérents adultes et mes adhérents enfants,
je crée dans le pied d'état une zone de texte
avec la formule suivante
=somme([nb enfants]+[nb adultes]) et il me donne un chiffre éronné.
Quand je fais la somme séparément il me donne un résultat correct, mais
séparé.
Qui a une idée sur la question ?
D'avance merci
G.C

2 réponses

Avatar
3stone
Salut,

"jourdelan"
| Avec Access 97
| Je me heurte à un problème de somme dans un état :
| je désire compter mes adhérents adultes et mes adhérents enfants,
| je crée dans le pied d'état une zone de texte
| avec la formule suivante
| =somme([nb enfants]+[nb adultes]) et il me donne un chiffre éronné.
| Quand je fais la somme séparément il me donne un résultat correct, mais
| séparé.


Je ne pense pas que cela soit éronné...


Ce qu'il faut savoir, c'est que si tu fait =Sum([nb enfants])
il additionne toutes les valeurs *non Null*

Tandis que si tu fait Sum(enfants + adultes)
et que, la valeur des enfants est null tu obtiens:

Null + 2 = NULL !!!

Il faut donc, soit avoir une valeur par défaut (0) dans la table,
soit faire =Sum(Nz([nb enfants];0) + Nz([nb adultes];0))

ou =Sum(Nz([nb enfants]) + Nz([nb adultes]))


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Email : http://www.cerbermail.com/?Xfg61Z3IQw
Avatar
Lechatnoir
3stone wrote:
Salut,

"jourdelan"
Avec Access 97
Je me heurte à un problème de somme dans un état :
je désire compter mes adhérents adultes et mes adhérents enfants,
je crée dans le pied d'état une zone de texte
avec la formule suivante
=somme([nb enfants]+[nb adultes]) et il me donne un chiffre éronné.
Quand je fais la somme séparément il me donne un résultat correct,
mais séparé.



Je ne pense pas que cela soit éronné...
Il me donne le résultat 35 au lieu de 90, j'ai 14 enfants et 76 adultes

Ce qu'il faut savoir, c'est que si tu fait =Sum([nb enfants])
il additionne toutes les valeurs *non Null*

Tandis que si tu fait Sum(enfants + adultes)
et que, la valeur des enfants est null tu obtiens:

Null + 2 = NULL !!!
Merci, je ne sais pas ce qu'est une valeur NULL

Mais j'ai fait comme ça : =somme([nb enfants])+somme([nb adultes]) et ça
marche .


Il faut donc, soit avoir une valeur par défaut (0) dans la table,
soit faire =Sum(Nz([nb enfants];0) + Nz([nb adultes];0))

ou =Sum(Nz([nb enfants]) + Nz([nb adultes]))