Restaurer la quantité commandée après suppréssion commande

Fermé
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 - Modifié le 26 févr. 2022 à 20:51
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 - 1 mars 2022 à 20:00
Bonjour ; j'ai une base de donnée qui gère la gestion des commandes et j'ai une formulaire qui présente la liste des commande passées par les clients et j'ai un bouton supprimé qui permet de supprimer une commande de la liste ; ce que je souhaite faire c'est de pouvoir restaurer la quantité supprimée dans le stock du produit concerné ; actuellement la commande est supprimée mais sans conséquence sur la table PRODUIT au niveau du stock du produit supprimé
par ailleurs j'ai aussi une table MOUVEMENT qui retrace toutes les Operations effectuées c'est a dire les ventes et les achats effectués ; est ce que si une commande est supprimée ; faut il aussi supprimer la ligne de cette opération dans la table MOUVEMENT
jai besoins de vos avis et suggestions
merci
voici les lignes de code pour la suppression d'une commande

Private Sub btnSupprimerCommande_Click()
Dim res As Integer
Dim r2 As Boolean
Dim db As Database
Dim req As String
res = MsgBox("Voulez vous Vraiment supprimer la commande [" & Me.CodeCommande & "]", vbYesNo + vbInformation, "Confirmation de suppression")
 If (res = vbYes) Then
    Set db = CurrentDb
    req = "DELETE * FROM Commandes WHERE idCommande=" & Me.idCommande
    db.Execute (req)
    If (db.RecordsAffected > 0) Then
        MsgBox "La Commande  a été supprimée", vbInformation, "Commandes"

        DoCmd.Requery
    Else
        MsgBox "impossible de supprimer la commande [" & Me.CodeCommande & "]", vbInformation, "Commandes"
    End If

 End If
End Sub

A voir également:

23 réponses

yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
25 févr. 2022 à 19:11
bonjour,
En lisant cela, je me demande si les tables sont bien structurées.
Je me demande aussi s'il n'est pas préférable de créer une commande "négative", plutôt que de supprimer la commande.
Cela éviterait de créer du code pour la suppression, et de perdre l'historique.
Sinon, il faut analyser ce qui se fait quand la commande est créée, et défaire tout cela.
Tout le programme marche très bien , quand on achète et on vend le stock est correct et même en cas de corrections les stocks sont auusi correctes sauf en cas de suppression de la commande sinon les tables sont bien structurées
Quand le client passe une commande , le stock dimunie dans la table produit et une ligne de commande est créée dans les tables commande detailcommande et mouvement
Je veux que la suppression se fasse dans le configuration actuelle c'est à dire à partir du bouton supprimé dans la liste des commandes
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
25 févr. 2022 à 20:35
Il suffit alors d'augmenter le stock dans la table produit et de supprimer les lignes de commande dans les tables commande detailcommande et mouvement.
0
Je ne comprends pas la suggestion

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

Posez votre question
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
25 févr. 2022 à 20:53
Il faut analyser ce qui se fait quand la commande est créée, et défaire tout cela.
Afin d'augmenter le stock dans la table produit et de supprimer les lignes de commande dans les tables commande detailcommande et mouvement.
Ok , en effet actuellement , la lignes de commande dans les tables commandes et detailcommandes sont bien supprimées sauf que ce n'est pas le cas dans la table mouvement et que le stock du produit ne dimunie pas
Est ce que on peut créé une macro ou tout autre chose et la lier au bouton supprimé
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
25 févr. 2022 à 21:51
Il faut analyser ce qui se fait quand la commande est créée, et défaire tout cela.
Qui a écrit cette application, qui peut l'analyser?
0
Je l'ai conçu à partir de plusieurs documentations et la propriété RecordAffected de l'objet Database permet de tester l'instruction SQL si elle a été bien exécuter ou pas
En effet si elle est bien exécutée la ligne de commande sélectionnée est supprimée
Salut , est ce que vous pouvez me donner des orientations
Merci
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
26 févr. 2022 à 19:12
Il faut analyser ce qui se fait quand la commande est créée, et défaire tout cela.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
Modifié le 26 févr. 2022 à 20:52
J'ai essayé d'ajouter une requête pour la mise à jour du stock mais il n'affiche aucun message d'erreur mais le stock ne se met pas à jour ; voici ce que jai pu faire :

Private Sub btnSupprimerCommande_Click()
Dim res As Integer
Dim ReqUpdateQTE As String
Dim db As Database
Dim req As String
Dim IdProduit As Integer
Dim QteCommande As Integer

res = MsgBox("Voulez vous Vraiment supprimer la commande [" & Me.CodeCommande & "]", vbYesNo + vbInformation, "Confirmation de suppression")
 If (res = vbYes) Then
    Set db = CurrentDb
    req = "DELETE * FROM Commandes WHERE idCommande=" & Me.idCommande
    db.Execute (req)
    
    If (db.RecordsAffected > 0) Then
        MsgBox "La Commande  a été supprimée", vbInformation, "Commandes"
    ReqUpdateQTE = "UPDATE Produit SET QteStock=QteStock + " & QteCommande & " WHERE idProduit=" & IdProduit
        db.Execute ReqUpdateQTE
        DoCmd.Requery
    Else
        MsgBox "impossible de supprimer la commande [" & Me.CodeCommande & "]", vbInformation, "Commandes"
    End If
    
 End If
End Sub
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
27 févr. 2022 à 09:41
as-tu analysé ce que contient
QteCommande
?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
27 févr. 2022 à 10:05
QteCommande
c'est la quantité commandée par un client dans une ligne de commande pour un produit
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
27 févr. 2022 à 10:28
Tu expliques ce que tu souhaites, tu n'examines pas la réalité.
0
Quelle peut être la réalité ? Qu'est ce que vous voulez dire
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
27 févr. 2022 à 12:27
Examine la réalité, ton fichier, ton code, le contenu de tes variables.
Que contient
QteCommande
?
0
Examiner la réalité, est ce que ça veut dire que ce n'est pas faisable avec ce fichier
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
28 févr. 2022 à 09:01
D'un coté, il y a ce que tu penses, ce que tu as écrit en #14.

D'un autre coté, il y a la réalité, ce que contient le fichier.

En examinant le fichier, où vois-tu que la variable contient la quantité?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
28 févr. 2022 à 13:34
est ce que je avoir un lien pour mieux comprendre la notion de variable
merci
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
28 févr. 2022 à 14:00
QteCommande
est une variable.
Connais-tu des techniques pour examiner ce que contient cette variable?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
28 févr. 2022 à 17:07
Je pense qu'il faut placer le curseur de la souris sur la variable dans le code et voir la valeur affichée par cette variable
Est ce c'est juste ou pas ?
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
28 févr. 2022 à 17:31
Et que vois-tu comme valeur pour cette variable?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
28 févr. 2022 à 17:35
j'avais dit que le code n'affiche pas de message d'erreur ; donc il n'affiche pas de valeur
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
28 févr. 2022 à 19:08
Il existe plusieurs techniques pour examiner la valeur d'une variable même quand il n'y a pas d'erreur.
La plus simple à mettre en oeuvre, c'est msgbox.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
28 févr. 2022 à 19:14
Comment cela peut être examiné à partir de la MsgBox
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
28 févr. 2022 à 19:44
msgbox est une instruction que tu peux ajouter dans le code pour afficher ce que tu souhaites afficher.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
28 févr. 2022 à 23:47
Oui c'est fait et la
QteCommande
affiche 0
Voici le message :
msgbox("la valeur de la quantité commandee : "& QteCommande)
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
1 mars 2022 à 08:00
Ce qui explique que le stock du produit ne change pas.
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
1 mars 2022 à 09:04
Oui effectivement,le stock ne change pas
Que faut-il faire d'autre pour arriver à ma fin ?
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
1 mars 2022 à 09:39
Pourquoi le stock ne change-t-il pas?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
1 mars 2022 à 10:24
Parce que la valeur du paramètre
QteCommande
est 0
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
1 mars 2022 à 10:36
D'où vient cette valeur 0?
0
Oholabi12345 Messages postés 498 Date d'inscription vendredi 21 août 2020 Statut Membre Dernière intervention 29 octobre 2022 1
1 mars 2022 à 11:56
Ça vient du fait que la variable ne contient pas la quantité commandée par le client
yg_be Messages postés 22964 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 13 juillet 2024 1 495
1 mars 2022 à 13:16
Comment mettre dans la variable la bonne valeur? Où trouver cette valeur?
0