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

Access Discussion :

Calcul du stock final


Sujet :

Access

  1. #1
    Candidat au Club
    Inscrit en
    Septembre 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Calcul du stock final
    Bonjour
    Je suis entrain de développer une application de gestion de stock.
    Voici a peu près comment la fiche de l’article va se présenter. (Voir piece jointe)
    Pour la colonne des entrées et de sorties ; je ne rencontre pas de problème. Seulement pour la colonne de stock cela se complique. Sur Excel (voir Tableau A) ; la fonction est facile mais sur accès 2003 ; je n’arrive pas a faire une fonction qui tienne compte du résultat antérieur.
    Exemple : comment calculer la valeur c4 en partant de sa valeur précédente (C1) plus l’entrée du jour et la sortie du jour ??
    Il en est de même pour le calcul de c6 ; c7 ; c9 ……
    Je suis perdu
    Help please.
    Fichiers attachés Fichiers attachés

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Access ne fonctionne pas du tout sur le même principe que Excel.

    Et si tu veux éviter d'autre mauvaises suprises de ce genre consulte les tutoriaux sur les bases de données relationnelles.

    En gros une table Access c'est un 'bête' tableau qui ne dispose d'aucune faciliter de calcul. Elle ne contient que des données inertes. L''intéligence' est dans les forms, les modules et les requètes.

    Il faut enregistrer ton solde initial quelque part et ajouter les mouvements survenus depuis pour obtenir le solde courrant. C'est la méthode la plus simple.

    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    On peut parfaitement dans access reproduire le fonctionnement d’excel, c’est seulement un peu moins intuitif.
    En fait le problème est de savoir aller chercher la ligne précédente que l’on souhaite trouver, pour cela il faut disposer d’une clef unique ordonnée, un compteur numérique ou un champ horodaté convient parfaitement.
    A titre d’exemple pour ton problème de stock je te propose de créer une table (matable) avec les champs suivants :
    Maclef clef principale compteur auto
    Monproduit champ texte
    Maval champ numérique
    Maval2 champ numérique

    Il suffit alors de lancer la requête ajout suivante pour créer des enregistrements calculés
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    NSERT INTO matable ( monproduit, maval, maval2 )
    SELECT monproduit, [qute] AS nval, [maval2]+[qute] AScumul
    FROM 
    (SELECT TOP 1 monproduit, maval2
    FROM matable
    WHERE monproduit=[produit]
    ORDER BY maclef DESC);
    Elle est pas belle la vie ?

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Personnellement je conseille de ne pas mettre de champ calculé dans une table de ce type. Il vaut mieux, dans le formulaire, état ou requête, mettre une zone calculée via une requête.
    Si non il devient totalement impossible de revenir sur des saisies déjà effectuées.

    Patrice

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    en matière de gestion de stock il est préférable de mettre en dur dans la table
    les champs calculés
    d'autre part on ne revient jamais en principe sur les saisies effectuées aussi erronées soient elles, tracabilité oblige , on prévoit des transactions spécifiques de retour client ou fournisseur
    Elle est pas belle la vie ?

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par random
    en matière de gestion de stock il est préférable de mettre en dur dans la table les champs calculés
    Peut-être mets-tu également la valeur du stock ... sachant qu'avec une gestion par lots (traçabilité oblige) la valeur d'achat est souvent connue après avoir effectué les sorties ... dur, dur !!

    Citation Envoyé par random
    d'autre part on ne revient jamais en principe sur les saisies effectuées aussi erronées soient elles, tracabilité oblige , on prévoit des transactions spécifiques de retour client ou fournisseur
    Si les procédures ISO 9000-xx prévoient une interdiction de modification des saisies effectuées (ce qui est rare à ma connaissance : domaines déjà traités = aéronautique, armement, automobile, nucléaire, etc.) cela ce réalise par des règles de gestion de la base de données et ne change rien au principe de recalcul des champs calculés, juste pour un principe d'unicité de l'information.

    Patrice
    Débutant depuis 35 ans

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Points : 4 297
    Points
    4 297
    Par défaut
    Sur la question des champs calculés, le fil rouge n’est pas l’orthodoxie mais l’efficacité. Si la base est peu volumineuse et les calculs simples, on appliquera normalement les principes canoniques « pas de champ calculé, information unique etc ». Par contre si on prévoit de nombreux accès, si les calculs sont longs et complexes, ou si les volumes sont importants il peut être productif d’introduire des champs calculés. Les techniques de gestion et d’organisation de base et les diktats de merise sont avant tout au service d’un résultat qu’ils doivent accompagner et non entraver.

    Je respecte tes 35 ans d’expérience (le temps ne fait rien à l’affaire) mais sur le principe d’intouchabilité des opérations saisies je serais plus ferme, au niveau des fichiers de base on doit pouvoir tracer les opérations élémentaires dans la plupart des domaines qu’ils soient iso ou non. Une simple application de gestion ne devrait jamais procéder par destruction de données pour les annulations, mais par création d’une information nouvelle modifiant le statut
    de l’information antérieure.
    Elle est pas belle la vie ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par random
    Je respecte tes 35 ans d’expérience (le temps ne fait rien à l’affaire) mais sur le principe d’intouchabilité des opérations saisies je serais plus ferme, au niveau des fichiers de base on doit pouvoir tracer les opérations élémentaires dans la plupart des domaines qu’ils soient iso ou non. Une simple application de gestion ne devrait jamais procéder par destruction de données pour les annulations, mais par création d’une information nouvelle modifiant le statut
    de l’information antérieure.
    Le problème des saisies correctives (donc annulation puis re-saisie de la bonne opération) est quelles risquent de fausser les analyses statistiques (rotation des stocks, consommation, etc. dans ce cas) et de rendre la traçabilité quasi inutilisable.

    Mais tout est question d'analyse. Il n'y a pas de règle absolue.

    Dans le cadre de ce topic ou il est question de passer une gestion de stocks sous Excel à Access, il me semble évident que le volume de mouvements saisi et le nombre de références ne doit pas relever de la gestion d'un hyper-marché. La règle de non enregistrement des champs calculés me semble donc parfaitement applicable (ce qui est d'ailleurs le cas actuellement sous Excel). Quant à la protection des mouvements saisis, je doute de son existence dans une application Excel.

    Patrice
    toujours débutant et heureux de l'être

  9. #9
    Nouveau Candidat au Club
    Inscrit en
    Juillet 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut BESOIN D 'AIDE
    bonjour jessenierin ,

    Avez vous reussi a faire fonctionner un champs calculé a partir d'une valeur precedente.
    Car moi aussi je monte une application de gestion de stock et j'ai lme meme probleme que vous pour le calcul du cout moyen unitaire pondéré.
    "Exemple : comment calculer la valeur c4 en partant de sa valeur précédente (C1) plus l’entrée du jour et la sortie du jour ??"

    Comment avez vous resolu votre probleme sur access?

    Cordialement

    adelaine33
    tutu33-64@hotmail.fr

  10. #10
    Membre à l'essai
    Inscrit en
    Janvier 2007
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 39
    Points : 22
    Points
    22
    Par défaut
    Bonjour,

    la valeur précédente peut être obtenu en recherchant dans le champ clé unique, qui peut être une date ou un numérique. tu peux utiliser les fonctions de domaine dans VBA ou directement dans le champ du formulaire qui doit recevoir cette valeur.

Discussions similaires

  1. Calcule du stock dans un bdd
    Par Salsaboy60 dans le forum Modélisation
    Réponses: 12
    Dernier message: 16/01/2009, 14h56
  2. Calcul du stock à chaque E/S
    Par moilou2 dans le forum Requêtes et SQL.
    Réponses: 29
    Dernier message: 28/12/2007, 19h04
  3. Calculer la taille finale d'une image ISO à partir du dossier source
    Par raoulchatigre dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 05/09/2007, 21h20
  4. [Requête/SQL]Calcul de stock disponible
    Par étudiantesgea dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 25/04/2007, 17h10
  5. Calcul de stock avec valeure null
    Par nideux dans le forum Access
    Réponses: 3
    Dernier message: 02/12/2005, 11h10

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