Comment faire la synthèse des mouvements entrées et sortie stock [Résolu]

Signaler
-
Messages postés
465
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
29 octobre 2020
-
Bonjour chers tous.
J'ai un fichiers access qui contient la table "mouvements". Cette table retrace les mouvement des entrés et des sorties. Ma question : comment faire une requête qui peut simplement synthétiser le tout? C'est-à-dire pour chaque produit son total des entrées et son total des sortie. Que ça fonctionne correctement même si on ajoute des nouveaux articles. Merci d'avance.
Voici mon fichier ci-joint.
https://www.cjoint.com/c/JJBipxAbkAd

3 réponses

Messages postés
465
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
29 octobre 2020
30
Bonjour,

tu peux faire une requête avec un regroupement sur le produit et le type de mouvement.
Tu auras ainsi une ligne par produit et type de mouvement et la somme (une ligne somme des entrées MANGUE et une ligne somme des sorties MANGUE).
Dans ton cas ça sera :
SELECT produits.Designation, Mouvements.TypeMov, Sum(Mouvements.Qtecommande) AS SommeDeQtecommande
FROM produits INNER JOIN Mouvements ON produits.IdProduit = Mouvements.IdProduit
GROUP BY produits.Designation, Mouvements.TypeMov;


Je pense qu'il serait peut-être pas mal du coup de faire une requête analyse croisée, avec pour chaque ligne produit, une colonne somme entrées et une colonne somme sorties (une ligne MANGUE avec 1 colonne entrée et 1 colonne sorties) :
TRANSFORM Sum(Mouvements.Qtecommande) AS SommeDeQtecommande
SELECT produits.Designation
FROM produits INNER JOIN Mouvements ON produits.IdProduit = Mouvements.IdProduit
GROUP BY produits.Designation
PIVOT Mouvements.TypeMov;




A+
Merci beaucoup. Ton code a très bien marché.
Alors que faire si je veux entrer une date de début et de et une datefin ( je veux créer un "txtdatedebut" et "txtdatefin" j'ai un champs "datemov") Merci a toi et merci a tous
bonjour
pour connaitre le stock, dans une requete il faut faire la somme des entrées moins la somme des sorties.
Merci castour pour cette précision
Messages postés
465
Date d'inscription
mardi 14 avril 2020
Statut
Membre
Dernière intervention
29 octobre 2020
30
Pour mettre une condition (WHERE) sur ton champ date utilise BETWEEN dans l'instruction sql.

Tes txtdatedebut et fin seraient j'imagine sur un formulaire ?

Alors fais comme cela (en adaptant les noms du form et des txtbox)
TRANSFORM Sum(Mouvements.Qtecommande) AS SommeDeQtecommande
SELECT produits.Designation
FROM produits INNER JOIN Mouvements ON produits.IdProduit = Mouvements.IdProduit
WHERE Mouvements.DateMov Between forms!formulaireSaisie!txtdatedebut And forms!formulaireSaisie!txtdatefin
GROUP BY produits.Designation
PIVOT Mouvements.TypeMov;


A+