Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > IHM
IHM Ce forum est dédié aux questions relatives à la création de formulaires et d'états, avec ou sans code VBA, et macros.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/04/2011, 16h26   #1
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 4
Points : 1
Points : 1
Par défaut Décrémentation d'un stock

Bonjour,

je suis entrain de construire une base de données me permettant de gérer des stocks de produits ainsi que leur commande par des collaborateurs et des réassorts.

J'ai ainsi prévu plusieurs tables et des relations présentées dans l'image :



J'ai conçu deux requêtes de mise à jour :
1- une requête qui prend en compte les commandes et donc qui diminu mes stocks
Citation:
UPDATE produit INNER JOIN lignecommande ON produit.N°produit=lignecommande.N°produit SET produit.Pr_Nb = produit.Pr_Nb-lignecommande.Qte_Cmd;
2- une requête qui prend en compte les réassorts et donc qui augmente mes stocks
Citation:
UPDATE produit INNER JOIN ligneréapp ON produit.N°produit=ligneréapp.N°produit SET produit.Pr_Nb = produit.Pr_Nb+ligneréapp.Qte_réap;
Le problème c'est qu'à chaque lancement de ma macro (qui active ces deux requêtes) les stocks sont modifiés depuis la première commande enregistrée dans ma base.
De ce fait imaginons que je commande deux stylos aujourd'hui, si je lance ma macro tous les jours durant une semaine, mes stocks de stylos vont être réduits de 14 !!

est-ce que quelqu'un aurait la combine pour que cette macro ne s'applique qu'aux modifications effectuées depuis le dernier lancement. Ou faut il insérer un critère de date dans la requête? Dans les deux cas je ne sais pas du tout faire!

Merci par avance
amonterrat est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 18h06   #2
Membre habitué
 
Homme
Conseil - Consultant en systèmes d'information
Inscription : octobre 2008
Messages : 212
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 51
Localisation : France

Informations professionnelles :
Activité : Conseil - Consultant en systèmes d'information
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 212
Points : 126
Points : 126
Bonjour amonterrat,

C'est normal. Tu appliques un code SQL global sur l'ensemble des enregistrements (avec toutes les relations entre-elles ! : tous les produits mais aussi toutes les lignes de commandes et toutes les lignes de réappro ..).

2 choses à faire :

1-Limiter l'action de tes requêtes 1 et 2 uniquement aux produits mouvementés de ta commande (ou de ton réappro) : Ajouter une clause WHERE dans ton code SQL (tu peux faire générer la syntaxe en utilisant le générateur de requête ... sinon on t'aidera )

2-Lancer la requête uniquement après avoir validé la commande (le réappro)

@+
Triton972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 20h11   #3
Rédacteur/Modérateur
 
Avatar de Philippe JOCHMANS
 
Homme Philippe JOCHMANS
Développeur informatique
Inscription : mai 2005
Messages : 17 615
Détails du profil
Informations personnelles :
Nom : Homme Philippe JOCHMANS
Âge : 44
Localisation : France, Loir et Cher (Centre)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Communication - Médias

Informations forums :
Inscription : mai 2005
Messages : 17 615
Points : 30 968
Points : 30 968
Envoyer un message via MSN à Philippe JOCHMANS Envoyer un message via Skype™ à Philippe JOCHMANS
Bonjour

Fais des recherches sur le forum, il y a de nombreux discussions sur la gestion de stock.

Entre autre tu t'y prends très mal.

On ne fait pas de mises à jour de stock, mais on doit avoir une table de mouvements avec les entrées et les sorties, et c'est un requête qui calcul le stock actuel.

Cela permet entre autre d'avoir un historique, ce qui est impératif si on veut une gestion de stock cohérente, je te parle d'une expérience de nombreuses années de gestion de stock.

Philippe
__________________
Détaillez vos questions, sinon vous aurez des réponses erronées et vous irez tout droit dans le et lisez les règles sinon
Si vous pensez commencer sans un livre, oublier : livres pour débuter
Vous pouvez consulter mes articles sur Access et PowerPoint
Le blog Office.

Inutile de m'envoyer un MP pour des questions techniques ou de me relancer , je n'y répondrais pas.
Philippe JOCHMANS est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/04/2011, 20h58   #4
Invité de passage
 
Homme
Inscription : avril 2011
Messages : 4
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : avril 2011
Messages : 4
Points : 1
Points : 1
Merci à tous les deux pour l'intérêt que vous portez à ma question.

Je vais regarder dans l'historique des discussions... j'aurais dû commencer par là

En tout cas, effectivement avec une table de mouvement ça semble effectivement plus simple. Je regarde ça!
amonterrat est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h22.


 
 
 
 
Partenaires

Hébergement Web