Form_Close

Le
Warrio
Bonjour!

Est-il possible d'empêcher que l'utilisateur d'un formulaire Access ferme
une fenêtre?
de telle sorte que lorsqu'il ne puisse pas fermer la fenêtre sans avoir
valider les données entrées
Que dois-je utiliser dans la procédure Form_Close?

Merci pour toute suggestion
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #5059421
Salut,

"Warrio"
Est-il possible d'empêcher que l'utilisateur d'un formulaire Access ferme
une fenêtre?
de telle sorte que lorsqu'il ne puisse pas fermer la fenêtre sans avoir
valider les données entrées
Que dois-je utiliser dans la procédure Form_Close?



En fermant la fenêtre, Access sauve automatiquement les données.

Si tu veux que l'utilisateur confirme en cliquant sur un bouton,
tu peux faire ceci...


Déclare une variable piblic pour ton formulaire (en haut, avant la première sub)

Dim NoFormClose As Boolean

Dans l'événement "Sur ouverture" tu mets:

NoFormClose = True


Dans l'événement "Sur libération" (Unload)

Private Sub Form_Unload(Cancel As Integer)
If NoFormClose = True Then
Cancel = NoFormClose
Msgbox "Validez par le bouton"
End If
End Sub


Dans le code de ton bouton, tu ajoute au début:

NoFormClose = False


Avec cela, un clic sur la croix [X] affiche le message
et la sortie n'est permise que par ton bouton.

Ok ?


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Raymond [mvp]
Le #5059411
Bonjour.

il faut prévoir en premier un bouton de validation pour pouvoir sortir.
ensuite supprimer la X placée dans la légende
dans le form_Close c'est trop tard il faut le tester dans Form_Undo
tester si cet événement a été déclenché par ton bouton ou non et mettre un
Cancel = True si ce n'est pas toi qui a déclanché la fermeture.

--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Warrio" news:4090f711$0$714$
Bonjour!

Est-il possible d'empêcher que l'utilisateur d'un formulaire Access ferme
une fenêtre?
de telle sorte que lorsqu'il ne puisse pas fermer la fenêtre sans avoir
valider les données entrées
Que dois-je utiliser dans la procédure Form_Close?

Merci pour toute suggestion




Xavier HUE
Le #5059341
Bonjour Warrio,

Dans l'évènement Form_Unload, tu as le paramètre Cancel.
Le mettre à True annule l'évènement de fermeture.

En résumé:
- Au niveau module de ton form
Dim booModifEnCours As Boolean

- Dans Form_Dirty, signaler une modif
booModifEnCours = True

- Dans Form_AfterUpdate, signaler plus de modif
booModifEnCours = False

- Form_Unload, vérifier si modif en cours
If booModifEnCours = True Then
Cancel = True
Exit Sub
End If

Cordialement.
Warrio
Le #5059241
Merci!
ca marche niquelle!!


"Warrio" news:4090f711$0$714$
Bonjour!

Est-il possible d'empêcher que l'utilisateur d'un formulaire Access ferme
une fenêtre?
de telle sorte que lorsqu'il ne puisse pas fermer la fenêtre sans avoir
valider les données entrées
Que dois-je utiliser dans la procédure Form_Close?

Merci pour toute suggestion




Publicité
Poster une réponse
Anonyme