OVH Cloud OVH Cloud

Sur annulation

8 réponses
Avatar
TITI
Bonjour,

J'ai créé une petite application avec Access 2002 en spécifiant que le
format de base soit du 2000 car je voudrai que cela fonctionne aussi sur des
machines qui ne possédent que 2000.


Mais je viens de m'apercevoir que dans les formulaires il y a une proprièté
que j'ai utilisé "Sur annulation" qui figure en 2002 et pas en 2000.

Auriez vous une solution qui pourrait me sortir de ce pétrin ?


Merci.



Thierry

8 réponses

Avatar
Raymond [mvp]
Bonjour.

c'est un événement très rarement testé ( on Undo) car c'est un événement en
général déclenché par le programme ( Me.Undo), donc le programme doit
pouvoir contourner facilement le handicap. Mais il faut voir la condition de
test du on Undo.

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


"TITI" a écrit dans le message de
news:
Bonjour,

J'ai créé une petite application avec Access 2002 en spécifiant que le
format de base soit du 2000 car je voudrai que cela fonctionne aussi sur
des

machines qui ne possédent que 2000.


Mais je viens de m'apercevoir que dans les formulaires il y a une
proprièté

que j'ai utilisé "Sur annulation" qui figure en 2002 et pas en 2000.

Auriez vous une solution qui pourrait me sortir de ce pétrin ?


Merci.



Thierry




Avatar
TITI
Bonjour Raymond,

Merci pour tes informations, mais cela ne me dit pas si c'est normal que je
ne trouve pas cet évènement sous 2000 alors qu'il est sous 2002.
Et d'autre part, comment je peux faire.

En fait cela me servait pour sur le formulaire, faire afficher une zone de
texte, qui si j'étais en ajout affichée "Ajout en cours" si on était en
modif "Modification en cours" et donc si on avait annulé affichée "Ajout
annulé" ou" Modification Annulée".

Thierry
"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.

c'est un événement très rarement testé ( on Undo) car c'est un événement
en

général déclenché par le programme ( Me.Undo), donc le programme doit
pouvoir contourner facilement le handicap. Mais il faut voir la condition
de

test du on Undo.

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


"TITI" a écrit dans le message de
news:
Bonjour,

J'ai créé une petite application avec Access 2002 en spécifiant que le
format de base soit du 2000 car je voudrai que cela fonctionne aussi sur
des

machines qui ne possédent que 2000.


Mais je viens de m'apercevoir que dans les formulaires il y a une
proprièté

que j'ai utilisé "Sur annulation" qui figure en 2002 et pas en 2000.

Auriez vous une solution qui pourrait me sortir de ce pétrin ?


Merci.



Thierry








Avatar
Raymond [mvp]
c'est normal que tu ne trouves pas cet événement car il a été apporté sur
2002.
comme je te disais , l'événement Undo est déclenché par l'action Undo du
formulaire ce qui veut dire qu'on tourne en rond et c'est pour ça que je te
disais aussi qu'il fallait connaître les conditions de ton événement Undo et
ce qui le déclenchait pour éventuellement prévoir un contournement.
le fait d'afficher un message peut très bien se faire sur l'action Me.undo
du formulaire.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"TITI" a écrit dans le message de
news:%
Bonjour Raymond,

Merci pour tes informations, mais cela ne me dit pas si c'est normal que
je

ne trouve pas cet évènement sous 2000 alors qu'il est sous 2002.
Et d'autre part, comment je peux faire.

En fait cela me servait pour sur le formulaire, faire afficher une zone de
texte, qui si j'étais en ajout affichée "Ajout en cours" si on était en
modif "Modification en cours" et donc si on avait annulé affichée "Ajout
annulé" ou" Modification Annulée".

Thierry


Avatar
TITI
Bonjour Raymond,

Et encore une fois merci, pour tes réponses et ta patience.
En fait sur l'évènement "Sur annulation" du formulaire, je
lance une fonction qui exécute les lignes suivantes :
Function Libellé_Action_Consultation()
'Cette fonction est appelée quand on provoque l'annulation
sur un formulaire

Function Libellé_Action_Consultation()
'Cette fonction est appelée quand on provoque l'annulation
sur un formulaire
If Screen.ActiveForm.OpenArgs <> "Création" Then
'Affecte le libellé Consultation au champ TxtAction
Screen.ActiveForm.TxtAction = "Consultation en cours"
Else
'On a annulé la création
Screen.ActiveForm.TxtAction = "Création annulée"
End If
End Function

Mon formulaire est appelé par un formulaire comportant des
boutons permettant l'ajout, la modification, la
suppression et avec OpenArgs je dis ce que je
fais "Création", "Modif", "Suppression", ce qui me permet
à l'ouverture du formulaire de positionner la zone
TxtAction.

Sur l'événement du formulaire "Si modification" il y a une
autre fonction :

Function Libellé_Action_Modification()
'Affecte le libellé Modification au champ TxtAction
Screen.ActiveForm.TxtAction = "Modification en cours"
End Function

J'espère que mes explications sont claires.

Merci de ton aide.


Thierry

-----Message d'origine-----
c'est normal que tu ne trouves pas cet événement car il a
été apporté sur

2002.
comme je te disais , l'événement Undo est déclenché par
l'action Undo du

formulaire ce qui veut dire qu'on tourne en rond et c'est
pour ça que je te

disais aussi qu'il fallait connaître les conditions de
ton événement Undo et

ce qui le déclenchait pour éventuellement prévoir un
contournement.

le fait d'afficher un message peut très bien se faire sur
l'action Me.undo

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


"TITI" a écrit dans le
message de

news:%
Bonjour Raymond,

Merci pour tes informations, mais cela ne me dit pas si
c'est normal que


je
ne trouve pas cet évènement sous 2000 alors qu'il est
sous 2002.


Et d'autre part, comment je peux faire.

En fait cela me servait pour sur le formulaire, faire
afficher une zone de


texte, qui si j'étais en ajout affichée "Ajout en
cours" si on était en


modif "Modification en cours" et donc si on avait
annulé affichée "Ajout


annulé" ou" Modification Annulée".

Thierry



.




Avatar
Raymond [mvp]
moi, je traiterais le problème sur la prise d'action d'annulation qui lance
le Me.Undo et je supprimerais l'événement sur annulation.
Il faut bien voir qu'il faut être au maximum compatible avec
97-2000-2002-2003 car les versions 97 et 2000 sont encore largement très
répendues.

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


"TITI" a écrit dans le message de
news:141cc01c44480$673a1960$
Bonjour Raymond,

Et encore une fois merci, pour tes réponses et ta patience.
En fait sur l'évènement "Sur annulation" du formulaire, je
lance une fonction qui exécute les lignes suivantes :
Function Libellé_Action_Consultation()
'Cette fonction est appelée quand on provoque l'annulation
sur un formulaire

Function Libellé_Action_Consultation()
'Cette fonction est appelée quand on provoque l'annulation
sur un formulaire
If Screen.ActiveForm.OpenArgs <> "Création" Then
'Affecte le libellé Consultation au champ TxtAction
Screen.ActiveForm.TxtAction = "Consultation en cours"
Else
'On a annulé la création
Screen.ActiveForm.TxtAction = "Création annulée"
End If
End Function

Mon formulaire est appelé par un formulaire comportant des
boutons permettant l'ajout, la modification, la
suppression et avec OpenArgs je dis ce que je
fais "Création", "Modif", "Suppression", ce qui me permet
à l'ouverture du formulaire de positionner la zone
TxtAction.

Sur l'événement du formulaire "Si modification" il y a une
autre fonction :

Function Libellé_Action_Modification()
'Affecte le libellé Modification au champ TxtAction
Screen.ActiveForm.TxtAction = "Modification en cours"
End Function

J'espère que mes explications sont claires.

Merci de ton aide.


Thierry
Avatar
TITI
Désolé Raymond, mais je ne comprends pas ce que tu veux
dire par "Je traiterais le problème sur la prise d'action
d'annulation qui lance le Me.undo"
moi je n'ai pas d'action qui lance le Me.undo.

C'est l'utilisateur qui peut éventuellement par la touche
ESC ou la commande "Annuler" du menu qui provoque
l'événement "Sur annulation".

Merci pour tes conseils.

Thierry
-----Message d'origine-----
moi, je traiterais le problème sur la prise d'action
d'annulation qui lance

le Me.Undo et je supprimerais l'événement sur annulation.
Il faut bien voir qu'il faut être au maximum compatible
avec

97-2000-2002-2003 car les versions 97 et 2000 sont encore
largement très

répendues.

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


"TITI" a écrit dans
le message de

news:141cc01c44480$673a1960$
Bonjour Raymond,

Et encore une fois merci, pour tes réponses et ta
patience.

En fait sur l'évènement "Sur annulation" du formulaire, je
lance une fonction qui exécute les lignes suivantes :
Function Libellé_Action_Consultation()
'Cette fonction est appelée quand on provoque l'annulation
sur un formulaire

Function Libellé_Action_Consultation()
'Cette fonction est appelée quand on provoque l'annulation
sur un formulaire
If Screen.ActiveForm.OpenArgs <> "Création" Then
'Affecte le libellé Consultation au champ TxtAction
Screen.ActiveForm.TxtAction = "Consultation en cours"
Else
'On a annulé la création
Screen.ActiveForm.TxtAction = "Création annulée"
End If
End Function

Mon formulaire est appelé par un formulaire comportant des
boutons permettant l'ajout, la modification, la
suppression et avec OpenArgs je dis ce que je
fais "Création", "Modif", "Suppression", ce qui me permet
à l'ouverture du formulaire de positionner la zone
TxtAction.

Sur l'événement du formulaire "Si modification" il y a une
autre fonction :

Function Libellé_Action_Modification()
'Affecte le libellé Modification au champ TxtAction
Screen.ActiveForm.TxtAction = "Modification en cours"
End Function

J'espère que mes explications sont claires.

Merci de ton aide.


Thierry


.



Avatar
Raymond [mvp]
Je viens de vérifier, l'événement Undo se déclenche sur le 1er Echap.
si on veut simuler il faut tester l'enfoncement de Echap :
mettre l'aperçu des touches à oui.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
' ici echap et faire la procédure
End If
End Sub


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


"TITI" a écrit dans le message de
news:1437501c44490$4a8ab440$
Désolé Raymond, mais je ne comprends pas ce que tu veux
dire par "Je traiterais le problème sur la prise d'action
d'annulation qui lance le Me.undo"
moi je n'ai pas d'action qui lance le Me.undo.

C'est l'utilisateur qui peut éventuellement par la touche
ESC ou la commande "Annuler" du menu qui provoque
l'événement "Sur annulation".

Merci pour tes conseils.

Thierry
Avatar
TITI
Merci Raymond,

J'ai juste rajouter dans la condition And Not Me.dirty pour que mon
changement de libellé ne se fasse que en annulation du formulaire sinon si
j'appuie sur échap aprés x modifications sur x controles j'avais mon libellé
qui changer alors que j'étais toujours en modification sur le formulaire.

Merci encore.

Thierry
"Raymond [mvp]" a écrit dans le message de
news:%
Je viens de vérifier, l'événement Undo se déclenche sur le 1er Echap.
si on veut simuler il faut tester l'enfoncement de Echap :
mettre l'aperçu des touches à oui.
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyEscape Then
' ici echap et faire la procédure
End If
End Sub


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


"TITI" a écrit dans le message de
news:1437501c44490$4a8ab440$
Désolé Raymond, mais je ne comprends pas ce que tu veux
dire par "Je traiterais le problème sur la prise d'action
d'annulation qui lance le Me.undo"
moi je n'ai pas d'action qui lance le Me.undo.

C'est l'utilisateur qui peut éventuellement par la touche
ESC ou la commande "Annuler" du menu qui provoque
l'événement "Sur annulation".

Merci pour tes conseils.

Thierry