[Access] Mise à jour d'un stock

Résolu/Fermé
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 - 7 août 2009 à 10:08
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 - 20 août 2009 à 11:25
Bonjour,


J'ai créé une base de données sous Access permettant la gestion de caisse pour mon stage.

J'ai une interface de gestion des ventes à l'aide d'un formulaire Vente et d'un sous formulaire ligne vente.

J'aimerais mettre un bouton de validation de la vente permettant de mettre à jour le stock suivant les sorties.

J'ai une table Produit avec toutes les infos correspondantes : Code à barres, famille, modèle, prix... et enfin Stock.
Dans le formulaire de vente, pour chaque ligne de vente j'indique la quantité amenée à sortir (présent dans la table Ligne_Vente).

Le but est donc de faire : Produit.Stock = Produit.Stock - Ligne_Vente.Quantité avec bien sûr une correspondance au niveau du code à barres.


Merci d'avance pour votre aide.

Lamp's
A voir également:

12 réponses

Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
19 août 2009 à 10:17
Est ce que tu pourrais entrer un peu plus dans les détails stp Blux ? Je débute et je ne sais pas trop comment m'y prendre.
1
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
20 août 2009 à 11:25
C'est bon, j'ai réussi à m'en sortir !

J'ai fait une 1ere requete de selection, me sortant le numéro de la vente sur laquelle je me situe, la référence de chaque produit vendu, la quantité vendue et la quantité en stock.

J'ai ensuite fait une requete de MAJ, basée sur cette premiere requête en ne selectionnant que la quantité vendue et le stock, et le traditionnel [Stock] = [Stock] - [Quantité].

Et ça fonctionne bien !

Merci encore Blux.
1
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
7 août 2009 à 14:15
Petit up ;)
0
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
7 août 2009 à 16:20
re up plz ^^
0

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

Posez votre question
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
18 août 2009 à 15:37
Re re up, help me plz
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
18 août 2009 à 16:01
Salut,

un peu de code sur le bouton pour lui faire exécuter une requête de mise à jour...

docmd runsql("UPDATE....)
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
19 août 2009 à 10:44
Il faut de créer un requête avec récupération des infos dans le formulaire, pour l'exécuter ensuite.

Ca peut donner un truc comme ça :
Dim StrSql as String
StrSql = ""
StrSql = StrSql & "UPDATE Produit SET Stock = (Stock - " & me.quantite.value & ") WHERE code = " & me.code.value
docmd.runsql (StrSql)
Sachant que "me.quantite" et "me.code" sont les noms de zones du formulaire où l'ont vient chercher les valeurs.

C'est plus clair ?
0
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
19 août 2009 à 14:14
Ok je vois merci. Une derniere question, vu que j'aurai plusieurs lignes de vente dans mon formulaire vente, comment dois je faire pour mettre à jour le stock pour chacune de mes lignes ?
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
19 août 2009 à 15:04
créer un champ qui va faire la somme des lignes, et récupérer cette valeur pour la passer dans ta requête.
0
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
19 août 2009 à 15:49
Oui mais chaque ligne ne correspond pas forcement à un même produit.
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
19 août 2009 à 15:57
bon, du coup c'est qu'il y a sûrement un problème de conception du formulaire...

d'où sortent tes lignes de vente ? sont-elles validées au moment où tu les affiches dans ce formulaire ?

parce qu'il serait de bon ton de calculer le déstockage lors de la validation de la facture
0
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
19 août 2009 à 16:33
Pour reprendre en gros depuis le début, j'ai 3 tables :

- une table produit : Code à barres, Famille, Sous famille, Marque, Modèle, Taille, Prix et Stock
- une table ligne vente : Référence vente, référence produit, quantité, remise, vendeur
- une table vente : numéro vente, mode de paiement, date, infos client

Mon formulaire de vente est basé sur ma table vente et mon sous formulaire ligne vente sur une requête de sélection me permettant ainsi, avec le lecteur de code à barres, d'afficher toutes les informations concernant le produit.

Les lignes de vente ne sont pas validées.

J'aimerais avoir un bouton de validation au niveau de chaque vente afin d'éviter les erreurs de saisies qui entraineraient des erreurs dans le stock.
0
Lamp's Messages postés 54 Date d'inscription mercredi 13 mai 2009 Statut Membre Dernière intervention 24 septembre 2009 6
19 août 2009 à 16:34
J'avais oublié, on ne créer pas de facture sauf lorsque le client en demande ce qui est assez rare. Pour ceci, j'ai simplement créer un état basé sur mon formulaire avec quelques champs de calcul pour les sommes à payer, la TVA ...
0
blux Messages postés 25976 Date d'inscription dimanche 26 août 2001 Statut Modérateur Dernière intervention 18 avril 2024 3 287
19 août 2009 à 18:57
donc, dans ce cas là, il faut mettre à jour le stock à chaque création de ligne dans la table vente ou ligne vente...
0