Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ne pas fermer un formulaire

7 réponses
Avatar
JV
Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un champ est
bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance

7 réponses

Avatar
Eric
Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux empêcher la
fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être renseigné"
Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un champ est
bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance






--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Eric
.../...

Correction pour la MsgBox, mettre:
MsgBox "le champ " & Me.LeChampOblig.Name & " doit être renseigné"


Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux empêcher la
fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être renseigné"
Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un champ est
bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


Avatar
JV
Merci beaucoup.
Cela marche.

"Eric" a écrit dans le message de news:

.../...

Correction pour la MsgBox, mettre:
MsgBox "le champ " & Me.LeChampOblig.Name & " doit être renseigné"


Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux empêcher la
fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être renseigné"
Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un champ
est



bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr




Avatar
Willi2004
Salut JV!
Petite réflexion:
Le résultat final que tu souhaites obtenir implique d'autres actions
auxquelles tu as certainement déjà pensé.
En effet si j'étais un petit malin qui veut quand même fermer ton formulaire
sans renseigner le champ en question, je penserais tout de suite à deux
moyens faciles:

1 - Je passe à un enregistrement où le champ est déjà renseigné puis je
ferme!
Du coup, te voilà obligé de définir la propriété "Boutons de
déplacement" à
"Non".
Ou de prendre toute autre mesure pour m'empêcher de changer
d'enregistrement. Un filtre peut-être?

2- Si la fenêtre de la base de données est affichée, je clique sur le bouton
"Modifier", le formulaire étant ouvert. Aussitôt me voilà en mode
création et je
ferme. Encore obligé de ne pas afficher la fenêtre de la base.

Si la fenêtre de la base de données n'est pas affichée, je fais un clic
droit sur le
formulaire et je sélectionne "Création de formulaire" pour passer en
mode
création puis je ferme.
Te voilà donc aussi obligé de définir la propriété "Menu contextuel" à
"Non".
Ou de compiler carrément ta base pour éviter le passage en mode
création.

Cordialement.



"JV" a écrit dans le message de news:
45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"Eric" a écrit dans le message de news:

.../...

Correction pour la MsgBox, mettre:
MsgBox "le champ " & Me.LeChampOblig.Name & " doit être renseigné"


Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux empêcher la
fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être renseigné"
Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un champ
est



bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance








--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr








Avatar
JV
Merci Willi2004 de ces conseils.
Je n'avais pas vu ces manières de contourner et je vais en tenir compte.

Une question : Peut-on empêcher de changer d'enregistrement par
l'intermédiaire de la molette de la souris ?


"Willi2004" a écrit dans le message de news:
#
Salut JV!
Petite réflexion:
Le résultat final que tu souhaites obtenir implique d'autres actions
auxquelles tu as certainement déjà pensé.
En effet si j'étais un petit malin qui veut quand même fermer ton
formulaire

sans renseigner le champ en question, je penserais tout de suite à deux
moyens faciles:

1 - Je passe à un enregistrement où le champ est déjà renseigné puis je
ferme!
Du coup, te voilà obligé de définir la propriété "Boutons de
déplacement" à
"Non".
Ou de prendre toute autre mesure pour m'empêcher de changer
d'enregistrement. Un filtre peut-être?

2- Si la fenêtre de la base de données est affichée, je clique sur le
bouton

"Modifier", le formulaire étant ouvert. Aussitôt me voilà en mode
création et je
ferme. Encore obligé de ne pas afficher la fenêtre de la base.

Si la fenêtre de la base de données n'est pas affichée, je fais un
clic

droit sur le
formulaire et je sélectionne "Création de formulaire" pour passer en
mode
création puis je ferme.
Te voilà donc aussi obligé de définir la propriété "Menu contextuel" à
"Non".
Ou de compiler carrément ta base pour éviter le passage en mode
création.

Cordialement.



"JV" a écrit dans le message de news:
45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"Eric" a écrit dans le message de news:

.../...

Correction pour la MsgBox, mettre:
MsgBox "le champ " & Me.LeChampOblig.Name & " doit être renseigné"


Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux empêcher
la




fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être renseigné"
Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un champ
est



bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance








--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr














Avatar
Willi2004
En ce qui concerne la roulette de la souris, tu peux lire ceci:
http://cjoint.com/?dsoWchp0eb



"JV" a écrit dans le message de news:
45fcfa27$0$27371$
Merci Willi2004 de ces conseils.
Je n'avais pas vu ces manières de contourner et je vais en tenir compte.

Une question : Peut-on empêcher de changer d'enregistrement par
l'intermédiaire de la molette de la souris ?


"Willi2004" a écrit dans le message de news:
#
Salut JV!
Petite réflexion:
Le résultat final que tu souhaites obtenir implique d'autres actions
auxquelles tu as certainement déjà pensé.
En effet si j'étais un petit malin qui veut quand même fermer ton
formulaire

sans renseigner le champ en question, je penserais tout de suite à deux
moyens faciles:

1 - Je passe à un enregistrement où le champ est déjà renseigné puis je
ferme!
Du coup, te voilà obligé de définir la propriété "Boutons de
déplacement" à
"Non".
Ou de prendre toute autre mesure pour m'empêcher de changer
d'enregistrement. Un filtre peut-être?

2- Si la fenêtre de la base de données est affichée, je clique sur le
bouton

"Modifier", le formulaire étant ouvert. Aussitôt me voilà en mode
création et je
ferme. Encore obligé de ne pas afficher la fenêtre de la base.

Si la fenêtre de la base de données n'est pas affichée, je fais un
clic

droit sur le
formulaire et je sélectionne "Création de formulaire" pour passer en
mode
création puis je ferme.
Te voilà donc aussi obligé de définir la propriété "Menu contextuel"
à
"Non".
Ou de compiler carrément ta base pour éviter le passage en mode
création.

Cordialement.



"JV" a écrit dans le message de news:
45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"Eric" a écrit dans le message de news:

.../...

Correction pour la MsgBox, mettre:
MsgBox "le champ " & Me.LeChampOblig.Name & " doit être renseigné"


Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux empêcher
la




fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être renseigné"
Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un
champ
est



bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance








--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr


















Avatar
JV
Merci beaucoup.

"Willi2004" a écrit dans le message de news:

En ce qui concerne la roulette de la souris, tu peux lire ceci:
http://cjoint.com/?dsoWchp0eb



"JV" a écrit dans le message de news:
45fcfa27$0$27371$
Merci Willi2004 de ces conseils.
Je n'avais pas vu ces manières de contourner et je vais en tenir compte.

Une question : Peut-on empêcher de changer d'enregistrement par
l'intermédiaire de la molette de la souris ?


"Willi2004" a écrit dans le message de news:
#
Salut JV!
Petite réflexion:
Le résultat final que tu souhaites obtenir implique d'autres actions
auxquelles tu as certainement déjà pensé.
En effet si j'étais un petit malin qui veut quand même fermer ton
formulaire

sans renseigner le champ en question, je penserais tout de suite à deux
moyens faciles:

1 - Je passe à un enregistrement où le champ est déjà renseigné puis je
ferme!
Du coup, te voilà obligé de définir la propriété "Boutons de
déplacement" à
"Non".
Ou de prendre toute autre mesure pour m'empêcher de changer
d'enregistrement. Un filtre peut-être?

2- Si la fenêtre de la base de données est affichée, je clique sur le
bouton

"Modifier", le formulaire étant ouvert. Aussitôt me voilà en mode
création et je
ferme. Encore obligé de ne pas afficher la fenêtre de la base.

Si la fenêtre de la base de données n'est pas affichée, je fais un
clic

droit sur le
formulaire et je sélectionne "Création de formulaire" pour passer
en



mode
création puis je ferme.
Te voilà donc aussi obligé de définir la propriété "Menu
contextuel"



à
"Non".
Ou de compiler carrément ta base pour éviter le passage en mode
création.

Cordialement.



"JV" a écrit dans le message de news:
45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"Eric" a écrit dans le message de news:

.../...

Correction pour la MsgBox, mettre:
MsgBox "le champ " & Me.LeChampOblig.Name & " doit être renseigné"


Bonjour,

Utilises l'évènement Sur Libération car à ce niveau tu peux
empêcher






la
fermeture ce qui n'est pas le cas avec Sur Fermeture.

Private Sub Form_Unload(Cancel As Integer)
If IsNull(Me.LeChampOblig) Or Len(Me.LeChampOblig) = 0 Then
MsgBox "le champ " & Me.LeChampOblig " doit être
renseigné"






Cancel = True
Me.LeChampOblig.SetFocus
End If
End Sub

Bonjour,

Avant la fermeture d'un formulaire, je souhaite vérifier qu'un
champ
est



bien renseigné.
1.- S'il est renseigné, je veux que le formulaire se ferme;
2.- S'il ne l'est pas, je souhaite ne pas fermer le formulaire et
positionner le curseur sur ce champ.
Je n'arrive pas à ne pas fermer le formulaire dans une procédure
évènementielle "sur fermeture".

Qui peut me donner la solution ?
Merci d'avance








--
A+
Eric
http://www.mpfa.info/
Archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr