OVH Cloud OVH Cloud

moyenne

1 réponse
Avatar
phil
Bonjour
Voici mon probl=E8me
J'ai des notes =E0 saisir pour un enregistrement et pour=20
lesquelles je fais une moyenne.
Pas de probl=E8me pour faire la somme des notes, pas de=20
probl=E8me pour conna=EEtre le nombre de note saisie avec une=20
condition VraiFaux et je touve la moyenne sans probl=E8me,=20
par contre quand je veux classer les enregistrements par=20
moyenne croissante ou descendante je ne peux pas car ce=20
chance est inactif, comment faire ce tri en VBA.
merci d'avance pour une solution
Phil

1 réponse

Avatar
Benoit Compoint
Bonjour,

En VBA on peut utiliser DAO pour ouvrir un objet Recordset de type Dynaset
(ou Snapshot) et utiliser la propriété Sort du Recordset.

En fait il serait plus efficace d'ouvrir un Recordset basé sur chaîne SQL
utilisant le nom de votre requête (écrite pour calculer la moyenne des
notes) après la clause "From" et le nom du champ calculé (correspondant à la
moyenne) après la clause "Order By".
De cette seconde solution on peut aussi déduire qu'il est inutile d'écrire
une procédure VBA pour effectuer ce tri, puisqu'il suffit de créer une
seconde requête basée sur la première requête.

Enfin je précise que pour effectuer le calcul de la moyenne il est inutile
d'effectuer la somme des notes pour chaque personne et de la diviser par le
nombre de notes pour chaque personne et d'utiliser la fonction VraiFaux
(pour discriminer les personnes sans note) puisque la fonction SQL
aggrégative Average (en français "Moyenne") permet d'arriver plus rapidement
au même résultat. D'autant plus que l'usage de la fonction SQL aggrégative
Average permet à Access d'effectuer un tri en fonction de la moyenne ainsi
calculée sans faire appel à une procédure VBA ou à une requête
supplémentaire.

Benoît Compoint.

"phil" wrote in message
news:06b201c37854$f90d24c0$
Bonjour
Voici mon problème
J'ai des notes à saisir pour un enregistrement et pour
lesquelles je fais une moyenne.
Pas de problème pour faire la somme des notes, pas de
problème pour connaître le nombre de note saisie avec une
condition VraiFaux et je touve la moyenne sans problème,
par contre quand je veux classer les enregistrements par
moyenne croissante ou descendante je ne peux pas car ce
chance est inactif, comment faire ce tri en VBA.
merci d'avance pour une solution
Phil