Aide pour base de données

Résolu
Bonjour,

Je suis novice dans access , et j'avais le besoin de créer une base de données de gestion de stock de médicament. Alors après plusieurs recherches sur internet j'ai pu concevoir quelque chose.

J'ai créer tables :
  • t-liste des medicament : pour enregistrer un nouveau medicament
  • t_mouvement de stock : pour enregistrer les entrées et sorties
  • t_donateur et * t_patient pour referencier les donateur et les patients.


j'ai ainsi créer une requête pour afficher le niveau du stock actuel. mais à chaque fois que je l'ouvre on me demande " d'entrer une valeur de paramètre".
Alors je souhaite ne plus voir s'afficher cette boîte de dialogue. Comment m'y prendre ?
J'attends vos réponses.

Voici le lien de la BD que j'ai réalisé
http://www.cjoint.com/c/FHqxWlfk6GG

7 réponses

Résumé de la discussion

La question porte sur une base Access de gestion de stock de médicaments et l'apparition d'une boîte demandant une valeur de paramètre lors de l'ouverture d'une requête affichant le niveau de stock. Plusieurs propositions visent à repartir de zéro avec des tables simples, notamment une table médicament et une table mouvement, afin d'éviter les erreurs liées à des relations mal définies. Des améliorations concrètes ont consisté à scinder les historiques en deux requêtes distinctes (entrées et sorties) et à afficher les noms des médicaments directement dans les mouvements pour une lecture plus claire. D'autres échanges évoquent également l'ajout d'un message de confirmation lors de l'enregistrement d'un nouveau médicament et l'amélioration de l'interface pour rendre les historiques plus lisibles et vérifiables.

Bobot (l’IA à votre service)
  1. Bonjour,

    j'ai téléchargé ta base....

    on va recommencer depuis le début.

    Une table "médicament" --> OK
    Une table "mouvement" --> OK
    Pour le reste, --> NOK

    Par contre, un donateur ajoute t'il FORCEMENT un médic et un PATIENT le retire t'il ???

    A+
    1. @Utilisateur anonymebonjour
      comment fait tu pour ouvrir une base envoyé dans lien sans qu'il compresser?
      Quand je veux l'ouvrir plein de petit point et etoile
      merci de ton aide
    2. @castoursSalut,

      oui, on en avait déjà parlé et je t'avais certifié qu'il était inutile de zipper...

      Etant donné que Domi2424 a pu également ouvrir, j'en conclu que le souci est bel et bien sur ta machine.

      Peut-être un antivirus trop intrusif ????

      A+
    3. @Utilisateur anonymeCastours,

      donnes nous ici ton systeme, navigateur, extensions installées et AV...

      Mais j'ai fait le test avec 3 config différentes, et aucun souci.

      A+
  2. Merci HDU pour ta réponse et ta correction. Je vais consulter le fichier que tu m'as envoyé.

    Mais concernant ta préoccupation :
    Oui oui on reçoit des dons pour les médicaments. on ne fait pas d'achat. Donc on reçoit tous les medicaments d'un donateur.
    Ensuite il n'y a que les patients qui sont à l'origine de la sortie des médicaments.
    1. Merci mon problème est reglé , mais comment tu t'y es pris ?
      1. Bonjour,

        compares ta requête initiale et celle que je t'ai renvoyée...

        A+
    2. Pour Castours, et ceux qui n'ont pas pu accéder aux liens,

      voici la query initiale, et la finale :

      initiale --
      SELECT t_mouvement.designation, Sum(t_mouvement.qte_entree) AS SommeDeqte_entree, Sum(t_mouvement.qte_sortie) AS SommeDeqte_sortie, [SommeDeqte_entree]-[SommeDeqte_sortie] AS 1
      FROM t_mouvement
      GROUP BY t_mouvement.designation, [SommeDeqte_entree]-[SommeDeqte_sortie];


      finale --
      SELECT t_mouvement.designation, Sum(t_mouvement.qte_entree) AS SommeDeqte_entree, Sum(t_mouvement.qte_sortie) AS SommeDeqte_sortie, Sum([qte_entree]-[qte_sortie]) AS Expr1
      FROM t_mouvement
      GROUP BY t_mouvement.designation;

      Quand Jimmy dit What'd I say 
      I love you baby 
      C'est comme qui dirait 
      Toute la province qui chante en anglais
      1. Avec la fin de l'été, j'ai l'impression que les soucis de GROUP BY sont de retour...

        Juste une illusion ??? Où des étudiants pas finis d'être formés ???

        C'est juste une illusion
        A peine une sensation
        Qui dirige tes pas
        Et te montre du doigt
        Où tu vas, où tu vas
        Juste une illusion
        Comme une bulle de savon
        Qui s'approche de toi
        Que tu touches du doigt
        Puis qui s'en va, qui n'est plus là

        (https://www.youtube.com/watch?v=-UlQunizlFA
      2. Bonjour HDU , merci pour ton aide de la dernière fois.
        J'ai encore une toute petite préoccupation , la voici : Je souhaiterais avoir un message de confirmation lorsque je clike sur un bouton qui me permet d'enregistrer des informations dans un formulaire. Je m'explique :

        J'ai un formulaire dans ma BD qui me permet d'ajouter un nouveau médicament dans la table : t_liste_des_medicament. Et je voudrais que à chaque fois qu'un nouveau medicament est entré et validé ; une boîte de dialogue s'affiche et me pose la question suivante : "Voulez-vous confirmer l'ajout d'un nouveau medicament ?" et évidemment avec deux possibilité soit oui ou non.

        Merci pour votre disponibilité
      3. @domi24niqueBonjour,

        sur l'évènement beforeUpdate du formulaire, mets ce code

        if MsgBox("Voulez-vous confirmer l'ajout d'un nouveau medicament ?", vbExclamation + vbYesNo, "CONFIRMATION") = vbNo Then
              Me.Undo 'Annule les modifications
              Cancel = False                
        End If
      4. Merci pour ta réponse ton code marche très bien; mais mon problème n'est pas pour autant réglé. En fait je voudrais relier le code à un bouton "valider" de sorte que le code s'exécute lorsqu'on click sur le bouton.
      5. voici ma BD en question : http://www.cjoint.com/c/FHzoNSF13Xy
    3. Si *vraiment* tu veux mettre un code sur un bouton,

      insère ceci sur l'évènement clic du bouton "valider"

      ajout = MsgBox("Voulez-vous confirmer l'ajout d'un nouveau medicament ?", vbYesNo, "confirmation")
      If ajout = vbNo Then 'si la réponse est non
          Me.Undo 'on annule
      End If
      Cancel = False
      DoCmd.Close 'on ferme quelque soit la réponse (à toi de modifier si tu veux un autre comportement)
      
      


      A+

      1. is it good ???

        Un retour sur les aides est toujours apprécié et surtout *utile* pour les prochaines demandes du même genre...
      2. Non il ne passe pas le code !! On m'affiche un message d'erreur me disant qu'il y a une erreur dans l'expression sur clic.
      3. @domi2424comme moi, je pense que ta base est corrompue...

        Je regarde
      4. donc je dois la reprendre depuis le début ?
    4. Hello,

      perso, dans le formulaire "t_mouvement", je ne vois pas que cela fonctionne...

      Ce n'était pas tant une préoccupation pour moi, mais surtout pour toi !

      A+
      1. peut-être que je me suis planté , parce que j'ai beaucoup bricolé.
        Mais bon ; essai de voir ce que tu peux faire pour moi
    5. Salut,

      le prochain coup que tu "bricoles", entre chaque changement, valides le fonctionnement.

      Là j'ai dû reprendre ton form en intégralité, enfin presque. C'est pas top.

      Voici la base, valides le fait que les ajouts de produits dans les mouvements soient bien visibles et bien registrés dans la table.

      Après, on passera à l'étape suivante (historique).

      Le lien : https://www.cjoint.com/c/FJrtOxg4Xdi

      A te lire, et stp, ne changes rien, ou tiens à jour une liste des modifs.
      1. oui oui ça passe , mais il ya deux ptits problème :
        le 1er c'est que quand je selectionne un medicament j'ai un message d'erreur ( impossible d'attribuer une valeur à ce objet)

        le 2eme le nom des médicament ne s'affiche pas dans la table.

        A te lire
      2. @domi2424A quel moment tu rencontres cela ?
      3. ok ça fonctionne nickel