OVH Cloud OVH Cloud

After et BeforeDelConfirm ne s'exécute pas

6 réponses
Avatar
Sophie
Bonjour à tous,

j'ai vraiment un problème bizarre, j'ai été lire les archives et encore une
fois rien ne répond à mon problème. J'ai un sous-formulaire qui s'affiche
en mode feuille de donnée. Les usagers ont le droit d'effacer les données
qu'ils ajoutent, et tout fonctionne très bien. La confirmation de message
s'affiche, s'ils répondent oui la ligne s'efface si non elle est encore là.
Mon problème est que je veux vérifier la réponse qu'ils donnent. Donc de
savoir s'ils ont décidé d'effacer ou non. J'ai ajouté mon code dans
beforeDelConfirm et AfterDelConfirm. Mais rien ne semblait fonctionner.
Donc pour essayer de comprendre pourquoi mon code ne s'exécutait pas j'ai
tout simplement fait afficher un msgbox dans chacun des événements. Mes
msgbox ne s'affichent pas. Jamais mon événement n'est exécuté. Donc
évidemment peu importe ce que je veux faire ca ne s'exécute pas. Avez-vous
une solution, peut-être ais-je oublier de cocher quelque chose, mais là
vraiment je n'y comprend rien.
J'utilise access 2000 anglais avec Win XP francais.

Merci
Sophie

6 réponses

Avatar
Benoit Compoint
Bonjour,

Pour que ces deux procédures événementielles s'exécutent, il suffit
probablement de reconfigurer Access :

Dans le menu "Outils", choisissez la commande "Options", puis dans l'onglet
"Modifier/Rechercher" cochez la case "Modifications des enregistrements".

Benoît Compoint.

"Sophie" wrote in message
news:j%Ulb.17283$
Bonjour à tous,

j'ai vraiment un problème bizarre, j'ai été lire les archives et encore
une

fois rien ne répond à mon problème. J'ai un sous-formulaire qui s'affiche
en mode feuille de donnée. Les usagers ont le droit d'effacer les données
qu'ils ajoutent, et tout fonctionne très bien. La confirmation de message
s'affiche, s'ils répondent oui la ligne s'efface si non elle est encore
là.

Mon problème est que je veux vérifier la réponse qu'ils donnent. Donc de
savoir s'ils ont décidé d'effacer ou non. J'ai ajouté mon code dans
beforeDelConfirm et AfterDelConfirm. Mais rien ne semblait fonctionner.
Donc pour essayer de comprendre pourquoi mon code ne s'exécutait pas j'ai
tout simplement fait afficher un msgbox dans chacun des événements. Mes
msgbox ne s'affichent pas. Jamais mon événement n'est exécuté. Donc
évidemment peu importe ce que je veux faire ca ne s'exécute pas.
Avez-vous

une solution, peut-être ais-je oublier de cocher quelque chose, mais là
vraiment je n'y comprend rien.
J'utilise access 2000 anglais avec Win XP francais.

Merci
Sophie




Avatar
Sophie
C'est déjà cocher, et heureusement que par défaut ca l'est parce que je ne
ferai pas faire ca à tous les usagers qui utilisent ma base... Non, le
problème n,est pas là, il y a autre chose et je ne le comprend pas!

Merci quand même Benoit de m'avoir répondu.

Sophie

"Benoit Compoint" a écrit dans le message de
news: #
Bonjour,

Pour que ces deux procédures événementielles s'exécutent, il suffit
probablement de reconfigurer Access :

Dans le menu "Outils", choisissez la commande "Options", puis dans
l'onglet

"Modifier/Rechercher" cochez la case "Modifications des enregistrements".

Benoît Compoint.

"Sophie" wrote in message
news:j%Ulb.17283$
Bonjour à tous,

j'ai vraiment un problème bizarre, j'ai été lire les archives et encore
une

fois rien ne répond à mon problème. J'ai un sous-formulaire qui
s'affiche


en mode feuille de donnée. Les usagers ont le droit d'effacer les
données


qu'ils ajoutent, et tout fonctionne très bien. La confirmation de
message


s'affiche, s'ils répondent oui la ligne s'efface si non elle est encore
là.

Mon problème est que je veux vérifier la réponse qu'ils donnent. Donc
de


savoir s'ils ont décidé d'effacer ou non. J'ai ajouté mon code dans
beforeDelConfirm et AfterDelConfirm. Mais rien ne semblait fonctionner.
Donc pour essayer de comprendre pourquoi mon code ne s'exécutait pas
j'ai


tout simplement fait afficher un msgbox dans chacun des événements. Mes
msgbox ne s'affichent pas. Jamais mon événement n'est exécuté. Donc
évidemment peu importe ce que je veux faire ca ne s'exécute pas.
Avez-vous

une solution, peut-être ais-je oublier de cocher quelque chose, mais là
vraiment je n'y comprend rien.
J'utilise access 2000 anglais avec Win XP francais.

Merci
Sophie








Avatar
Raymond
Bonjour.
il reste un événement qui, comme son nom de l'indique pas, tu le captes
avant annulation: Delete. tout le monde croit que c'est après l'annulation
mais il est avant l'annulation.

Private Sub Form_Delete(Cancel As Integer)
MsgBox "je ne veux pas annuler"
Cancel = True
End Sub

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Sophie" a écrit dans le message de
news:Vcamb.29212$
C'est déjà cocher, et heureusement que par défaut ca l'est parce que je ne
ferai pas faire ca à tous les usagers qui utilisent ma base... Non, le
problème n,est pas là, il y a autre chose et je ne le comprend pas!

Merci quand même Benoit de m'avoir répondu.

Sophie


Avatar
Sophie
Bonjour Raymond,

Ok effectivement il passe dans l'événement delete avant même de demander si
on veut effacer ou pas l'enregistrement. Je dois avouer que je ne l'avais
pas tester... Mais comment je fais pour vérifier la réponse de
l'utilisateur? Je veux savoir s'il a effacer ou pas l'enregistrement. Et
je le répête, il ne passe pas dans l'événement AfterDelConfirm. Est-ce
qu'il y a un événement que je n'ai pas vu? Je sais pas pourquoi mais j'ai
l'impression que c'est bien simple mais que je trop rouiller pour le
trouver... ou trop ancrer dans mon problème.

Merci de bien vouloir prendre le temps de me répondre

Sophie

"Raymond" a écrit dans le message de news:

Bonjour.
il reste un événement qui, comme son nom de l'indique pas, tu le captes
avant annulation: Delete. tout le monde croit que c'est après l'annulation
mais il est avant l'annulation.

Private Sub Form_Delete(Cancel As Integer)
MsgBox "je ne veux pas annuler"
Cancel = True
End Sub

--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Sophie" a écrit dans le message de
news:Vcamb.29212$
C'est déjà cocher, et heureusement que par défaut ca l'est parce que je
ne


ferai pas faire ca à tous les usagers qui utilisent ma base... Non, le
problème n,est pas là, il y a autre chose et je ne le comprend pas!

Merci quand même Benoit de m'avoir répondu.

Sophie





Avatar
Benoit Compoint
Bonjour,

Cette option "Modifications des enregistrements" n'est pas conservée dans
votre application MDB, mais dans le profil de chaque utilisateur.
Plus précisément, pour Access 2000, il s'agit de l'entrée "Confirm Record
Changes" dans la clé suivante de la base de registre Windows :
HKCUSoftwareMicrosoftOffice9.0AccessSettings
Je vous conseille donc de tester (et éventuellement modifier dynamiquement)
par du code VBA la valeur de cette entrée, de façon à vous assurer que les
événements BeforeDelConfirm et AfterDelConfirm seront bien déclenchés sur
toutes les stations de travail.

Comme cette option est bien activée sur votre poste, je vous suggère
d'afficher la feuille des propriétés du formulaire, et de cliquer sur
l'onglet "Evénement".
Vérifiez alors que la valeur des propriétés "Avant suppression" et "Après
suppression" est bien [Procédure Evénementielle].

Benoît Compoint.

"Sophie" wrote in message
news:Vcamb.29212$
C'est déjà cocher, et heureusement que par défaut ca l'est parce que je ne
ferai pas faire ca à tous les usagers qui utilisent ma base... Non, le
problème n,est pas là, il y a autre chose et je ne le comprend pas!

Merci quand même Benoit de m'avoir répondu.

Sophie

"Benoit Compoint" a écrit dans le message
de

news: #
Bonjour,

Pour que ces deux procédures événementielles s'exécutent, il suffit
probablement de reconfigurer Access :

Dans le menu "Outils", choisissez la commande "Options", puis dans
l'onglet

"Modifier/Rechercher" cochez la case "Modifications des
enregistrements".



Benoît Compoint.

"Sophie" wrote in message
news:j%Ulb.17283$
Bonjour à tous,

j'ai vraiment un problème bizarre, j'ai été lire les archives et
encore



une
fois rien ne répond à mon problème. J'ai un sous-formulaire qui
s'affiche


en mode feuille de donnée. Les usagers ont le droit d'effacer les
données


qu'ils ajoutent, et tout fonctionne très bien. La confirmation de
message


s'affiche, s'ils répondent oui la ligne s'efface si non elle est
encore



là.
Mon problème est que je veux vérifier la réponse qu'ils donnent. Donc
de


savoir s'ils ont décidé d'effacer ou non. J'ai ajouté mon code dans
beforeDelConfirm et AfterDelConfirm. Mais rien ne semblait
fonctionner.



Donc pour essayer de comprendre pourquoi mon code ne s'exécutait pas
j'ai


tout simplement fait afficher un msgbox dans chacun des événements.
Mes



msgbox ne s'affichent pas. Jamais mon événement n'est exécuté. Donc
évidemment peu importe ce que je veux faire ca ne s'exécute pas.
Avez-vous

une solution, peut-être ais-je oublier de cocher quelque chose, mais




vraiment je n'y comprend rien.
J'utilise access 2000 anglais avec Win XP francais.

Merci
Sophie












Avatar
Raymond
Il faut déjà faire confirmer la suppression par l'opérateur et rajouter une
mise à jour dans une table éventuellement pour un historique.

Private Sub Form_Delete(Cancel As Integer)

Cancel = True

If MsgBox("Voulez-Vous vraiment supprimer cet Enr ? " , vbYesNo,
"Suppression Documents") = vbYes Then

If MsgBox("Confirmez une 2eme fois la suppression !", vbYesNo,
"Suppression Documents") = vbYes Then

' ici placer mise à jour historique

Cancel = False

End If

End If


End Sub


--
@+
Raymond Access MVP.
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/charte.htm pour une meilleure
efficacité de tes interventions sur MPFA.


"Sophie" a écrit dans le message de
news:shdmb.34519$
Bonjour Raymond,

Ok effectivement il passe dans l'événement delete avant même de demander
si

on veut effacer ou pas l'enregistrement. Je dois avouer que je ne l'avais
pas tester... Mais comment je fais pour vérifier la réponse de
l'utilisateur? Je veux savoir s'il a effacer ou pas l'enregistrement. Et
je le répête, il ne passe pas dans l'événement AfterDelConfirm. Est-ce
qu'il y a un événement que je n'ai pas vu? Je sais pas pourquoi mais j'ai
l'impression que c'est bien simple mais que je trop rouiller pour le
trouver... ou trop ancrer dans mon problème.

Merci de bien vouloir prendre le temps de me répondre

Sophie