Gestion de Stock

Résolu
oyekalis Messages postés 4 Date d'inscription dimanche 20 mai 2012 Statut Membre Dernière intervention 11 décembre 2012 - 10 juin 2012 à 08:13
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 15 juin 2012 à 11:01
Bonjour !!!
Je veux avoir l’état du stock de ma base de données Access gestion de production.

Dans ma base de données j'ai une table "Entrée de stock" et une table "sortie de stock" j'ai fait une requête sur la 1ere table qui me renvoie le (code_produit, Nom_emballage, et Quantité_entrée)de tous les produits entrées en stock.
j'ai fait une autre requête sur la 2eme table qui me renvoie le (code_produit, Nom_emballage, et Quantité_sortie)de tous les produits sortie en stock.

j'arrive pas à faire l’état du stock pourtant je sais théoriquement que :l'état_stock = stock initial + Quantité_entrée - Quantité_sortie

Y a t il quelqun pour m'aider ? merci davance

7 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
10 juin 2012 à 11:19
Bonjour,

j'ai fait une requête sur la 1ere table qui me renvoie le (code_produit, Nom_emballage, et Quantité_entrée)de tous les produits entrées en stock.
j'ai fait une autre requête sur la 2eme table qui me renvoie le (code_produit, Nom_emballage, et Quantité_sortie)de tous les produits sortie en stock.



Tu veux dire une requete regroupement qui renvoie la somme des quantités entrées pour chaque produit.
Et une autre requete regroupement qui renvoie la somme des quantités sorties pour chaque produit.

Je suppose aussi que tu as une table Produits ou figure le champ Stock_I,itial.

Si tout ça est vrai, alors il suiffit de faire une requete réunissant ces trois dans un schema mettant en relation d' un côté la table produits à la requete 1 . et d' un autre côté la table produits à la requete.
Tu tires
-Code_Produit et Stock_I,itial de la table produits.
-Le champ SommeQteEntrée de la requete 1
-Le champ SommeQteSortie de la requete 2.

Attention à la propriété de la relation:
Il faudra spécifier:
Tout de la table produits et seulement ceux de la requete1.
Tout de la table produits et seulement ceux de la requete2.
Et remplacer Null par 0 s' il n' ya pas d'occurence dans l' une ou l' autre des 2 requetes.







[] Ce qui va sans dire. va mieux en le disant.
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
10 juin 2012 à 11:27
Inclure tout les enregistrements de la table produits et seulement ceux de la requete1 pour lesquels les champs joints sont égaux.
Inclure tout les enregistrements de la table produits et seulement ceux de la requete2 pour lesquels les champs joints sont égaux.

Il se peut qu' il y' ait des produits pour lesquels il n'y a ni entrée ni sortie.
Il se peut qu' il y' ait des produits pour lesquels il y a des entrées mais pas de sortie.



[] Ce qui va sans dire. va mieux en le disant.
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
13 juin 2012 à 00:23
Bonsoir,

Il y a deux façons de faire pour remèdier au problème:

1° Méthode: remplacer le null dans la définition du champ stock_final.
Dans la requete3, tirer :
-Code_Produit et Stock_I,itial de la table produits.
-Le champ SommeQteEntrée de la requete 1
-Le champ SommeQteSortie de la requete 2.
-Génèrer le champ Stock comme ceci:
Stock:[Produits]![Stock_Initial]+ _
VraiFaux(IsNull([R1]![Code_Produit]);0;[R1]![SommeQteEntree])- _
VraiFaux(IsNull([R2]![Code_Produit]);0;[R2]![SommeQteSortie])- _

2° Méthode: remplacer le null dans la définition des champs QteEntree et QteSortie.

Dans la requete3, tirer :
-Code_Produit et Stock_I,itial de la table produits.
-Génèrer un champ QteEntree:
VraiFaux(EstNull([R1]![Code_Produit]);0;[R1]![SommeQteEntree])

-Génèrer le champ QteSortie:
VraiFaux(EstNull([R2]![Code_Produit]);0;[R2]![SommeQteSortie])

-Génèrer le champ Stock comme ceci:
Stock:[Produits]![Stock_Initial]+QteEntree-QteSortie






[] Ce qui va sans dire. va mieux en le disant.
3
debutemps Messages postés 34 Date d'inscription jeudi 7 juin 2012 Statut Membre Dernière intervention 14 juin 2012 1
10 juin 2012 à 11:10
Bonjour,
avec un argument sql imbriqué tu devrais y arriver.
mais ma proposition est la suivante: 1 seule table qui contient les entrées et les sorties
évidemment l'entrée est positive et la sortie négative. L'avantage est qu'en une seule requête du genre "select sum( " le résultat te sera renvoyé par ta base.

Lydie
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oyekalis Messages postés 4 Date d'inscription dimanche 20 mai 2012 Statut Membre Dernière intervention 11 décembre 2012
12 juin 2012 à 20:42
Bonjour,
Je vous remercie tous pour vous reponses rapide.
LIBRE_MAX
Je te remercie particulièrement car ta methode est en voie de fonctionner.Je ve savoir où exatement je peu remplacer Null par 0 s' il n' ya pas d'occurence dans l' une ou l' autre des 2 requetes.
Parce que actuelement dans ma requete3 qui Unis (la requete1,la table Produit et la requete2)revoie l'etat du stock mais pas dans tous les cas car si il n'ya pas d'entrée ou de sortie la requete3 ne renvoi rien pourtant je voudrai dans ce cas kel me donne le stock_inital si Qté entrant 0 et Qté sortant 0.

Merci!!!
0
oyekalis Messages postés 4 Date d'inscription dimanche 20 mai 2012 Statut Membre Dernière intervention 11 décembre 2012
14 juin 2012 à 19:54
Bonsoir LIBRE_MAX,

Je te remercie infiniment tu as résolus mon problème, ma gestion de stock se fait en merveille. j'ai utilisé la 1er méthode et sa fonctionné à la première tentative , c'est pour dire que tu expliques super!! bien!

[] Ce qui va sans dire. va mieux en le disant.

Merci une fois de plus!!!
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
15 juin 2012 à 11:01
Bonjour oyekalis,

Moi aussi c' est pour te dire que si tu as réussi,
c' est parceque tu l' as mérité.
Arriver à ce résultat en si peu de messages,c' est la preuve que tu as bossé derrière.
Franchement, pour cette question là, j' ai rarement croisé quelqu' un aussi réceptif.

Bravo et merci de m' avoir offert ce moment de satisfaction.

Amicalement.




[] Ce qui va sans dire. va mieux en le disant.
0
Rejoignez-nous