Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Requête pour classement

7 réponses
Avatar
Sigma7
Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui marche,
mais comment puis-je faire pour affecter automatiquement dans ma requête
1er, 2ème, 3ème... en fonction de ces points ?

Merci

7 réponses

Avatar
Eric
Bonjour,

En 2 étapes:
1 - Créer une requête avec les noms et les nb de points respectifs
(champ points)
avec un tri décroissant sur le nb de points (query : RQSIGMA7)

2 - Créer une 2eme requête sur RQSIGMA7, mettre les champs et un champ
calculé :
Rang: CpteDom("*";"RQSIGMA7";"points>" & [points])+1

(PS: la 1ere requête peut ne pas être triée)

Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui marche,
mais comment puis-je faire pour affecter automatiquement dans ma requête
1er, 2ème, 3ème... en fonction de ces points ?

Merci


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

Avatar
Argyronet
Bonjour,

N'ayant pas votre BDD sous les yeux, je vous propose cet exemple issue de la
BDD "Les Comptoirs" basé sur la tabel "Employé"...
A vous d'adapter:

SELECT T1.Nom, T1.Prénom, (select count([N° employé]) + 1 from Employés T2
where T1.[N° employé] < T2.[N° employé] ) & IIf((select count([N° employé]) +
1 from Employés T2 where T1.[N° employé] < T2.[N° employé] )=1,"er","ème")
AS Classement
FROM Employés AS T1
ORDER BY T1.[N° employé] DESC;


--
Argy { MVP }
http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui marche,
mais comment puis-je faire pour affecter automatiquement dans ma requête
1er, 2ème, 3ème... en fonction de ces points ?

Merci



Avatar
Sigma7
Nickel, ça marche parfaitement.

Je te remercie grandement, et te souhaite un bon week-end dans la foulée :)


Bonjour,

En 2 étapes:
1 - Créer une requête avec les noms et les nb de points respectifs
(champ points)
avec un tri décroissant sur le nb de points (query : RQSIGMA7)

2 - Créer une 2eme requête sur RQSIGMA7, mettre les champs et un champ
calculé :
Rang: CpteDom("*";"RQSIGMA7";"points>" & [points])+1

(PS: la 1ere requête peut ne pas être triée)

Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui
marche, mais comment puis-je faire pour affecter automatiquement dans
ma requête 1er, 2ème, 3ème... en fonction de ces points ?

Merci





Avatar
Sigma7
Ha non, tiens, je viens de m'apercevoir d'un petit détail.
Si 2 équipes ont le même nombre de points, elles obtiennent la même
place avec ce calcul.
Il faudrait donc prendre en compte la différence de buts (déjà
calculée), mais j'avoue que je ne vois pas comment faire.




Nickel, ça marche parfaitement.

Je te remercie grandement, et te souhaite un bon week-end dans la
foulée :)


Bonjour,

En 2 étapes:
1 - Créer une requête avec les noms et les nb de points respectifs
(champ points)
avec un tri décroissant sur le nb de points (query : RQSIGMA7)

2 - Créer une 2eme requête sur RQSIGMA7, mettre les champs et un champ
calculé :
Rang: CpteDom("*";"RQSIGMA7";"points>" & [points])+1

(PS: la 1ere requête peut ne pas être triée)

Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui
marche, mais comment puis-je faire pour affecter automatiquement dans
ma requête 1er, 2ème, 3ème... en fonction de ces points ?

Merci







Avatar
Salut

Essaye comme ceci :

RangPoints: CpteDom("*";"RQSIGMA7";"points>" &
[points])+1+CpteDom("*";"RQSIGMA7";"points=" & [points] & " AND buts > " &
[buts])

Attention : les fonctions de domaine étant exponentiellement lentes (lecture
de toutes les données de la table pour chaque enregistrement),
tu risques obtenir des performances assez dégradées avec cette formule...

à+
--
Arnaud
---------------------------------------------
infos, conseils et liens : http://www.mpfa.info
---------------------------------------------



"Sigma7" a écrit dans le message de news:
4436595f$0$25304$
Ha non, tiens, je viens de m'apercevoir d'un petit détail.
Si 2 équipes ont le même nombre de points, elles obtiennent la même place
avec ce calcul.
Il faudrait donc prendre en compte la différence de buts (déjà calculée),
mais j'avoue que je ne vois pas comment faire.




Nickel, ça marche parfaitement.

Je te remercie grandement, et te souhaite un bon week-end dans la foulée
:)


Bonjour,

En 2 étapes:
1 - Créer une requête avec les noms et les nb de points respectifs
(champ points)
avec un tri décroissant sur le nb de points (query : RQSIGMA7)

2 - Créer une 2eme requête sur RQSIGMA7, mettre les champs et un champ
calculé :
Rang: CpteDom("*";"RQSIGMA7";"points>" & [points])+1

(PS: la 1ere requête peut ne pas être triée)

Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui marche,
mais comment puis-je faire pour affecter automatiquement dans ma
requête 1er, 2ème, 3ème... en fonction de ces points ?

Merci









Avatar
Sigma7
Et là, je dis bravo: le résultat est parfait.
Effectivement, ça ralentit un peu l'affichage des résultats, mais comme
les tables ne seront jamais bien chargées, c'est largement acceptable.

Merci à tous les deux pour votre aide


Salut

Essaye comme ceci :

RangPoints: CpteDom("*";"RQSIGMA7";"points>" &
[points])+1+CpteDom("*";"RQSIGMA7";"points=" & [points] & " AND buts > " &
[buts])

Attention : les fonctions de domaine étant exponentiellement lentes (lecture
de toutes les données de la table pour chaque enregistrement),
tu risques obtenir des performances assez dégradées avec cette formule...

à+


Avatar
rhcp
Sigma7 a écrit le 07/04/2006 à 10h57 :
Bonjour,

Je me suis fait une petite base sportive, avec résultats et bien
sûr
classements.
Je calcule bien tous les points, et j'ai donc un classement qui marche,
mais comment puis-je faire pour affecter automatiquement dans ma requête

1er, 2ème, 3ème... en fonction de ces points ?

Merci


Bonjour !! je sais que tu as poster il y a longtemps mais est ce que je pourrez avoir la requête pour faire le classement

donc quand je rentre 2 - 1(dans la table résultat) , il y a trois points que vas à l'équipe gagnante.....(dans la table classement)


merci d'avance