Question sur une nouvelle requête
Résolu/Fermé
Scuba1404
Messages postés
28
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
10 septembre 2018
-
Modifié le 19 août 2018 à 23:09
Scuba1404 Messages postés 28 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 10 septembre 2018 - 10 sept. 2018 à 22:25
Scuba1404 Messages postés 28 Date d'inscription mardi 6 juin 2017 Statut Membre Dernière intervention 10 septembre 2018 - 10 sept. 2018 à 22:25
A voir également:
- Question sur une nouvelle requête
- Darkino nouvelle adresse - Guide
- Darkino : le grand site pirate change d'adresse et d'interface - Accueil - Services en ligne
- Flixcord nouvelle adresse - Accueil - Outils
- Yggtorrent nouvelle adresse - Accueil - Outils
- Nouvelle chaîne tnt gratuite 2024 - Accueil - TV & Vidéo
2 réponses
yg_be
Messages postés
23313
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
Ambassadeur
1 552
4 août 2018 à 10:21
4 août 2018 à 10:21
bonjour,
"que des #erreur": pour tous les champs, ou uniquement pour rang?
que donne la nouvelle requête si tu ne modifies pas le calcul du rang?
"que des #erreur": pour tous les champs, ou uniquement pour rang?
que donne la nouvelle requête si tu ne modifies pas le calcul du rang?
yg_be
Messages postés
23313
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
Ambassadeur
1 552
21 août 2018 à 19:54
21 août 2018 à 19:54
voilà, je pense y être arrivé.
pour commencer, changer Requête - Bonus Malus, pour y avoir:
ensuite, faire une première nouvelle requête:
pour l'exemple, appelons-la y1
ensuite, faire une deuxième nouvelle requête:
ensuite, la troisième requête, qui, je l'espère, donnera le résultat tant attendu:
cela donne quoi?
pour commencer, changer Requête - Bonus Malus, pour y avoir:
SELECT 2016 as Annee, [No du Stand (COE)] as Stand, BM2016 as BonusMalus FROM [Q5 - Bonus/Malus] UNION SELECT 2017 as Annee, [No du Stand (COE)] as Stand, BM2017 as BonusMalus FROM [Q5 - Bonus/Malus] UNION SELECT 2018 as Annee, [No du Stand (COE)] as Stand, iif(BM2018 is null,0, BM2018) as BonusMalus FROM [Q5 - Bonus/Malus];cela va éviter des soucis causés par le fait que BM2018 n'est pas encore encodé. je pense que c'est ta seule vraie erreur. le reste des changements, c'est pour soulager Access, qui me semble avoir été dépassé par ce que tu lui demandes de faire (de la façon dont tu lui as demandé).
ensuite, faire une première nouvelle requête:
SELECT [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Requête - Stand No].[Stand No], [Données stands].[Nom du Stand], [Données stands].Label, Avg([Q1 - Saison].[Points (Q1)]) AS [MoyenneDePoints (Q1)], Avg([Q2 - Origine].[Points (Q2)]) AS [MoyenneDePoints (Q2)], Avg([Q3 - Label].[Points (Q3)]) AS [MoyenneDePoints (Q3)], Avg([Q4 - Frais].[Points (Q4)]) AS [MoyenneDePoints (Q4)], Avg([Requête - Bonus Malus].BonusMalus) AS MoyenneDeBonusMalus, Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[BonusMalus]) AS TOTAL, Count([Produits vendus].[Nom du produit]) AS [CompteDeNom du produit] FROM (([Données stands] INNER JOIN (([Q1 - Saison] INNER JOIN Produits ON [Q1 - Saison].[Réponse (Q1)] = Produits.[Saison]) INNER JOIN ([Q4 - Frais] INNER JOIN ([Q3 - Label] INNER JOIN ([Q2 - Origine] INNER JOIN [Produits vendus] ON [Q2 - Origine].[Réponse (Q2)] = [Produits vendus].[Origine du produit]) ON [Q3 - Label].[Réponse (Q3)] = [Produits vendus].[Label du produit]) ON [Q4 - Frais].[Réponse (Q4)] = [Produits vendus].[Conditionnement du produit]) ON Produits.[Nom du produit] = [Produits vendus].[Nom du produit]) ON [Données stands].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) INNER JOIN [Requête - Bonus Malus] ON ([Produits vendus].[No du Stand (COE)] = [Requête - Bonus Malus].Stand) AND ([Produits vendus].Année = [Requête - Bonus Malus].Annee)) INNER JOIN [Requête - Stand No] ON ([Produits vendus].[No du Stand (COE)] = [Requête - Stand No].Stand) AND ([Produits vendus].Année = [Requête - Stand No].Annee) GROUP BY [Produits vendus].Année, [Produits vendus].[No du Stand (COE)], [Requête - Stand No].[Stand No], [Données stands].[Nom du Stand], [Données stands].Label;
pour l'exemple, appelons-la y1
ensuite, faire une deuxième nouvelle requête:
SELECT *, DCount("*","y1","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang FROM y1;pour l'exemple, appelons-la y2
ensuite, la troisième requête, qui, je l'espère, donnera le résultat tant attendu:
SELECT * FROM y2 ORDER BY Année, Rang;
cela donne quoi?
Scuba1404
Messages postés
28
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
10 septembre 2018
23 août 2018 à 21:33
23 août 2018 à 21:33
C'est top, tu as solutionné mon problème !!!! MERCI beaucoup
J'ai ce que j'attends comme résultat. J'avais compliqué les choses sans le savoir.
Il faut que je fasse maintenant des états basés sur tes nouvelles requêtes ;-))
J'ai ce que j'attends comme résultat. J'avais compliqué les choses sans le savoir.
Il faut que je fasse maintenant des états basés sur tes nouvelles requêtes ;-))
yg_be
Messages postés
23313
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
8 novembre 2024
1 552
>
Scuba1404
Messages postés
28
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
10 septembre 2018
7 sept. 2018 à 13:01
7 sept. 2018 à 13:01
peux-tu alors marquer le sujet comme résolu?
Scuba1404
Messages postés
28
Date d'inscription
mardi 6 juin 2017
Statut
Membre
Dernière intervention
10 septembre 2018
10 sept. 2018 à 22:25
10 sept. 2018 à 22:25
oui merci beaucoup !
6 août 2018 à 21:02
Oui, les #erreur sont que pour le calcul du rang ...
Si je ne change rien dans la nouvelle requête, le calcul se fait bien ... mais c'est simplement que je voulais supprimer la requête "Requête - Produits vendus", car c'est l'ancienne version du calcul pour mon Bonus/Malus.
D'avance merci pour ton support
6 août 2018 à 21:11
7 août 2018 à 21:32
DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
et j'ai changé par :
DCount("*","[Produits vendus v2]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
autrement dans le SQL, je n'ai rien changé.
Produits vendus v2 étant le nom de la nouvelle requête dans laquelle j'aimerai avoir ce SQL qui fonctionne sans faire référence à Requête - Produits vendus.
D'avance merci pour ton aide
8 août 2018 à 09:34
8 août 2018 à 18:57