OVH Cloud OVH Cloud

Total dans requête regroupement

5 réponses
Avatar
rose
bonjour =E0 tous,

je suis sous Access 2002
je g=E8re un fichier client
chaque client est cat=E9goris=E9

ex:
cat=E9gorie nomclient
agriculteur durand
apiculteur martin
agriculteur parcin
ostr=E9iculteur paulant

j'ai effectu=E9 une requ=EAte qui me comptabilise le nb de client par
cat=E9gorie:
cat=E9gorie : regroupement
nomclient : compte

ok, =E7a marche:
cat=E9gorie Nbnomclient
agriculteur 2
apiculteur 1
ostr=E9iculteur 1

Ma question:
dans cette m=EAme requ=EAte, est-il possible d'afficher le nombre total
de NomClient?

cat=E9gorie Nbnomclient TotalNomClient
agriculteur 2 4
apiculteur 1
ostr=E9iculteur 1


qu'en pensez-vous?
peut-=EAtre que je proc=E8de mal?
voulez-vous m'aider, svp????

Merci

5 réponses

Avatar
Eric
Bonjour rose,

Je ferai comme suit:

Tu affiches le code SQL de ta requête en cliquant sur la liste
déroulante associée au bouton Affichage [1er à gauche dans la barre
d'outils et choisis SQL - Mode SQL].

Tu dois trouver un code du genre : (adapter le nom de la table)
SELECT tROSE.Catégorie, Count(tROSE.nomclient) AS NombreNomClient
FROM tROSE
GROUP BY tROSE.Catégorie;

Tu supprimes le ; qui est à la fin, tu vas à la ligne et saisis :
UNION
SELECT "Total NomClient", Count(*)
FROM tRose;

Puis en cliquant sur le bouton Afficher tu auras le résultat suivant:

Catégorie NombreNomClient
Agriculteur 2
Apiculteur 1
Ostréiculteur 1
Total NomClient 4



bonjour à tous,

je suis sous Access 2002
je gère un fichier client
chaque client est catégorisé

ex:
catégorie nomclient
agriculteur durand
apiculteur martin
agriculteur parcin
ostréiculteur paulant

j'ai effectué une requête qui me comptabilise le nb de client par
catégorie:
catégorie : regroupement
nomclient : compte

ok, ça marche:
catégorie Nbnomclient
agriculteur 2
apiculteur 1
ostréiculteur 1

Ma question:
dans cette même requête, est-il possible d'afficher le nombre total
de NomClient?

catégorie Nbnomclient TotalNomClient
agriculteur 2 4
apiculteur 1
ostréiculteur 1


qu'en pensez-vous?
peut-être que je procède mal?
voulez-vous m'aider, svp????

Merci



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
rose
merci Eric, mais j'ai omis de préciser que ce total dépend d'un
critère (oui/non)
du coup, si je ne le mets pas dans le code SQL, il me compte tous mes
contacts...
peux-tu m'indiquer le code SQL pour les contacts 'bretons=oui'

UNION
SELECT "Total NomClient", Count(*) ---je suppose qu'il faut mettre le
critère ici???-----
FROM tRose;

merci beaucoup
Avatar
rose
merci à tous ceux qui ont voulu m'aider, mais je suis super contente,
j'ai trouvé toute seule:

UNION
SELECT "Total NomClient", Count(*) ---je suppose qu'il faut mettre le
critère ici??? ----- NON---------
FROM tRose
GROUP BY tRose ----------------- c'est
ici!!!-------------------------------
HAVING (((tRose.Breton)=Yes));

super génial quand ça marche!
thanks a lot Eric
Rose
Avatar
Eric
Bonjour rose,

merci à tous ceux qui ont voulu m'aider, mais je suis super contente,
j'ai trouvé toute seule:



Super pour toi , comme quoi la persévérance paie !


UNION
SELECT "Total NomClient", Count(*) ---je suppose qu'il faut mettre le
critère ici??? ----- NON---------
FROM tRose
GROUP BY tRose ----------------- c'est
ici!!!-------------------------------
HAVING (((tRose.Breton)=Yes));

Pour info,

Moi j'aurais mis un truc du genre :

SELECT tROSE.Catégorie, Count(tROSE.nomclient) AS NombreNomClient
FROM tROSE
WHERE breton = yes
GROUP BY tROSE.Catégorie
UNION
SELECT "Total", Count(*) AS NombreNomClient
FROM tROSE
WHERE breton = yes
;

car j'ai peur que ca plante
sur le GROUP BY tRose car rien ne figure après le nom de la
table, et de plus j'aurais remplacé Yes par TRUE.

Bonne continuation ;-)



--
A+
Eric
http://users.skynet.be/mpfa/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
rose
Eric
je prends note de tes conseils et j'apporte les modifs pour
vérification.
pour le moment ça ne bug pas, mais vaut mieux être prudent...

A une prochaine fois
Rose