Forum - Questions générale - Sujet n°672

[]
Nombre de membres 1 membre
Connectés : ( personne )
 

La Charte du Forum - La Charte du Forum

Forum - Forum
Questions générale - Questions générale


clos par 3Stone le 31/05/2013 : 00:16  Sujet n° 672  Champ somme cumulée

le 04/04/2013 : 15:30
par Audeo

Anonyme

visiteur

Bjr,
je souhaiterai obtenir d'un champ d'une table ou requête suivante, la somme cumulée d'un champ en fonction d'un critére d'un des autre champ de la même table ou requete: exemple le champ "Cumul", critère "Nom" :
ID / Nom / Nbre / Cumul
1 / Toto / 2,5 / 2,5
2 / Toto / 1,5 / 4
3 / Toto / 2 / 6
4 / Titi / 2 / 2
5 / Titi / 9 / 11
Est-ce possible avec SomDom par exemple ou autre ?
Merci de votre aide
 sujet clos  Haut

[]   

Réponse n° 1
--------
le 04/04/2013 : 15:50
par 3Stone

3Stone

Administrateur

Bonjour,

Dans un état, il suffit de créer un regroupement sur le champ [Nbre] et la somme du champ[Cumul].

Dans une requête (ou même dans une zone de texte d'un formulaire), tu peux effectivement utiliser une fonction de domaine comme DSum().

Dans la requête, tu crées un champ calculé:
Total: DSum("[Cumul]","[nom de la table]";"[Nom]=' & [Nom] & "'")

Cordialement,
Pierre(3stone)
  clos par 3Stone le 31/05/2013 : 00:16  Haut
Réponse n° 2
--------
le 04/04/2013 : 16:18
par Audeo

Anonyme

visiteur
J'ai essayé ça :
Total : DSum("[CountryHours]";"[0-QryBDDDetail]";"[Billable Entity]=' & [Billable Entity] & "'")
mais marche pas...
  clos par 3Stone le 31/05/2013 : 00:16  Haut
Réponse n° 3
--------
le 04/04/2013 : 17:25
par 3Stone

3Stone

Administrateur

Si [Billable Entity] est numérique, il ne faut pas les guillemets...

la fin :
"[Billable Entity]=" & [Billable Entity]


Note, le premier est le champ dans la table; le second le nom dans le formulaire.

Cordialement,
Pierre(3stone)
  clos par 3Stone le 31/05/2013 : 00:16  Haut
Réponse n° 4
--------
le 05/04/2013 : 09:24
par Audeo

Anonyme

visiteur
[Billable Entity] est un champ texte de la requête, il n'y a pas de formulaire

Cdlt
  clos par 3Stone le 31/05/2013 : 00:16  Haut
Réponse n° 5
--------
le 05/04/2013 : 14:16
par 3Stone

3Stone

Administrateur

Bonjour,

Utilise une requête de regroupement dans ce cas.
Cela donne quelque chose comme :

 
Code :
SELECT Sum(Cumul) AS SommeDeCumul
FROM NomTable
GROUP BY [Nom]
HAVING [Nom]="Toto";
 
que tu créeras avec le requêteur graphique.
Le regroupement est obtenu par le menu "Affichage, Totaux" ou par clic droit dans la requête, selon ta version d'Access. Tu n'obtiendras évidemment pas les regroupements pour tous les "Nom" en une seule requête.
Je ne vois d'ailleurs pas l'utilité de faire cela au niveau d'une requête (qui n'est jamais utilisée directement) qui ne sert qu'à alimenter un formulaire (continu dans ton cas - pour que chaque ligne représente un regroupement) ou un état (qui apporte des regroupements multiples et bien plus).

Cordialement,
Pierre(3stone)
  clos par 3Stone le 31/05/2013 : 00:16  Haut
actif sujet actif   clos sujet clos   Important! Important!   Nouveau Nouveau message   -   Rectifier Rectifier message   Clôturer Clôturer sujet   Remonter Remonter
[]
Catégories de discussion  Forum 



Haut