Mettre a jour un champ

Résolu
Oholabi12345 Messages postés 511 Statut Membre -  
Oholabi12345 Messages postés 511 Statut Membre -
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

Résumé de la discussion

Problème central : la mise à jour du champ QuantitéStock dans PRODUIT doit se faire automatiquement dès que le champ QuantiteSortie est saisi, via deux formulaires et des requêtes liées. Plusieurs propositions portent sur l'architecture des données, avec des tables ENTREE et DETAILENTREE pour les entrées et des requêtes de calcul qui recalculent le stock par produit, afin d'éviter les incohérences. D'autres évoquent DSUM et des valeurs par défaut pour éviter l'erreur au démarrage, ou l'utilisation de requêtes dédiées afin d'assurer la cohérence des chiffres lors des saisies et des ajustements.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    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?
    0
    1. Oholabi12345 Messages postés 511 Statut Membre 1
       
      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
      0
      1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Oholabi12345 Messages postés 511 Statut Membre
         
        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.
        0
  2. Oholabi12345 Messages postés 511 Statut Membre 1
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      l'utilisateur n'utiliserait pas la requête: la requête sera utilisée par le formulaire.
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
      0
    3. Oholabi12345 Messages postés 511 Statut Membre 1 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      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
      0
    4. Oholabi12345 Messages postés 511 Statut Membre 1 > yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention  
       
      ok c'est une méthode aussi ; comment pourrais je le faire ; en fait en utilisant la requete en vba ; je constate que lorsque la mise a jour est faite en cas d'erreur et en revenant sur la saisie la nouvelle saisie est encore deduite sur le stock donc la correction n'est pas faite ; je m'explique avec un exemple à l'appui
      qtestock = 100 qtesorti = 10 nouvelle qtestock = 90
      si vous voulez faire une correction sur la qtesortie au lieu de 10 je devrais saisir 5
      la nouvelle qtestock au lieu de 95 il affiche 85 ; comment pourrait on regler ce probleme
      merci
      0
    5. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588 > Oholabi12345 Messages postés 511 Statut Membre
       
      tout ces problèmes disparaissent si on calcule le stock au lieu de l'avoir comme champ.
      0