IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

Classement par Equipe sur le total des 3 meilleurs scores [AC-2007]


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut Classement par Equipe sur le total des 3 meilleurs scores
    Bonjour
    Tout d'abord ,félicitations pour la richesse de votre site où j'ai trouvé beaucoup de réponses à mes questions.
    Mais voila plusieurs jours que je galère sur une requete de selection ;ci-dessous la requete sur laquelle je dois extraire les 3 meilleurs scores par cat,club,dis afin de faire un classement par equipe.J'ai essayé avec top mais je n'ai que l'equipe rhodia .Je voudrais recuperer les autres clubs qui ont aussi 3 tireurs dans d'autres disciplines.(ex:LA Dis Libre ci dessous).

    Cat Nom Prenom Club Dis Total
    ADULTE BERTRAND JEAN-MARIE CTSBLV ARBF10 363
    ADULTE THAIZE MARIE-THEREZE RHODIA ARBF10 389
    ADULTE LATOUR GEORGES RHODIA ARBF10 383
    ADULTE CHARBONNIER RENEE RHODIA ARBF10 363
    ADULTE CHORON GERARD RHODIA ARBF10 352
    JEUNE SIMONIAN THOMAS CTSBLV ARBF10 392
    UNE CHAREYRON LUDOVIC CTSBLV ST25M 528
    UNIQ GAUFILLET FRANCETTE CTSBLV Libre 530
    UNIQ DESCOMBES MICHEL CTSBLV Libre 524
    UNIQ PRAGET THIERRY CTSBLV Libre 509
    UNIQUE BELLIER MARINE CTSBLV 60BC 585
    UNIQUE DAUPHIN MATHIEU RHODIA 60BC 584
    ....
    Resultat escompté:
    ADULTE THAIZE MARIE-THEREZE RHODIA ARBF10 389
    ADULTE LATOUR GEORGES RHODIA ARBF10 383
    ADULTE CHARBONNIER RENEE RHODIA ARBF10 363
    UNIQ GAUFILLET FRANCETTE CTSBLV Libre 530
    UNIQ DESCOMBES MICHEL CTSBLV Libre 524
    UNIQ PRAGET THIERRY CTSBLV Libre 509
    etc...
    Est-ce possible?
    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Developpeur VBA, C# et VB.Net =]
    Inscrit en
    juillet 2007
    Messages
    14 352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Developpeur VBA, C# et VB.Net =]
    Secteur : Finance

    Informations forums :
    Inscription : juillet 2007
    Messages : 14 352
    Points : 33 656
    Points
    33 656
    Par défaut
    salut,

    des elements de reponses dans cette discussion

    Cela te convient-il ?
    Cycle de vie d'un bon programme :
    1/ ca fonctionne 2/ ca s'optimise 3/ ca se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Apprendre à programmer avec Access 2016 et Access 2019

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut
    Bonjour
    merci d'avoir répondu aussi vite.
    La requete de base est triee par Cat,Club ,Dis et Total decroissant.

    j'ai fait plusieurs tests avec des morceaux de sql de dizaines de posts du forum,mais aucun n'a été concluant (top,in SELECT...)
    J'ai la formule sous excel mais je n'arrive pas à la transcrire sous acces.

    Dans la requete jointe au post les clubs qui n'ont qu'un seul ou 2 tireurs dans une discipline et une categorie définie ne doivent pas etre selectés, ni les tireurs 4,5,6.......)
    Je ne sais pas si cele est possible avec sql acces

  4. #4
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 121
    Points : 4 595
    Points
    4 595
    Par défaut
    Bonjour Ctsblv et Jpcheck,

    Intéressant problème, vraiment...

    Si j'ai bien compris, la requête :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Cat, Club, Dis, Count(*)
    FROM TaTable
    GROUP BY Cat, Club, Dis
    HAVING Count(*)>=3
    te donne bien, dans un premier temps, l'ensemble des groupes [Cat, Club, Dis] qui t'intéresse, non ?
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut
    Bonsoir
    Voici la requete de regroupement que j'avais faite mais qui ne renvoyais rien.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT [R-TABLE DES TIREURS INSCRITS].Cat, [R-TABLE DES TIREURS INSCRITS].Nom, [R-TABLE DES TIREURS INSCRITS].Prenom, [R-TABLE DES TIREURS INSCRITS].Club, [R-TABLE DES TIREURS INSCRITS].Dis, [R-TABLE DES TIREURS INSCRITS].Total, Count(*)
    FROM [R-TABLE DES TIREURS INSCRITS]
    GROUP BY [R-TABLE DES TIREURS INSCRITS].Cat, [R-TABLE DES TIREURS INSCRITS].Nom, [R-TABLE DES TIREURS INSCRITS].Prenom, [R-TABLE DES TIREURS INSCRITS].Club, [R-TABLE DES TIREURS INSCRITS].Dis, [R-TABLE DES TIREURS INSCRITS].Total
    HAVING Count(*)>=3;
    Avec la requete envoyée je recupère bien les criteres de selection avec 4 et 3
    tireurs.Que dois-je faire ensuite pour recuperer Nom,Prenom et Total?
    Merci

  6. #6
    Invité
    Invité(e)
    Par défaut
    Essayer ce type de requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    SELECT *
    FROM ctsblv AS T
    WHERE T.Id In 
    (SELECT TOP 3 Id FROM ctsblv as Ts
    WHERE T.Cat=Ts.cat And T.Club=ts.club AND T.Dis=ts.dis
    ORDER BY ts.Total DESC, ts.id)
    ORDER BY T.Cat, T.Club DESC, T.Dis, T.Total DESC;
    Il faut une colonne 'numéro auto' dans la table nommée Id
    Adapter le nom de la table (ici : ctsblv qui apparait deux fois dans la requête).

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut
    bonsoir Galoir
    Merci de t'occuper de mon cas.
    Je crois que je suis mal parti dans la conception de ma base.
    Dans la table principale T-Tireurs j'ai defini une cle sur 5 champs:cat,nom,prenom,club,dis pour eviter les doublons.(un tireur peut tirer plusieurs disciplines,mais ne peut etre inscrit 2 fois dans la meme).
    R-TABLE DES TIREURS INSCRITS est une requete qui selecte les tireurs inscrits et qui a un champs calculé Total.
    Puis-je y rajouter un champ iD en NumAuto?(Je suis loin d'etre un specialiste.)
    J'ai fait un test mais la colonne iD reste vierge.
    merci.

  8. #8
    Expert confirmé Avatar de Richard_35
    Homme Profil pro
    Inscrit en
    juillet 2007
    Messages
    3 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : juillet 2007
    Messages : 3 121
    Points : 4 595
    Points
    4 595
    Par défaut
    Bonsoir Ctsblv et Galoir,

    Galoir, ta requête est OK mais devrait retourner tous les enregistrements, y compris "les clubs qui n'ont qu'un seul ou 2 tireurs dans une discipline et une categorie définie," ainsi que "les tireurs 4,5,6".

    La solution, Ctsblv, serait de combiner les deux requêtes :

    Requête R1 :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT Cat, Club, Dis, Count(*)
    FROM TaTable
    GROUP BY Cat, Club, Dis
    HAVING Count(*)>=3

    Requête R2 (la requête de Galoir) :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM TaTable AS T
    WHERE T.Id In 
    (SELECT TOP 3 Id FROM TaTable as Ts
    WHERE T.Cat=Ts.cat And T.Club=ts.club AND T.Dis=ts.dis
    ORDER BY ts.Total DESC, ts.id)
    ORDER BY T.Cat, T.Club DESC, T.Dis, T.Total DESC;

    Requête R3 :
    R1 liée à R2 via (Cat, Club, Dis)

    Ne pas oublier :
    Il faut une colonne 'numéro auto' dans la table nommée Id
    Et trier la requête par R1.Cat, R1.Club, R1.Dis, R2.Total DESC
    Cela devrait fonctionner.
    Dis-nous et à bientôt,
    Richard.
    ----------------------------------------------------------------------------------------------
    En cas de résolution, et afin de faciliter la tâche des bénévoles, merci de cliquer sur .
    et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut
    bonsoir Richard 35
    As-tu lu la reponse que j'ai faite à Galoir ?
    Dans la table principale T-Tireurs j'ai defini une cle sur 5 champs:cat,nom,prenom,club,dis pour eviter les doublons.(un tireur peut tirer plusieurs disciplines,mais ne peut etre inscrit 2 fois dans la meme).
    R-TABLE DES TIREURS INSCRITS est une requete qui selecte les tireurs inscrits et qui a un champs calculé Total.
    Puis-je y rajouter un champ iD en NumAuto?(Je suis loin d'etre un specialiste.)
    J'ai fait un test mais la colonne iD reste vierge.
    merci.

    Je suis un peu pommé là.(Papy fatigue)
    La table Id doit contenir les memes champs que ma requete plus le champ Id
    Dois-je la creer puis la mettre à jour avec une requete Ajout?

    Merci pour les tuyaux.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut
    bonjour Richard 35,Galoir
    je viens de faire mes tests,ça a l'air ok.
    Richard tu avais raison,le sql de galoir ,prenait tous les enregistrements sauf le 4ème de l'equipe X
    Là j'arrete pour ce soir je vous confirme demain j'ai d'autres tests à faire.
    En tout cas merci beaucoup.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    février 2010
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : février 2010
    Messages : 133
    Points : 63
    Points
    63
    Par défaut
    Bonjour Richard ,Galoir
    comme je vous l'ai dit tôt ce matin,tout est Ok.
    Je passe le mes à resolu.
    Encore une fois merci et chapeau pour la rapidité des reponses.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/04/2013, 10h00
  2. Réponses: 3
    Dernier message: 29/07/2010, 11h23
  3. Réponses: 8
    Dernier message: 05/12/2006, 16h44
  4. changement des couleurs par appuis sur case à cocher
    Par Wormus dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 11/10/2005, 00h05
  5. [MySQL] Problème par rapport au tutoriel sur le stockage des images en base
    Par dark_vidor dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 25/09/2005, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo