IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes et SQL. Discussion :

Calcul PMP par SQL sous access 2007


Sujet :

Requêtes et SQL.

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur Électromécanicien
    Inscrit en
    Mars 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur Électromécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 60
    Points : 59
    Points
    59
    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 : 549
Taille : 4,6 Ko

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 087
    Points : 5 203
    Points
    5 203
    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
    Homme Profil pro
    Ingénieur Électromécanicien
    Inscrit en
    Mars 2008
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur Électromécanicien
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2008
    Messages : 60
    Points : 59
    Points
    59
    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 : 533
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 éprouvé
    Inscrit en
    Août 2008
    Messages
    740
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 740
    Points : 1 045
    Points
    1 045
    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
    Invité
    Invité(e)
    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