1. #1
    Membre du Club
    Inscrit en
    mars 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 58
    Points : 47
    Points
    47

    Par défaut Calcul PMP par SQL sous access 2007

    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

    Nom : OSPMP.png
Affichages : 54
Taille : 4,6 Ko

  2. #2
    Membre expert Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    mai 2008
    Messages
    2 299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2008
    Messages : 2 299
    Points : 3 747
    Points
    3 747

    Par défaut

    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

  3. #3
    Membre du Club
    Inscrit en
    mars 2008
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : mars 2008
    Messages : 58
    Points : 47
    Points
    47

    Par défaut

    Citation Envoyé par nico84 Voir le message
    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
    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

    Nom : RépRequete.png
Affichages : 23
Taille : 15,4 Ko
    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

  4. #4
    Membre confirmé
    Inscrit en
    août 2008
    Messages
    404
    Détails du profil
    Informations forums :
    Inscription : août 2008
    Messages : 404
    Points : 590
    Points
    590

    Par défaut

    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

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    août 2010
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : août 2010
    Messages : 65
    Points : 100
    Points
    100

    Par défaut

    En terme de performance, je préfère 9 lignes de code en VBA

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/12/2015, 11h54
  2. Problème avec une requete SQL sous access
    Par Luther13 dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 14/12/2005, 10h39
  3. sql sous access different?
    Par steinfield dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/12/2005, 23h48
  4. SQL sous Access : affiche un des champs si condition rempli
    Par Thomus38 dans le forum Langage SQL
    Réponses: 1
    Dernier message: 06/09/2005, 12h09
  5. sql sous access
    Par yuyu dans le forum Langage SQL
    Réponses: 1
    Dernier message: 18/08/2005, 10h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo