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 :

problème gestion des stocks


Sujet :

Requêtes et SQL.

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 35
    Points
    35
    Par défaut problème gestion des stocks
    Bonjour, j'ai un problème de gestion des stocks avec ma requête.
    Celle-ci me calcul mon stock fin de mois en faisant (pour le premier mois de l'exercice, le mois d'août):
    stock de départ au premier août+entrées du mois-sorties du mois = stock théorique fin de mois.

    Comment faire pour que le stock fin de mois d'août vienne se mettre en stock début de mois pour le mois de septembre et etc pour les mois suivants?

    Merci pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 044
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 044
    Points : 1 041
    Points
    1 041
    Par défaut
    bonjour,
    est t il necessaire de calculer un stock théorique à la fin du mois précédent alors qu'il suffit de calculer l'ensemble des mouvements entre la première entrée et la date choisi.
    =>sum([quantitéEntrée]-[QuantitéSortie])= quantitéStock

    Bonne journée

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Problème similaire
    Bonjour
    "est-il necessaire de calculer un stock théorique à la fin du mois précédent alors qu'il suffit de calculer l'ensemble des mouvements entre la première entrée et la date choisi"

    Juste, si tu veux avoir la situation instantané.
    Mais quand on veut établir un "report" par mois sur une période donnée de quelques mois, comment faire?

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Hmiachon Voir le message
    Mais quand on veut établir un "report" par mois sur une période donnée de quelques mois, comment faire?
    Un état avec un regroupement sur le mois.
    Amicalement

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 22
    Points
    22
    Par défaut Gestion de stock (suite)
    Pas de pbm pour l'état avec regroupement par mois, je sais faire.
    Mais:

    - La valeur du stock final fin de mois est une valeur calculée par l'état mais ne provient pas d'une donnée de la table ou requète sous-jacente. Ce que je ne sais pas faire, c'est récupérer cette valeur fin de mois M pour l'afficher et servir de base de calcul début de mois M+1.

    - Si c'est l'état qui opère le calcul (et pas la requète) on est obligé de lancer l'édition de l'état à partir du 1° enregistrement de la base jusqu'au dernier enregistrement concerné par le dernier mois à afficher. Ca risque d'être un peu lourd si on veut faire un état seulement sur quelques mois.

    Merci de vos lumières

  6. #6
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    129
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 129
    Points : 35
    Points
    35
    Par défaut
    J'ai réussi à le faire à partir de deux requêtes:
    -la première me calcule mon stock fin de moi:
    stock de départ+entrées-sorties
    -la seconde vient se mettre dans le première et vient me mettre mon stock fin de moi du mois précédent avec la fonction: Mois([madate])-1

    voilà si ça peut t'aider...

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Tu peux utiliser DSum() par exemple.
    Amicalement

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Salut,

    Pour Dodie84:
    Ouais, je crois comprendre que c'est valable pour extraire 1 mois, mais comment tu fais pour afficher plusieurs mois?
    D'autre part, d'où vient ton stock fin de mois du mois précédent?

    Pour DMboup:
    Je ne vois pas en quoi DSum pourrait m'aider.

    Existe t-il un fonction ou une astuce pour faire dans une requête l'équivalent de "Running sum" dans un état?

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 22
    Points
    22
    Par défaut
    Re-bonjour

    J’ai trouvé 2 solutions:

    Prérequis:
    - Une table StocksMois avec champs mois, initialstock, Finalstock. Le champ FinalStock du premier enregistrement mois M a une valeur.
    - Une requête Variations avec champs Mois, Var (somme par mois des mouvements +Entrées-Sorties, mouvements qui doivent se trouver dans une autre table, en toute logique)

    1° solution: avec une requête mise à jour sur table StockMois:

    o champ InitialStock
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLookUp("[finalstock]","StocksMois","  [StocksMois]![Mois]  =" & StocksMois!Mois-1)
    o Champ FinalStock
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DLookUp("[finalstock]","StocksMois","  [StocksMois]![Mois]  =" & StocksMois!Mois-1)+DLookUp("[var]","variations"," Variations!mois=" & [StocksMois]![Mois] )
    o Condition (critère) Démarrer le traitement à mois M+1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [StocksMois]![Mois]  > “M”
    Problème: la 1° fois qu’on lance la requête, on ne verra de modification que sur le 2° enregistrement, parce que la mise à jour des modif dans les enregistrements par une requête MAJ ne se fait qu’à la fermeture de la requête.
    Pour modifier le 3° enregistrement , il faut lancer un deuxième fois la requête MAJ. Et ainsi de suite.
    Solution intéressante quand on ne veut mettre à jour qu’un enregistrement.

    2° solution : avec du code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub Updating()
    
    Dim SQL As String
    Dim MoisCount As Variant
    
    Application.SetOption "Confirm Action queries", False
    
    For Mois = M (à definir)  To M+???(à definir)
    
    SQL = " UPDATE StockMois " & " SET Stock.InitialStock = DLookUp('[finalstock]',' StockMois ','[StockMois]![Mois]=' & StockMois!Mois-1), StockMois.FinalStock = DLookUp('[finalstock]',' StockMois ','[StockMois]![Mois] =' & StockMois!Mois-1)+DLookUp('[var]','variations',' Variations!Mois=' & StockMois!Mois)" & " WHERE [StockMois]![Mois] =" & [MoisCount] & ""
    
    DoCmd.RunSQL SQL
    
    Next MoisCount
    Application.SetOption "Confirm Action queries", True
    
    
    
    End Sub
    Un seul passage de la procédure et c’est fini.

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par Hmiachon Voir le message
    Salut,
    Existe t-il un fonction ou une astuce pour faire dans une requête l'équivalent de "Running sum" dans un état?
    Encore DSum(). C'est une fonction qui a le même nombre de paramétre que DLookUp(). Avec elle, tu n'as pas besoin de stocker la valeur calculée.
    Amicalement

Discussions similaires

  1. [XL-2010] Problème de gestion des stocks
    Par boa sfz dans le forum Excel
    Réponses: 4
    Dernier message: 05/06/2015, 10h03
  2. problème requête gestion des stocks
    Par dodie84 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 15/04/2008, 09h54
  3. [MS-DOS] Application de gestion des stocks
    Par ¤dinky¤ dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 30/01/2006, 14h25
  4. Problème - Gestion des exceptions - MFC.
    Par Atomikx dans le forum MFC
    Réponses: 4
    Dernier message: 14/11/2005, 09h38
  5. gestion des stocks
    Par gekondo dans le forum Access
    Réponses: 1
    Dernier message: 30/09/2005, 11h41

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