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

VBA Access Discussion :

Affichage en tmp réel du stock dans mon formulaire !


Sujet :

VBA Access

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Affichage en tmp réel du stock dans mon formulaire !
    Bonjour,

    Je suis newbie en access et ai monté une base pour gerer les achats et sorties de denrées de mon resto !

    J'ai:
    - une table d'achats où je rentre mes denrées selon le bon de livraison fournisseur.
    - Une table de sortie où je sors les denrées utilisées pour la journée.

    Chaque denrée est codée avec un code que je décompose ainsi, afin de gérer une tracabilité:

    "XXXXYYZZZ"

    - XXXX: est le N° du bon de livraison fournisseur.
    - YY: est le rang de l'article imprimé sur le bon de livraison fournisseur.
    - ZZZ: est la Date Limite de Consommation (1 à 365)

    J'ai fais une requete qui calcul le stock restant (difference entre la quantité d'achat et la quantité sortie au quotidien).

    Je désire dans mon formulaire de "sortie de denrées", avoir un champ, qui à la perte de focus du champ: "CodeProduit" m'affiche en temps réel le resultat de ma requete "stock".

    J'espere avoir été clair.

    Je suis débutant, et souhaite avoir, si vous en avez le temps, une aide didactique.

    Par avance merci
    Sébastien

  2. #2
    Rédacteur/Modérateur
    Avatar de Jeannot45
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2004
    Messages
    3 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 871
    Points : 8 489
    Points
    8 489
    Par défaut
    Bonjour,

    Tu peux mettre à jour ton formulaire après la saisie d'une entrée ou d'une sortie en faisant soit :


    évènement concerné : AprèsMAJ du champ Entrée en Stock ou AprèsMAJ du Champ Sortie de Stock

    Réactualisation du controle du formulaire qui affiche ton stock

    soit Recalcul complet du formulaire

    Bon courage

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 50
    Points : 53
    Points
    53
    Par défaut
    Tu dois avoir une
    table produits
    idProduit -Identifiant
    nom - libellé du produit

    Table infosproduits
    idProduit
    quantite - quantité disponible
    datelimite

    Table achats
    idFacture - identifiant
    Date - date d'achat
    idFournisseur - identifiant du fournisseur

    Table achats_produits
    idFacture - identifiant de la facture
    idProduit - identifiant du produit acheté
    quantite - quantité achetée
    dateconso - date limite de consommation

    Tu auras ensuite un formulaire Achats avec le sous-formulaire tabulaire achats_produits (champs père-fils sur idFacture) . Tu peux utiliser l'évènement "après insertion" pour coder la mise à jour de ton stock:
    en vba:
    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
    dim sql as string
    dim rec as recordset
    '1) vérifier la date de consommation
    sql = "SELECT * FROM infosproduits WHERE datelimite = " & me.dateconso & ";"
    set rec = currentdb.openrecordset ( sql )
    if (rec.recordcount > 0) then
    'Mise à jour du stock
        rec.movefirst
        dim nb as integer
        nb =  rec("quantite") + me.quantite 'valeur stockée dans la base de donnée + celle encodée dans le formulaire d'achat
        sql = "UPDATE infosproduits SET quantite = " & nb & " WHERE idProduit = " & me.idProduit & ";"
        docmd.runsql ( sql )
    else
    'Ajouter au stock
        sql = "INSERT INTO infosproduits VALUES (" & me.idProduit & "," & me.quantite & "," & me.dateconso & ");"
        docmd.runsql (sql)
     
    end if
    rec.close
    Ce n'est surement pas utilisable tel quel mais ca doit te donner des idées.
    La clé que tu utilises actuellement pour ton produit me paraît pas trop bon, tu devrais chaque jour qui passe aller décrémenter la partie ZZZ de ta clé, sinon tu ne sauras jamais quand tu auras des produits périmés et l'information sera de toute façon inutilisable.
    De plus, si tu achetes deux produits identiques avec des dates limite de consommation identiques sur des commandes différentes, tu auras des clés produits différentes alors qu'ils devraient logiquement être identiques.
    Tu dois résoudre en premier lieu ton problème de clé sur les produits avant de pouvoir mettre le stock à jour.

Discussions similaires

  1. Affichage de mon CSS dans mon formulaire
    Par MickaDoH dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 11/02/2014, 14h12
  2. Problème d'affichage dans mon formulaire
    Par samus535 dans le forum IHM
    Réponses: 5
    Dernier message: 28/01/2008, 19h05
  3. Réponses: 2
    Dernier message: 26/12/2006, 12h49
  4. Affichage des données d'une bdd dans un formulaire
    Par Shekhmet dans le forum Langage
    Réponses: 5
    Dernier message: 04/04/2006, 19h27

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