Bonjour,
j'ai un formulaire F_Commande basé sur une requête , que j'ouvre en mode ajout ou edit. Ce formulaire contient un bouton "Valider", qui déclenche l'exécution de code vba :
Le pb est que si je valide la commande après avoir saisi ou modifié un champ, j'ai un plantage. Je ne l'ai pas si je sors et rentre à nouveau dans ma commande avant de la valider.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 OuiNon = MsgBox("Confirmez-vous la validation de cette commande ?", vbYesNo) If OuiNon = vbYes Then 'Désactivation des messages d'avertissement DoCmd.SetWarnings False 'Mise à jour de la commande en état V DoCmd.RunSQL "UPDATE Commande SET Commande.Etat = ""V"" WHERE (Commande.CodeCde = Forms![F_Commandes]![CodeCde])" MsgBox "Commande n° " & [RefCde] & " validée." 'Insertion de l'évènement COMV dans la table Evenement VarRefCde = Me.RefCde VarCodeUtil = Me.CodeUtil DoCmd.RunSQL "INSERT INTO Evenement (CleCarton,CodeTypeEvent, DateEvent, Quantite, CodeUtil) VALUES (" & VarRefCde & ",'COMV',Format(Date(),'dd/mm/yyyy'),0," & VarCodeUtil & ")"
Est-il possible dans ce code de forcer la fermeture puis la réouverture du formulaire afin d'éviter ce plantage et que cela soit transparent pour l'utilisateur ?
J'ai pensé que je pouvais créer une variable globale avec le nom du formulaire, je faire un DoCmd.Close au click sur le bouton Valider, mais comment réouvrir ce formulaire et lancer le procédure de validation automatiquement ?
Merci pour vos réponses
Partager