bonjour,
je voudrais savoir s'il est possible de calculer le PMP, sous access 2007, selon le tableau suivant sans passer par VBA.
je vous remercie de votre précieuse aide
bonjour,
je voudrais savoir s'il est possible de calculer le PMP, sous access 2007, selon le tableau suivant sans passer par VBA.
je vous remercie de votre précieuse aide
Bonjour
Comme à terme il y aura bcp de lignes d'entrée et de sortie, je pense qu'il est nécessaire pour cela de mémoriser le stock résiduel sur chaque ligne d'entrée (par calcul à la création d'une ligne de sortie) et alors le PMP sera facile à calculer
Utilisez Planet, gestion d'entreprise gratuite pour TPE / PME
Bonjour,
D’abord je vous remercie beaucoup de votre coup de pouce.
Je m'excuse d'avoir mis autant de temps pour répondre.
Le cas peut se résumer ainsi :
La table est "tMaTable". Elle a trois Champs
1)"NumOrdre" : c'est un champ auto
2)"Qte" : Il contient les entrées des articles aux magasins (valeurs positives) et leurs sorties des magasins "valeurs négatives".
3)"MontUnit": c'est le prix unitaire d'achat de l'article
voici le bout de code qui calcule le stock à chaque mouvement d'article.
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT tMaTable.NumOrdre, tMaTable.Qte, tMaTable.MontUnit, (select sum(Qte) from tMaTable as tMaTableTmp where NumOrdre<=tMaTable.NumOrdre) AS MonStock FROM tMaTable GROUP BY tMaTable.NumOrdre, tMaTable.Qte, tMaTable.MontUnit;
Pour pouvoir calculer le Prix moyen pondéré je dois mémoriser le prix précédent.
je crois que cela est possible avec des procédures stockées ou des Trigger.
Est ce qu'on pourrait faire cela avec les Requête SQL access ?
je vous remercie encore une fois de votre aide
Bonjour,
oui, on peut le faire avec des requetes, mais je propose d'abord de changer ta structure de 1 table en 2 tables
tbl_Mouvement: 3 champs: ID, quantite et prix
tbl_Stock: 3 champs: ID, IDMouv, quantite et PMP
ce split est juste une securite afin d'etre absolument sur que les ID (autonum) du stock seront consecutifs (sans intervalle)
plus il faut 2 tables temporaires
Temp_Stock: pour agreger les historiques de mouvement de stock avant de les charger dans tbl_Stock
Temp_PMP: pour stocker le premier PMP, qui est en fait le premier achat
Ainsi le resultat est atteint avec 11 requetes, dont 9 requetes action qu'il faut lancer dans leur ordre alphabetique, je t'ai joint une petite explication
PMP.zip
PMP.docx
En terme de performance, je préfère 9 lignes de code en VBA
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