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!
Quand à l'économie du Dirty je ne pense pas car il faut bien que je teste pour envoyer un message a l'utilisateur qu'il a me modification en cours?
Tester quoi, que l'enregistrement est Dirty ?
Bien sûr qu'il est Dirty, puisque Access veut en faire la mise à jour, sinon tu ne te retrouverais pas dans cet événement... ;-)
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Codial
Bonsoir,
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre méthode que Dirty.
Cordialement
Codial
"3stone" a écrit dans le message de news:
re,
"Codial"
Quand à l'économie du Dirty je ne pense pas car il faut bien que je teste
pour envoyer un message a l'utilisateur qu'il a me modification en cours?
Tester quoi, que l'enregistrement est Dirty ?
Bien sûr qu'il est Dirty, puisque Access veut en faire la mise à jour, sinon tu ne te retrouverais pas dans cet événement... ;-)
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Bonsoir,
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-)
ce que je veux faire c'est que si l'utilisateur clique sur la croix de
fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Cordialement
Codial
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
uIqicR0vEHA.1292@TK2MSFTNGP10.phx.gbl...
re,
"Codial"
Quand à l'économie du Dirty je ne pense pas car il faut bien que je
teste
pour envoyer un message a l'utilisateur qu'il a me modification en
cours?
Tester quoi, que l'enregistrement est Dirty ?
Bien sûr qu'il est Dirty, puisque Access veut en faire la mise à jour,
sinon tu ne te retrouverais pas dans cet événement... ;-)
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre méthode que Dirty.
Cordialement
Codial
"3stone" a écrit dans le message de news:
re,
"Codial"
Quand à l'économie du Dirty je ne pense pas car il faut bien que je teste
pour envoyer un message a l'utilisateur qu'il a me modification en cours?
Tester quoi, que l'enregistrement est Dirty ?
Bien sûr qu'il est Dirty, puisque Access veut en faire la mise à jour, sinon tu ne te retrouverais pas dans cet événement... ;-)
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
3stone
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-)
ce que je veux faire c'est que si l'utilisateur clique sur la croix de
fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..."
Cancel = True
Remets toi en mode affichage du formulaire.
Passe quelques enregistrements en revue (ou ferme le formulaire).
Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer
à l'enregistrement suivant (ou de fermer le formulaire).
... Le msgbox te donne l'avertissement !!
Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone
de texte liée à la source du formulaire, Access "passe" dans
l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient
mais que ce code ne concerne pas directement l'enregistrement courant.
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Codial
Bonjour 3stone,
je te remercie pour cette explication détaillée. Effectivement ça marche bien et je peux ainsi faire l'économie d'un Dirty. Je vais modifier mes sortie de formulaires en conséquence.
Encore merci
Codial
"3stone" a écrit dans le message de news: #
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Bonjour 3stone,
je te remercie pour cette explication détaillée. Effectivement ça marche
bien et je peux ainsi faire l'économie d'un Dirty. Je vais modifier mes
sortie de formulaires en conséquence.
Encore merci
Codial
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
#CMI844vEHA.1300@TK2MSFTNGP14.phx.gbl...
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que
je
me plante ;-)
ce que je veux faire c'est que si l'utilisateur clique sur la croix de
fermeture il est un message d'alerte lui indiquant qu'il a une modif ou
un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas
d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..."
Cancel = True
Remets toi en mode affichage du formulaire.
Passe quelques enregistrements en revue (ou ferme le formulaire).
Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer
à l'enregistrement suivant (ou de fermer le formulaire).
... Le msgbox te donne l'avertissement !!
Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone
de texte liée à la source du formulaire, Access "passe" dans
l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient
mais que ce code ne concerne pas directement l'enregistrement courant.
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
je te remercie pour cette explication détaillée. Effectivement ça marche bien et je peux ainsi faire l'économie d'un Dirty. Je vais modifier mes sortie de formulaires en conséquence.
Encore merci
Codial
"3stone" a écrit dans le message de news: #
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Codial
Re 3stone,
je revient sur l'annulation d'une modification d'enregistrement Tu me dis:
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
Sur mes form j'ai mis un bouton pour "annuler" les modif en cas d'erreur et j'ai utiliser Dirty.. Quelle est donc l'autre commande pour annuler les modifications de l'enregistrement courant ?
D'avance merci
Codial
"3stone" a écrit dans le message de news: #
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Re 3stone,
je revient sur l'annulation d'une modification d'enregistrement
Tu me dis:
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient
mais que ce code ne concerne pas directement l'enregistrement courant.
Sur mes form j'ai mis un bouton pour "annuler" les modif en cas d'erreur et
j'ai utiliser Dirty..
Quelle est donc l'autre commande pour annuler les modifications de
l'enregistrement courant ?
D'avance merci
Codial
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
#CMI844vEHA.1300@TK2MSFTNGP14.phx.gbl...
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que
je
me plante ;-)
ce que je veux faire c'est que si l'utilisateur clique sur la croix de
fermeture il est un message d'alerte lui indiquant qu'il a une modif ou
un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas
d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..."
Cancel = True
Remets toi en mode affichage du formulaire.
Passe quelques enregistrements en revue (ou ferme le formulaire).
Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer
à l'enregistrement suivant (ou de fermer le formulaire).
... Le msgbox te donne l'avertissement !!
Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone
de texte liée à la source du formulaire, Access "passe" dans
l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient
mais que ce code ne concerne pas directement l'enregistrement courant.
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
je revient sur l'annulation d'une modification d'enregistrement Tu me dis:
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
Sur mes form j'ai mis un bouton pour "annuler" les modif en cas d'erreur et j'ai utiliser Dirty.. Quelle est donc l'autre commande pour annuler les modifications de l'enregistrement courant ?
D'avance merci
Codial
"3stone" a écrit dans le message de news: #
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
3stone
Salut,
"Codial"
Sur mes form j'ai mis un bouton pour "annuler" les modif en cas d'erreur et j'ai utiliser Dirty..
? Dirty pour annuler ?
Quelle est donc l'autre commande pour annuler les modifications de l'enregistrement courant ?
Tant que la mise à jour n'a pas eu lieu, un simple
Me.Undo doit suffire.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Salut,
"Codial"
Sur mes form j'ai mis un bouton pour "annuler" les modif en cas d'erreur et
j'ai utiliser Dirty..
? Dirty pour annuler ?
Quelle est donc l'autre commande pour annuler les modifications de
l'enregistrement courant ?
Tant que la mise à jour n'a pas eu lieu, un simple
Me.Undo doit suffire.
--
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?
Cordialement
Codial
"3stone" a écrit dans le message de news: #
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Bonjour 3stone
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?
Cordialement
Codial
"3stone" <threestone@cielreseau.be> a écrit dans le message de news:
#CMI844vEHA.1300@TK2MSFTNGP14.phx.gbl...
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que
je
me plante ;-)
ce que je veux faire c'est que si l'utilisateur clique sur la croix de
fermeture il est un message d'alerte lui indiquant qu'il a une modif ou
un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas
d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..."
Cancel = True
Remets toi en mode affichage du formulaire.
Passe quelques enregistrements en revue (ou ferme le formulaire).
Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer
à l'enregistrement suivant (ou de fermer le formulaire).
... Le msgbox te donne l'avertissement !!
Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone
de texte liée à la source du formulaire, Access "passe" dans
l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser
lorsque l'on veut exécuter du code dès qu'une modification survient
mais que ce code ne concerne pas directement l'enregistrement courant.
--
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?
Cordialement
Codial
"3stone" a écrit dans le message de news: #
re,
"Codial"
en fait je ne comprends pas bien ce que tu veux me dire, il se peut que je
me plante ;-) ce que je veux faire c'est que si l'utilisateur clique sur la croix de fermeture il est un message d'alerte lui indiquant qu'il a une modif ou un
ajout en cours AVANT de valider l'enregistrement et je ne vois pas d'autre
méthode que Dirty.
Bon. Tu as bien un formulaire pour faire un essai ?
Dans l'événement "Avant mise à jour" du formulaire, tu mets:
Msgbox "Il y a eu modification..." Cancel = True
Remets toi en mode affichage du formulaire. Passe quelques enregistrements en revue (ou ferme le formulaire). Bien. Rien ne se passe.
Modifie une zone de texte quelconque et essaie de passer à l'enregistrement suivant (ou de fermer le formulaire). ... Le msgbox te donne l'avertissement !! Et tu ne peux PAS continuer/sortir...
Cela veut dire, que dès qu'il y a eu modification dans une zone de texte liée à la source du formulaire, Access "passe" dans l'événement "Avant mise à jour".
Il suffit donc de mettre le code de vérification dans cet événement.
L'événement "Si modification" (Form_Dirty) est plutôt à utiliser lorsque l'on veut exécuter du code dès qu'une modification survient mais que ce code ne concerne pas directement l'enregistrement courant.
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome