Question sur une nouvelle requête
Résolu
Scuba1404
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
Scuba1404 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
Scuba1404 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
bonjour,
J'ai une question, car je viens de créer une nouvelle requête que j'ai appelée Produits vendus v2. J'ai copié le SQL d'une autre qui fonctionne très bien mais dans laquelle il y a un paramètre qui doit être changé … donc j'ai copie les SQL dans la nouvelle et j'ai fait les changements nécessaires, mais lorsque je veux voir le résultat, le rang ne se calcule plus.
Voici le SQL qui fonctionne :
Mais pourquoi lorsque je désire changer le :
avec le nouveau nom de la requête (soit Produits vendus v2) ça me renvoie que des #erreur ?
EDIT : Ajout des balises de code
D'avance merci pour le support !
J'ai une question, car je viens de créer une nouvelle requête que j'ai appelée Produits vendus v2. J'ai copié le SQL d'une autre qui fonctionne très bien mais dans laquelle il y a un paramètre qui doit être changé … donc j'ai copie les SQL dans la nouvelle et j'ai fait les changements nécessaires, mais lorsque je veux voir le résultat, le rang ne se calcule plus.
Voici le SQL qui fonctionne :
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] , DCount("*" ,"[Requête - Produits vendus]" ,"[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang FROM (([Données stands] INNER JOIN (([Q1 - Saison] INNER JOIN Produits ON [Q1 - Saison].[Réponse (Q1)] = Produits.[Saison]) INNER JOIN ([Q5 - Bonus/Malus] 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 [Q5 - Bonus/Malus].[No du Stand (COE)] = [Produits vendus].[No du Stand (COE)]) 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 ORDER BY [Produits vendus].Année , Avg([Points (Q1)]+[Points (Q2)]+[Points (Q3)]+[Points (Q4)]+[BonusMalus]) DESC;
Mais pourquoi lorsque je désire changer le :
DCount("*","[Requête - Produits vendus]","[TOTAL] > " & [TOTAL] & " AND [Année] = " & [Année])+1 AS Rang
avec le nouveau nom de la requête (soit Produits vendus v2) ça me renvoie que des #erreur ?
EDIT : Ajout des balises de code
D'avance merci pour le support !
A voir également:
- Question sur une nouvelle requête
- Darkino nouvelle adresse - Guide
- Extreme download nouvelle adresse - Accueil - Outils
- Darkino : le grand site pirate change d'adresse et d'interface - Accueil - Services en ligne
- Yggtorrent nouvelle adresse - Accueil - Outils
- Coco.gg nouvelle adresse - Accueil - Réseaux sociaux
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
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?
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
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