voilà sur des form j'ai un bouton fermer avec un code qui teste si des
mofications ont eu lieu sur l'enregistrement en cours.
If Me.Dirty Then
If MsgBox("Voulez vous enregistrer les modifications en cours ?",
vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then
Me.Undo
End If
End If
If Me.NewRecord Then
If MsgBox("Voulez vous enregistrer les saisies en cours ?",
vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then
Me.Undo
End If
End If
Me.AllowEdits = False
Voulant faire l'économie d'un bouton je me suis dis je vais le mettre
dans l''évènement Close de mon form
Stupeur! Il passe bien sur le code mais pour Access il n'y a pas de
modif (Alors qu'évidemment j'en ai faites!)
J'ai essayé sur tout les évènements de fermeture mais rien n'y fait!
Je suis surpris qu'en cliquant sur mon bouton ça marche mais en en
cliquant sur la crois fermer!
et le problème c'est qu'en cliquant sur le bouton ça me donne le message Msgbox "Il y a eu modification..."
Or il me semble qu'une fois validé il ne devrait pas afficher ce message, non?
Le texte était là pour l'exemple... Regarde ton message original et modifie en concéquence !
Sous ton bouton, tu mets simplement: DoCmd.RunCommand acCmdSaveRecord
le reste, tu le mets dans le "Form_BeforeUpdate" puisque c'est événement a *toujours* lieu avant une mise à jour, quelque soit la méthode... bouton, clic ci, clic là, clic sur l'icone de fermeture...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Salut,
"Codial"
Je reviens sur mon pb de fermeture de form en cours de modification ou de
d'ajout
J'ai bien compris ce que tu m'as expliqué mais j'ai un problème:
Effectivement j'ai mis sur l'évènement "Avant mise à jour" du formulaire
Msgbox "Il y a eu modification..."
Cancel = True
Cependant j'ai fait un bouton pour permettre à l'utilisateur de valider la
modif avec
et le problème c'est qu'en cliquant sur le bouton ça me donne le message
Msgbox "Il y a eu modification..."
Or il me semble qu'une fois validé il ne devrait pas afficher ce message,
non?
Le texte était là pour l'exemple...
Regarde ton message original et modifie en concéquence !
Sous ton bouton, tu mets simplement:
DoCmd.RunCommand acCmdSaveRecord
le reste, tu le mets dans le "Form_BeforeUpdate"
puisque c'est événement a *toujours* lieu avant
une mise à jour, quelque soit la méthode...
bouton, clic ci, clic là, clic sur l'icone de fermeture...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
et le problème c'est qu'en cliquant sur le bouton ça me donne le message Msgbox "Il y a eu modification..."
Or il me semble qu'une fois validé il ne devrait pas afficher ce message, non?
Le texte était là pour l'exemple... Regarde ton message original et modifie en concéquence !
Sous ton bouton, tu mets simplement: DoCmd.RunCommand acCmdSaveRecord
le reste, tu le mets dans le "Form_BeforeUpdate" puisque c'est événement a *toujours* lieu avant une mise à jour, quelque soit la méthode... bouton, clic ci, clic là, clic sur l'icone de fermeture...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Codial
Oui j'ai bien compris que le texte était là pour l'exemple... Mais même avec mon message original il passe dessus. Or avec DoCmd.RunCommand acCmdSaveRecord il devrait considérer qu'il n'y a plus de modification en cours?
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il me pose la question si je veux enregistrer les modifications en cours. lol!!!
Codial
"3stone" a écrit dans le message de news: uf5lZ$
Salut,
"Codial"
Je reviens sur mon pb de fermeture de form en cours de modification ou de
d'ajout
J'ai bien compris ce que tu m'as expliqué mais j'ai un problème:
Effectivement j'ai mis sur l'évènement "Avant mise à jour" du formulaire Msgbox "Il y a eu modification..." Cancel = True
Cependant j'ai fait un bouton pour permettre à l'utilisateur de valider la
et le problème c'est qu'en cliquant sur le bouton ça me donne le message Msgbox "Il y a eu modification..."
Or il me semble qu'une fois validé il ne devrait pas afficher ce message,
non?
Le texte était là pour l'exemple... Regarde ton message original et modifie en concéquence !
Sous ton bouton, tu mets simplement: DoCmd.RunCommand acCmdSaveRecord
le reste, tu le mets dans le "Form_BeforeUpdate" puisque c'est événement a *toujours* lieu avant une mise à jour, quelque soit la méthode... bouton, clic ci, clic là, clic sur l'icone de fermeture...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Oui j'ai bien compris que le texte était là pour l'exemple...
Mais même avec mon message original il passe dessus.
Or avec DoCmd.RunCommand acCmdSaveRecord il devrait considérer qu'il n'y a
plus de modification en cours?
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il
me pose la question si je veux enregistrer les modifications en cours.
lol!!!
Codial
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
uf5lZ$NwEHA.1404@TK2MSFTNGP11.phx.gbl...
Salut,
"Codial"
Je reviens sur mon pb de fermeture de form en cours de modification ou
de
d'ajout
J'ai bien compris ce que tu m'as expliqué mais j'ai un problème:
Effectivement j'ai mis sur l'évènement "Avant mise à jour" du formulaire
Msgbox "Il y a eu modification..."
Cancel = True
Cependant j'ai fait un bouton pour permettre à l'utilisateur de valider
la
et le problème c'est qu'en cliquant sur le bouton ça me donne le message
Msgbox "Il y a eu modification..."
Or il me semble qu'une fois validé il ne devrait pas afficher ce
message,
non?
Le texte était là pour l'exemple...
Regarde ton message original et modifie en concéquence !
Sous ton bouton, tu mets simplement:
DoCmd.RunCommand acCmdSaveRecord
le reste, tu le mets dans le "Form_BeforeUpdate"
puisque c'est événement a *toujours* lieu avant
une mise à jour, quelque soit la méthode...
bouton, clic ci, clic là, clic sur l'icone de fermeture...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Oui j'ai bien compris que le texte était là pour l'exemple... Mais même avec mon message original il passe dessus. Or avec DoCmd.RunCommand acCmdSaveRecord il devrait considérer qu'il n'y a plus de modification en cours?
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il me pose la question si je veux enregistrer les modifications en cours. lol!!!
Codial
"3stone" a écrit dans le message de news: uf5lZ$
Salut,
"Codial"
Je reviens sur mon pb de fermeture de form en cours de modification ou de
d'ajout
J'ai bien compris ce que tu m'as expliqué mais j'ai un problème:
Effectivement j'ai mis sur l'évènement "Avant mise à jour" du formulaire Msgbox "Il y a eu modification..." Cancel = True
Cependant j'ai fait un bouton pour permettre à l'utilisateur de valider la
et le problème c'est qu'en cliquant sur le bouton ça me donne le message Msgbox "Il y a eu modification..."
Or il me semble qu'une fois validé il ne devrait pas afficher ce message,
non?
Le texte était là pour l'exemple... Regarde ton message original et modifie en concéquence !
Sous ton bouton, tu mets simplement: DoCmd.RunCommand acCmdSaveRecord
le reste, tu le mets dans le "Form_BeforeUpdate" puisque c'est événement a *toujours* lieu avant une mise à jour, quelque soit la méthode... bouton, clic ci, clic là, clic sur l'icone de fermeture...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
3stone
Salut,
"Codial" [...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton, tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If boClicBouton = False
If Me.NewRecord Then If MsgBox("Voulez vous enregistrer les saisies en cours ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas, sinon, si tu ferme ou si tu passe à un autre enregistrement il demande...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Salut,
"Codial"
[...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton,
tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then
If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then
Me.Undo
End If
End If
boClicBouton = False
If Me.NewRecord Then
If MsgBox("Voulez vous enregistrer les saisies en cours ?",
vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then
Me.Undo
End If
End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas,
sinon, si tu ferme ou si tu passe à un autre enregistrement
il demande...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton, tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If boClicBouton = False
If Me.NewRecord Then If MsgBox("Voulez vous enregistrer les saisies en cours ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas, sinon, si tu ferme ou si tu passe à un autre enregistrement il demande...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Codial
"3stone" a écrit dans le message de news: #
Salut,
"Codial" [...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton, tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") vbNo Then Me.Undo End If End If boClicBouton = False
If Me.NewRecord Then If MsgBox("Voulez vous enregistrer les saisies en cours ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas, sinon, si tu ferme ou si tu passe à un autre enregistrement il demande...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
#AITdjPwEHA.892@TK2MSFTNGP10.phx.gbl...
Salut,
"Codial"
[...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et
il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton,
tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then
If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") vbNo Then
Me.Undo
End If
End If
boClicBouton = False
If Me.NewRecord Then
If MsgBox("Voulez vous enregistrer les saisies en cours ?",
vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then
Me.Undo
End If
End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas,
sinon, si tu ferme ou si tu passe à un autre enregistrement
il demande...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton, tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") vbNo Then Me.Undo End If End If boClicBouton = False
If Me.NewRecord Then If MsgBox("Voulez vous enregistrer les saisies en cours ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas, sinon, si tu ferme ou si tu passe à un autre enregistrement il demande...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Codial
Bonjour 3stone merci pour ta patience et d'avoir pris le temps de me guider: j'ai testé et c'est bon ça fonctionne comme je le souhaitais
Cordialement A++
Codial
"3stone" a écrit dans le message de news: #
Salut,
"Codial" [...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton, tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") vbNo Then Me.Undo End If End If boClicBouton = False
If Me.NewRecord Then If MsgBox("Voulez vous enregistrer les saisies en cours ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas, sinon, si tu ferme ou si tu passe à un autre enregistrement il demande...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Bonjour 3stone
merci pour ta patience et d'avoir pris le temps de me guider: j'ai testé et
c'est bon ça fonctionne comme je le souhaitais
Cordialement
A++
Codial
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
#AITdjPwEHA.892@TK2MSFTNGP10.phx.gbl...
Salut,
"Codial"
[...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et
il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton,
tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then
If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") vbNo Then
Me.Undo
End If
End If
boClicBouton = False
If Me.NewRecord Then
If MsgBox("Voulez vous enregistrer les saisies en cours ?",
vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then
Me.Undo
End If
End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas,
sinon, si tu ferme ou si tu passe à un autre enregistrement
il demande...
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Bonjour 3stone merci pour ta patience et d'avoir pris le temps de me guider: j'ai testé et c'est bon ça fonctionne comme je le souhaitais
Cordialement A++
Codial
"3stone" a écrit dans le message de news: #
Salut,
"Codial" [...]
Parce que c'est pas marrant je clique sur le bouton d'enregistrement et il
me pose la question si je veux enregistrer les modifications en cours.
Normal, puisqu'il passe toujours par là... ;-)
Si tu ne veux pas d'avertissement lors du clic sur ton bouton, tu peux faire ceci:
En haut, au dessus de la première SUB, tu mets:
Dim boClicBouton As Boolean
Ensuite, dans l'événement "Avant mise à jour" du form:
If boClicBouton = False Then If MsgBox("Voulez vous... ?", vbQuestion + vbYesNo, "Enregistrer?") vbNo Then Me.Undo End If End If boClicBouton = False
If Me.NewRecord Then If MsgBox("Voulez vous enregistrer les saisies en cours ?", vbQuestion + vbYesNo, "Enregistrer?") = vbNo Then Me.Undo End If End If
Dans le code du bouton, tu ajoute:
boClicBouton = True
Ainsi, si tu clic sur ton bouton, il ne demande pas, sinon, si tu ferme ou si tu passe à un autre enregistrement il demande...
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome