Bonjour
je cherche à cumuler dans ma requête le nombre d'unités vendues. Ma requête et son résultat. malgré des recherches je n'y parvient pas. quelqu'un peut-il voler à mon secours? Merci d'avance
Bonjour
je cherche à cumuler dans ma requête le nombre d'unités vendues. Ma requête et son résultat. malgré des recherches je n'y parvient pas. quelqu'un peut-il voler à mon secours? Merci d'avance
Bonjour,
Sauf erreur, ci-joint une première possibilité qui va ralentir la requête et ne sera donc utilisable que pour une table vente < ~1000 lignes...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 SELECT v.[Date vente], Sum([Détails ventes].[Unités vendue]) AS [SommeDeUnités vendue], (SELECT SUM([Unités vendue]) AS C FROM [Détails ventes] WHERE [N° vente] IN (SELECT [N° vente] FROM Ventes WHERE [Date Vente] <= V.[Date vente])) AS Cumul FROM Ventes AS v INNER JOIN [Détails ventes] ON v.[N° Vente] = [Détails ventes].[N° Vente] GROUP BY v.[Date vente]
deuxième possibilité qui a l'avantage d'être plus rapide que la première mais la sous-requete enregistrée n'est pas visible dans l'interface Query by Example mais seulement en mode SQL (car liaison entre tables est >= et non =) :
1ère requête à nommer "rCumulVentes"
Et la requête finale qui s'appuie sur la 1ère (celle-ci est visible dans le QBE) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 SELECT v.[Date vente] AS LaDate, SUM(r.[CumulDate]) AS Cumul FROM (SELECT [Date vente] FROM Ventes GROUP BY [date vente]) AS V INNER JOIN (SELECT [Date Vente], Sum([Unités vendue]) AS CumulDate FROM ventes AS v INNER JOIN [Détails ventes] AS DV ON v.[N° vente] = dv.[N° vente] GROUP BY [Date vente]) AS R ON v.[Date vente] >= r.[Date vente] GROUP BY v.[date vente]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 SELECT Ventes.[Date vente], Sum([Détails ventes].[Unités vendue]) AS [Somme Unités vendue], rCumulVentes.Cumul FROM (Ventes INNER JOIN rCumulVentes ON Ventes.[Date vente] = rCumulVentes.LaDate) INNER JOIN [Détails ventes] ON Ventes.[N° Vente] = [Détails ventes].[N° Vente] GROUP BY Ventes.[Date vente], rCumulVentes.Cumul
bonsoir
merci de venir à l'aide, mais après avoir copier le code sql...je bute sur "sélectionner la source de données". J'ai encore besoin d'un peu d'aide!! Merci
Bonjour,
1) J'ai oublié un s à unités vendue dans les requêtes, merci de vérifier tous les noms de table et les noms des champs (espace, accent,...)
2) Il ne faut pas créer les requetes par le type "sql direct", mais choisir le type "selection" puis affichage->sql et entrer le code sql
Bonjour
Merci pour votre aide et j'ai pu arriver à faire fonctionner ma "Req cumul". Celle-ci lance s'appuie sur la "Req caisse financière entre date pour cumul" et le résultat est conforme si l'entre date est figé dans la requête. Si je remplace mes dates fixes par Entre[Date début] Et [Date fin] j'ai sur le cumul...Erreur! Merci encore de votre aide.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager