OVH Cloud OVH Cloud

Classement

3 réponses
Avatar
db
Bonjour,
J'ai, dans une requete,un champ calculé qui additionne les résulats de 4
autres champs et les classe en décroissant. c'est un challenge sportif.
Je cherche donc à afficher la place dans un état et je ne trouve pas de
solutions.
Merci

3 réponses

Avatar
Ilan
Bonjour, en fait d'après ce que je comprends il te faut compter le nombre de
champ calculé supérieur pour chaque enregistrement pour avoir la place.
Ce qui donne peut-être :

SELECT a.candidat, a.champ1+a.champ2+a.champ3+a.champ4 AS Result,
1+COUNT(B.champ1+b.champ2+B.champ3+B.champ4) FROM TABLE as A
LEFT JOIN TABLE as B ON
b.champ1+b.champ2+b.champ3+b.champ4 >
a.champ1+a.champ2+a.champ3+a.champ4
GROUP BY a.candidat, a.champ1+a.champ2+a.champ3+a.champ4
ORDER BY a.champ1+a.champ2+a.champ3+a.champ4 DESC;

Pour chaque candidat tu récupéres le champ calculé et le nombre de champ
calculé supérieur au sien +1; ce qui devrait te donner sa place. Remplace
évidemment le nom de la table et des champs par les tiens.


Bonjour,
J'ai, dans une requete,un champ calculé qui additionne les résulats de 4
autres champs et les classe en décroissant. c'est un challenge sportif.
Je cherche donc à afficher la place dans un état et je ne trouve pas de
solutions.
Merci



Avatar
db
Ilan wrote:
Bonjour, en fait d'après ce que je comprends il te faut compter le nombre de
champ calculé supérieur pour chaque enregistrement pour avoir la place.
Ce qui donne peut-être :

SELECT a.candidat, a.champ1+a.champ2+a.champ3+a.champ4 AS Result,
1+COUNT(B.champ1+b.champ2+B.champ3+B.champ4) FROM TABLE as A
LEFT JOIN TABLE as B ON
b.champ1+b.champ2+b.champ3+b.champ4 >
a.champ1+a.champ2+a.champ3+a.champ4
GROUP BY a.candidat, a.champ1+a.champ2+a.champ3+a.champ4
ORDER BY a.champ1+a.champ2+a.champ3+a.champ4 DESC;

Pour chaque candidat tu récupéres le champ calculé et le nombre de champ
calculé supérieur au sien +1; ce qui devrait te donner sa place. Remplace
évidemment le nom de la table et des champs par les tiens.


Bonjour,
J'ai, dans une requete,un champ calculé qui additionne les résulats de 4
autres champs et les classe en décroissant. c'est un challenge sportif.
Je cherche donc à afficher la place dans un état et je ne trouve pas de
solutions.
Merci

Merci, je teste




Avatar
Gilbert
Bonjour,

Voici ce que j'utilise

Dans le détail de ton état tu met une zone de texte indépendante, dans ses
propriétés onglet Données tu mets
Source contrôle =1
Cumul En continu

Pour gérer l'affichage des ex-aequo, dans l'évènement Sur impression de la
zone Détail
If Me.Temps = Temps_Precedent Then
Classement.Visible = False
Else
Classement.Visible = True
End If
Temps_Precedent = Me.Temps
avec Dim Temps_Precedent As Date déclaré en variable globale

Gilbert

"db" a écrit dans le message de
news:440ff8d6$0$19709$
Bonjour,
J'ai, dans une requete,un champ calculé qui additionne les résulats de 4
autres champs et les classe en décroissant. c'est un challenge sportif.
Je cherche donc à afficher la place dans un état et je ne trouve pas de
solutions.
Merci