J'ai créé un formulaire constitué d'un "Combo Box" (champ à choix multiples) et de plusieurs champs texte. Les valeurs du "combo box" sont extraites d'une colonne d'une table de la db access. Les valeurs des champs texte sont automatiquement extraites d'autres colonnes de la même table.
Le formulaire permet d'éditer la table. Ainsi lorsqu'un utilisateur entre dans un des champs texte une autre valeur que celle qui s'y trouve déjà le code VBA enregistre qu'il y a eu modifications et l'utilisateur lorsqu'il choisira ensuite un autre record dans le "combo box" verra apparaitre une boite de dialogue l'informant des modifications qui'il a effectuées et lui permettant soit de les confirmer (édition effective de la table) soit d'annuler (retour au formulaire mais tout en laissant dans les champs texte les nouvelles valeurs entrées) soit encore un bouton "NO" qui renvoye au formulaire et replace dans les zones de texte les valeurs qui se trouvaient à l'origine dans la DB.
Je souhaitais également que lorsqu'un utilisateur referme le formulaire (au moyen de la case "croix" en haut à droite de la fenêtre) il se voie proposer la même boite de dialogue avec les mêmes possibilités d'enregistrement ou non. J'ai pour cela utilisé la propriété "On close" du formulaire. Cela fonctionne très bien si l'utilisateur choisit d'enregistrer ses modifications.
Cependant s'il choisit une des deux autres options ("Annuler" ou "NON") si les modifications ne sont effectivement pas répertoriées dans la table, le formulaire en revanche disparait, il est fermé. Y a-t-il une instruction qui me permette d'empêcher cette fermeture ?
D'avance je vous remercie pour votre aide précieuse.
Mick030118
Partager