OVH Cloud OVH Cloud

pourcentage ds requete

6 réponses
Avatar
AIR'H
Bonjour à tous

j'ai un probleme. Je dois créer une requete qui me permette de trouver un
pourcentage
exemple :
ds une table candidat j'ai un champ [sexe] homme ou femme
je voudrai faire une requete qui me calcule le % h/f

j'ai essayé de faire

R1 une 1ère requete qui me comptabilise tous les sexes compte([sexe])
R2 une autre requete qui me filtre les femmes
et je voudrai faire un truc du style R2/R1*100
biensur ca ne marche pas

auriez vous des idées svp

merci d'avance

BV

6 réponses

Avatar
Eric
"AIR'H" écrivait news:ca6j9s$e5l$
reader4.wanadoo.fr:

Bonjour à tous

j'ai un probleme. Je dois créer une requete qui me permette de trouver
un

pourcentage
exemple :
ds une table candidat j'ai un champ [sexe] homme ou femme
je voudrai faire une requete qui me calcule le % h/f

j'ai essayé de faire

R1 une 1ère requete qui me comptabilise tous les sexes compte([sexe])
R2 une autre requete qui me filtre les femmes
et je voudrai faire un truc du style R2/R1*100
biensur ca ne marche pas

auriez vous des idées svp

merci d'avance

BV




Bonjour BV,

Dans ta requête : avec la seule table candidat
1er champs : Sexe
2eme champs : (Champs calculé) Nb:Sexe
3eme Champs : (champs calculé) Pourcentage :Compte([Sexe])/CpteDom
("[Sexe]";"Candidat")

Tu demandes les Opérations (Sigma sur la barre d'outils)
1er champs : Regroupement
2eme champs : Compte
3eme champs : Expression et Format Pourcentage.

Ca devrait répondre à ton problème

A+
Eric

Avatar
Raymond [mvp]
Bonjour.

es-tu sûre de vouloir une requête ?
une petite arithmétique en vba et ...
Dim H As Long
Dim F As Long
Dim R As Single
H = DCount("*", "table1", "[sexe]='H'")
F = DCount("*", "table1", "[sexe]='F'")
R = F * 100 / (H + F)
MsgBox "Pourcentage des hommes = " & R & "%"

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"AIR'H" a écrit dans le message de
news:ca6j9s$e5l$
Bonjour à tous

j'ai un probleme. Je dois créer une requete qui me permette de trouver un
pourcentage
exemple :
ds une table candidat j'ai un champ [sexe] homme ou femme
je voudrai faire une requete qui me calcule le % h/f

j'ai essayé de faire

R1 une 1ère requete qui me comptabilise tous les sexes compte([sexe])
R2 une autre requete qui me filtre les femmes
et je voudrai faire un truc du style R2/R1*100
biensur ca ne marche pas

auriez vous des idées svp

merci d'avance

BV




Avatar
Eric
Bonjour Raymond,

"Raymond [mvp]" écrivait
Dim H As Long
Dim F As Long
Dim R As Single
H = DCount("*", "table1", "[sexe]='H'")
F = DCount("*", "table1", "[sexe]='F'")
R = F * 100 / (H + F)
MsgBox "Pourcentage des hommes = " & R & "%"




Ils sont Hybrides tes Ohms là, non ? ;-)

A+
Eric

Avatar
AIR'H
Bonjour BV,

Dans ta requête : avec la seule table candidat
1er champs : Sexe


est ce que je spécifie "femme" ds la ligne critères ?

2eme champs : (Champs calculé) Nb:Sexe


dois je l'écrire comme ceci :
nb:compte([sexe]) par ce qu'il me l'interdit "....fonction d'agrégat"

3eme Champs : (champs calculé) Pourcentage
:Compte([Sexe])/CpteDom("[Sexe]";"Candidat")


marche pas

Avatar
Raymond [mvp]
moi j'adore l'arithmétique. quand on a la possibilité de faire des calculs
scientifiques et qu'on est réduit à une ligne des H / F, ça donne une notion
de l'infini.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Eric" a écrit dans le message de
news:
Bonjour Raymond,

"Raymond [mvp]" écrivait
Dim H As Long
Dim F As Long
Dim R As Single
H = DCount("*", "table1", "[sexe]='H'")
F = DCount("*", "table1", "[sexe]='F'")
R = F * 100 / (H + F)
MsgBox "Pourcentage des hommes = " & R & "%"




Ils sont Hybrides tes Ohms là, non ? ;-)

A+
Eric



Avatar
Eric
Re,

Comme je t'ai donné la requête ca marche.
Si tu veux que le % de femmes tu mets en critere sur le 1er champ (Sexe)
"femme" ou "F", je ne sais pas comment tu as codé le sexe.

Ton sql doit ressembler à ceci :
SELECT Candidat.Sexe, Count(Candidat.Sexe) AS Nb, Count([Sexe])/DCount
("[Sexe]","Candidat") AS Pourcentage
FROM Candidat
GROUP BY Candidat.Sexe
HAVING (((Candidat.Sexe)="Femme"));

Eric


"AIR'H" écrivait

Bonjour BV,

Dans ta requête : avec la seule table candidat 1er champs : Sexe


est ce que je spécifie "femme" ds la ligne critères ?

2eme champs : (Champs calculé) Nb:Sexe


dois je l'écrire comme ceci :
nb:compte([sexe]) par ce qu'il me l'interdit "....fonction d'agrégat"


Non, ecris-le comme je t'ai indiqué au départ

3eme Champs : (champs calculé) Pourcentage
:Compte([Sexe])/CpteDom("[Sexe]";"Candidat")


marche pas


Si si