|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
Bonjour à tous
Je dois faire un classement par compétiteur inscrit sur 4 disciplines. Ma requête 1,ne selecte que les noms qui répondent à ce critère. La requête2 :Les tireurs inscrits aux 4 discipines ( Regroupement par nom) Id Nom Prenom ----Club--Dis--Libelle-Poul-Coch-Dind-Mouf-Total-- Ligue 25 ANUS François---C.T-- RGC------- 4-----3---5 --5------17 PROVENCE 59 ANUS François---C.T-- PGC--------4----- 5---4 --5------18 PROVENCE 141 ANUS François--C.T--DGC---------5-----5---5 --5------20 PROVENCE 0 ANUS François--- C.T--UGC--------4 -----5---5 --5------19 PROVENCE L'état issue de cette requete: Nom Prenom Club Dis Poul Coch Dind Mouf Total Ligue RANG BARBIER Alain----S.T---DGC---5-----5-----5-----5------20---CALAIS ----S.T---PGC---5-----5-----4-----5------19---CALAIS ----S.T---UGC---4-----5-----5-----4------18---CALAIS ----S.T---RGC---4-----4-----5-----5------18---CALAIS ----------Cumul--18---19----19----19------75-------------1 Etc... Est-il possible de construire à partir de cette requête un état avec access2007 Nom-Prenom-Club-DGC-PGC-RGC-UGC-Poul-Coch-Dind-Mouf-Total-Ligue--RANG xxx---xxx----yy--20---19---18--18---18---19---19---19----75----------1 [total /discipline ] [Total des bêtes] [Total des disciplines Voilà un petit moment que je bute sur ce problème .Dois-je passer par SQL ? Merci et à bientôt. Encore merci à GALOIR et RICHARD35 pour leur aide il y a quelques mois. |
|
|
00
|
|
|
#2 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Ctsblv,
Il semble qu'il faille passer par une requête "analyse croisée" (PIVOT). Mais, je n'ai pas très bien compris. Tu dis Citation:
Il faudrait arriver à créer une table avec cette structure : - Id_competiteur - Type (DGC ou PGC ou RGC ou UGC ou Poul ou Coch ou Dind ou Mouf ou Total_Ligue ou RANG) - Chiffre_pour_le_type ==> sais-tu faire ? Ensuite, via l'assistant, créer une requête "analyse croisée" en répondant aux questions (c'est compréhensible) : - Ligne : Compétiteur ; - Colonne : Type ; - Cellule (croisement Ligne/Colonne) : Chiffre_pour_le_type.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
Bonsoir Richard 35
heureux de te lire. J'utilise la requête2 pour faire l'état COMBINEGC. Nom=nom du tireur... le nombre de bestioles tombées Poulet,cochon dindon,mouflon puis je calcule le total par bestiole et par discipline (ligne cumul). Le rang c'est le classement avec le contrôle (=1) . Afin de n'avoir qu'une ligne par tireur sur laquelle j'aurai l'ensemble des données que j'ai actuellement sur 4 lignes.Est ce que tu vois ? Pour la requuête croisée j'ai essayé mais je n'ai pas tout saisie pour la manip. Merci d'avoir répondu aussi vite. A+ |
|
|
00
|
|
|
#4 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Bonjour Ctsblv,
Citation:
Mais tu n'as pas répondu à la question : Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
Bonjour
création de la table: id_compétiteur avec type=une liste de choix ? Chiffre_pour_le_type ? Je ne comprend pas . (Total et ligue sont 2 champs différents.) merci et A+ . |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
Re bonjour
Après une deuxième lecture,j'ai créé la table . id_compétiteur (texte) type (zone de liste RGC;PGC........) chiffre_pour_type (Numérique) C'est ça ??? Merci |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Oui, c'est ça.
Maintenant, il faut alimenter la table. 2 solutions : 1°/ Ecrire un programme VBA qui lit la table d'origine et qui, pour un enregistrement lu, ajoute autant d'enregistrements que de types nécessaires. Je ne connais pas VBA donc, si un codeur veut bien se dévouer... 2°/ Créer autant de requêtes "ajout" que de types nécessaires, en ne sélectionnant QU'UN type à la fois. Exemple, via l'assistant : - ajouter la table de référence (FROM) ; - ajouter les champs id_compétiteur, DIS, Valeur_De_DIS (SELECT) ; - ajouter à id_compétiteur, Type, chiffre_pour_type ; - critères : DIS="DGC". ==> ajoute, dans ta nouvelle table, uniquement les enregistrements de DGC avec la valeur correspondante. Enfin, tu vois le principe, je pense.
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
Bonjour
Je comprend la surprise de ton premier message après relecture. La requete2 classe les compétiteurs par Nom et discipline. Dans l'état il sont classés par ordre décroissant du Total de points avec leur RANG.C'est pour cela que les noms sont différents. Maintenant pour le COMBINE ,la requête2 contient toutes le données sauf le total par bête .je pense que je vais oublier le total par bestiole pour ne garder que le Total des disciplines;ça m'obligerait à faire encore des calculs dans mon état.Je verrais plus tard Qu'en penses-tu? merci |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Il va falloir procéder par étape.
Donc, ta requête de base donne Code :
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
||
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
La table principale contient tous les tireurs de chaque discipline,c'est pour cela
que l'on trouve le tireur avec plusieurs id. (1 par discipline) Au départ,je faisais juste un test sur une discipline,ensuite,par fainéantise j'ai fait des copier coller plutôt que reconstruire la table et de faire un champ par discipline ce qui l'allègerait.C'est à ça que tu pensais? Je vais le faire. Maintenant,pour en revenir à nos moutons,j'ai créé la table comme tu me l'as indiqué,puis la requête et enfin l'analyse croisée cela a l'air de marcher j'ai bien mes données en ligne. J'en ai un peu bavé c'est la première fois que j'en faisait. Je te remercie pour tes conseils.Je te tiens au courant de l'avancement du chantier. |
|
|
00
|
|
|
#11 | |
|
Expert Confirmé
![]() Inscription : juillet 2007 Messages : 2 176 ![]() |
Citation:
__________________
Dis-nous et à bientôt, Richard. ---------------------------------------------------------------------------------------------- . et permettent aux forumeurs de cibler leur recherche dans une discussion : n'hésitez pas à voter !
|
|
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : février 2010 Messages : 25 ![]() |
Bonjour
je viens donner qq nouvelles de l'avancement du chantier. La table de départ a été allégée 1 Id par tireur. Création d'une "table inscrits" alimentée par 1 requête Ajout par discipline. 1 requête "r-table tireurs inscrits" dans laquelle j'ai concaténé les disciplines(ajout d'une colonne type DGC & DPC...........). Grâce à ce système ,je diminue le nombre de tables à créer (je n'ai plus d'analyse croisée à faire et suppression des requêtes AJOUT combiné). OUFF. Il me reste encore qq états à créer .La fin du tunnel est proche.Merci Merci et A+ |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com