OVH Cloud OVH Cloud

fermer sans sauver un rapport modifié par programmation

5 réponses
Avatar
Didier.Piron
Après avoir par programme modifié le layout d'un rapport, j'ouvre à
partir d'un formulaire, ce rapport en mode prévisualisation.

Toutefois, je ne souhaite pas que les modifications effectuées à ce
rapport soient sauvegardées.

Comment faire pour que lorsque l'utilisateur ferme le rapport, il ne
reçoive pas le message "voulez-vous sauvez vos modifications?" et que
le rapport soit fermé sans enregistrer les modifications effectuées
via le code du formulaire?

Merci d'avance pour votre réponse.


Didier Piron

5 réponses

Avatar
Gafish
Bonjour,

Dans le DoCmd.Close, tu as le paramètre "acSaveNo"
Ca donnerait donc dans ton cas :
DoCmd.Close acReport, "LeNomDeTonEtat", acSaveNo

Arnaud

"didier Piron" a écrit dans le message de
news:
Après avoir par programme modifié le layout d'un rapport, j'ouvre à
partir d'un formulaire, ce rapport en mode prévisualisation.

Toutefois, je ne souhaite pas que les modifications effectuées à ce
rapport soient sauvegardées.

Comment faire pour que lorsque l'utilisateur ferme le rapport, il ne
reçoive pas le message "voulez-vous sauvez vos modifications?" et que
le rapport soit fermé sans enregistrer les modifications effectuées
via le code du formulaire?

Merci d'avance pour votre réponse.


Didier Piron


Avatar
Didier.Piron
C'est naturellement la 1ère chose que j'ai essayé, mais cela ne
fonctionne pas.

Le problème est de trouver un événement qui se déclenche avant de
recevoir le message "voulez-vous sauvez vos modifications?".

L'instruction
DoCmd.Close acReport, me.name, acSaveNo
n'est pas acceptée lors de l'événement "close" d'un rapport.

J'ai essayé donc autre chose:
Private Sub Report_Deactivate()
DoCmd.Close , , acSaveNo
End Sub

Mais le message "voulez-vous sauvez vos modifications?" apparaît avant
l'événement Deactivate.

Didier


"Gafish" wrote in message news:<OGzpV$...
Bonjour,

Dans le DoCmd.Close, tu as le paramètre "acSaveNo"
Ca donnerait donc dans ton cas :
DoCmd.Close acReport, "LeNomDeTonEtat", acSaveNo

Arnaud

"didier Piron" a écrit dans le message de
news:
Après avoir par programme modifié le layout d'un rapport, j'ouvre à
partir d'un formulaire, ce rapport en mode prévisualisation.

Toutefois, je ne souhaite pas que les modifications effectuées à ce
rapport soient sauvegardées.

Comment faire pour que lorsque l'utilisateur ferme le rapport, il ne
reçoive pas le message "voulez-vous sauvez vos modifications?" et que
le rapport soit fermé sans enregistrer les modifications effectuées
via le code du formulaire?

Merci d'avance pour votre réponse.


Didier Piron




Avatar
Raymond [mvp]
Bonjour.

il a bien fallu un événement extérieur qui déclenche la fermeture de l'état
? lequel ?

--
@+
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


"didier Piron" a écrit dans le message de
news:
C'est naturellement la 1ère chose que j'ai essayé, mais cela ne
fonctionne pas.

Le problème est de trouver un événement qui se déclenche avant de
recevoir le message "voulez-vous sauvez vos modifications?".

L'instruction
DoCmd.Close acReport, me.name, acSaveNo
n'est pas acceptée lors de l'événement "close" d'un rapport.

J'ai essayé donc autre chose:
Private Sub Report_Deactivate()
DoCmd.Close , , acSaveNo
End Sub

Mais le message "voulez-vous sauvez vos modifications?" apparaît avant
l'événement Deactivate.

Didier


Avatar
Didier.Piron
Bonjour.

Je résume:
- en fonction de paramètres encodés par l'utilisateur dans un
formulaire, je modifie par programmation le layout d'un rapport
existant. Mais je souhaite ne pas enregistrer ces modifications.
- si je veux imprimer le rapport sans prévisualiser au préalable, il
n'y a aucun problème, j'utilise la méthode "printout" et je n'effectue
aucune sauvegarde.
- Par contre, lorsque je donne à l'utilisateur la possibilité de
prévisualiser le résultat avant l'impression et lorsqu'il ferme le
résultat de la prévisualisation en fermant le rapport en cliquant sur
la croix située en haut à droite du rapport, alors il reçoit le
message "voulez-vous sauvez vos modifications?"

-L'instruction
DoCmd.Close acReport, me.name, acSaveNo
n'est pas acceptée lors de l'événement "close" d'un rapport.

-L'événement Deactivate est trop tardif
Private Sub Report_Deactivate()
DoCmd.Close , , acSaveNo
End Sub

Le message "voulez-vous sauvez vos modifications?" apparaît avant cet
événement.

La question est donc:
Comment, en mode prévisualisation, peut-on faire pour que lorsque
l'utilisateur ferme un rapport modifié, en cliquant sur la croix de
fermeture du rapport :
1. ce rapport soit fermé sans sauvegarde ?
2. il ne reçoive aucun message lui demandant de sauvegarder?

Didier


"Raymond [mvp]" wrote in message news:...
Bonjour.

il a bien fallu un événement extérieur qui déclenche la fermeture de l'état
? lequel ?

--
@+
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


"didier Piron" a écrit dans le message de
news:
C'est naturellement la 1ère chose que j'ai essayé, mais cela ne
fonctionne pas.

Le problème est de trouver un événement qui se déclenche avant de
recevoir le message "voulez-vous sauvez vos modifications?".

L'instruction
DoCmd.Close acReport, me.name, acSaveNo
n'est pas acceptée lors de l'événement "close" d'un rapport.

J'ai essayé donc autre chose:
Private Sub Report_Deactivate()
DoCmd.Close , , acSaveNo
End Sub

Mais le message "voulez-vous sauvez vos modifications?" apparaît avant
l'événement Deactivate.

Didier




Avatar
Raymond [mvp]
il est exact qu'il n'y a pas d'événement avant le close si tu passes par la
croix.
vu qu'on ne peut pas placer de boutons non plus, soit tu places une barre
d'outils avec des fonctions pour fermer l'état et faire les autres travaux,
soit tu reviens sur le formulaire pour cliquer sur des boutons.
--
@+
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


"didier Piron" a écrit dans le message de
news:
Bonjour.

Je résume:
- en fonction de paramètres encodés par l'utilisateur dans un
formulaire, je modifie par programmation le layout d'un rapport
existant. Mais je souhaite ne pas enregistrer ces modifications.
- si je veux imprimer le rapport sans prévisualiser au préalable, il
n'y a aucun problème, j'utilise la méthode "printout" et je n'effectue
aucune sauvegarde.
- Par contre, lorsque je donne à l'utilisateur la possibilité de
prévisualiser le résultat avant l'impression et lorsqu'il ferme le
résultat de la prévisualisation en fermant le rapport en cliquant sur
la croix située en haut à droite du rapport, alors il reçoit le
message "voulez-vous sauvez vos modifications?"

-L'instruction
DoCmd.Close acReport, me.name, acSaveNo
n'est pas acceptée lors de l'événement "close" d'un rapport.

-L'événement Deactivate est trop tardif
Private Sub Report_Deactivate()
DoCmd.Close , , acSaveNo
End Sub

Le message "voulez-vous sauvez vos modifications?" apparaît avant cet
événement.

La question est donc:
Comment, en mode prévisualisation, peut-on faire pour que lorsque
l'utilisateur ferme un rapport modifié, en cliquant sur la croix de
fermeture du rapport :
1. ce rapport soit fermé sans sauvegarde ?
2. il ne reçoive aucun message lui demandant de sauvegarder?

Didier