Restaurer la quantité commandée après suppréssion commande
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
23 réponses
Un problème central porte sur la suppression d'une commande dans une base de données de gestion des commandes et du stock, la suppression actuelle n'imputant pas le réapprovisionnement ni l'historique dans MOUVEMENT. Les contributions évoquent de mettre à jour le stock automatiquement lors de la suppression et de décider si la ligne dans MOUVEMENT doit être effacée. D'autres analyses portent sur la validité des variables comme QteCommande, la structure des tables et envisagent une commande négative plutôt que supprimée pour préserver l'historique. En l'état, le stock ne se met pas à jour lors des suppressions et le fil explore des méthodes comme restauration, suppression limitée ou déclencheurs pour préserver l'historique.
-
Est ce que je peux avoir un lien pour mieux comprendre cette notion, ou bien la discussion ne peut plus continuer
-
Je ne sais vraiment pas comment mettre la bonne valeur dans la variable, je pense que là valeur se trouve dans une table
-
Jusque là , je ne vois pas
-
Ça vient du fait que la variable ne contient pas la quantité commandée par le client
-
Parce que la valeur du paramètre
QteCommande
est 0 -
Oui effectivement,le stock ne change pas
Que faut-il faire d'autre pour arriver à ma fin ? -
Oui c'est fait et la
QteCommande
affiche 0
Voici le message :msgbox("la valeur de la quantité commandee : "& QteCommande) -
Comment cela peut être examiné à partir de la MsgBox
-
j'avais dit que le code n'affiche pas de message d'erreur ; donc il n'affiche pas de valeur
-
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 ? -
est ce que je avoir un lien pour mieux comprendre la notion de variable
merci -
Examiner la réalité, est ce que ça veut dire que ce n'est pas faisable avec ce fichier
-
Quelle peut être la réalité ? Qu'est ce que vous voulez dire
-
QteCommande
c'est la quantité commandée par un client dans une ligne de commande pour un produit -
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 -
Salut , est ce que vous pouvez me donner des orientations
Merci -
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 -
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é -
ContributeurIl 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. -
Je ne comprends pas la suggestion
- 1
- 2