Ne pas fermer un formulaire

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #6191041
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

Eric
Le #6191031
.../...

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


JV
Le #6191001
Merci beaucoup.
Cela marche.

"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




Willi2004
Le #6190981
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" 45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"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








JV
Le #6190921
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" #
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" 45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"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














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



"JV" 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" #
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" 45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"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


















JV
Le #6190851
Merci beaucoup.

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



"JV" 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" #
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" 45fc31a6$0$27394$
Merci beaucoup.
Cela marche.

"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






















Publicité
Poster une réponse
Anonyme