SELECT T_Inventaire.NumInv, T_Inventaire.NumProduit, T_Inventaire.QteInv, T_Inventaire.DateInv
FROM T_Inventaire
WHERE T_Inventaire.DateInv In(select Max([DateInv])from T_Inventaire T1 where T1.NumProduit=T_Inventaire.NumProduit;);
Ensuite, on va réaliser une requête "R_Mouvement" qui affiche les mouvements suivant le dernier inventaire (date de mouvement >= date du dernier inventaire) :
SELECT T_Mouvement.NumProduit, Nz(Sum(IIf([TypeMouvement]="Entrée",[QteMouvement],-[QteMouvement])),0)AS QteMouv
FROM R_Inventaire RIGHTJOIN T_Mouvement ON R_Inventaire.NumProduit = T_Mouvement.NumProduit
WHERE(T_Mouvement.DateMouvement)>=Nz([DateInv],#1/1/1000#)GROUPBY T_Mouvement.NumProduit;
Enfin, on réalise la requête "R_Stock" qui donne l'état du stock actuel et qui effectue une jointure gauche entre la table "T_Produit" et les 2 requêtes précédentes :
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.