Mettre a jour un champ [Résolu]

Signaler
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020
-
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020
-
Salut , je souhaite mettre à jour le champ quantitestock de la table PRODUIT dès que le champ quantitesortie de la table SORTIE est saisi
nous disposons de deux formulaires ; un formulaire principal (F_SORTIEMATERIEL) et un sous formulaire(F_DETAILSORTIE) et les deux basés sur des requêtes
voici le lien de ma base de données:
https://www.cjoint.com/c/JIqw6Wxa1xo
si vous m'avez compris ; j'attends une aide
merci d'avance

2 réponses

Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021
807
bonjour,
il est recommandé, autant que possible, d'éviter de faire cela.
n'est-il pas possible de ne pas avoir de champ quantitestock dans la table PRODUIT, et de plutôt utiliser une requête pour calculer le stock?
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020

merci deja ; vous pensez donc que le champ quantitestock devrait être dans quelle table ? sinon comment le stock pourrait être reccuperé dans le sous formulaire F_DETAILSORTIE de sorte que si le produit est choisi et que la quantitesortie est saisie on puisse avoir le stock (quantitestock)
je souhaiterais que la table PRODUIT(idproduit ; designation ;type ;quantitestock ) soit traité avec ma logique
merci
Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021
807 >
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020

je suggère de n'avoir de champ quantitestock dans aucune table.
je suggère, quand il est nécessaire de connaitre le stock, de le calculer à partir des entrées et des sorties.
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020

donc a chaque fois qu'on aurait besoin de faire une sortie on irait consulter la requête ; non je ne pense pas que cela soit commode selon la demande de l'utilisateur ; je pense doit rester dans la logique de cette analyse ; en effet je pense que nous devons créer une requete UPDATE sur l’évènement mise a jour du champ (quantitesortie) pour résoudre ce problème ; jai essayé en vba mais il m'affiche un bug; vous pouvez le consulter sur le lien

merci
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020
>
Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021

Ce que je veux savoir, est ce que on peut éviter ce #erreur à l'ouvertute, avant le choix d'un produit, à cette étape efin de compte je constate que vous ne ne proposez rien comme piste pour régler mon problème de stock
Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021
807 >
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020

nous nous sommes parfaitement compris, je n'ai pas fait de suggestion pour éviter d'avoir #error quand on essaie de calculer le stock sans savoir pour quel produit. je me demande, toutefois, si c'est vraiment important.

EDIT:
je n'ai pas cherché dans la bonne direction.
en fait, il suffit de faire ainsi:
=DSum("STOCK";"REQSTOCK";"IdProduit=" & IIf(IsNumeric([IdProduit]);[idProduit];0))
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020
>
Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021

Oui maintenant c'est bon, le stock est correct et je peux mettre resolu pour ce sujet
Merci encore pour votre patience, vous voulez m'apprendre à pecher au lieu de me donner du poisson
Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021
807
ceci ne donnera pas de message d'erreur:
Option Compare Database
Option Explicit

Private Sub QteSortie_AfterUpdate()
Dim ReqUpdateQte As String
ReqUpdateQte = "Update PRODUIT SET QUANTITESTOCK = QUANTITESTOCK - " & Me.QteSortie & " WHERE IdProduit=" & Me.IdProduit
CurrentDb.Execute ReqUpdateQte
End Sub
Messages postés
110
Date d'inscription
vendredi 21 août 2020
Statut
Membre
Dernière intervention
8 octobre 2020
>
Messages postés
14378
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 février 2021

Merci le code marche parfaitement, je vous reviens pour un autre code au cas ou apres validation d'une sortie ,on se rend compte d'une erreur de saisie Dans le champ quantitesortie , comment faire la modification du champ saisie et obtenir le bon resultat