OVH Cloud OVH Cloud

DoCmd.SetWarnings

12 réponses
Avatar
Luis
Bonjour,
A l'ouverture d'un formulaire j'ai souvent=20
Quelqu'un =E0 modifi=E9 votre enreistrement.....
l'avertissement: Voulez vous enregistrer les modifications?

Pour =E9viter =E7a j'ai mis sur Activ=E9 du formulaire:
DoCmd.SetWarnings False
DoCmd.SetWarnings True
Mais les messages continuent.
Comment faire pour =E9viter ses messages, surtout qu'il faut=20
toujours faire attention =E0 cliquer sur 'annuler', car si=20
on clique sur 'enregistrer les modifications' les donn=E9es=20
se corrompent.
Merci pour votre aide.
Luis

10 réponses

1 2
Avatar
3stone
Salut,

"Luis"
A l'ouverture d'un formulaire j'ai souvent
Quelqu'un à modifié votre enreistrement.....
l'avertissement: Voulez vous enregistrer les modifications?


En mono-poste ? en réseau ?

De toute facon, ce n'est pas normal...
tu as sans doute du code VBA qui te modifie le record



Pour éviter ça j'ai mis sur Activé du formulaire:
DoCmd.SetWarnings False
DoCmd.SetWarnings True


Là, tu éteint la lumière et tu rallume aussitôt ;-)))


Mais les messages continuent.
Comment faire pour éviter ses messages, surtout qu'il faut
toujours faire attention à cliquer sur 'annuler', car si
on clique sur 'enregistrer les modifications' les données
se corrompent.

Cherche d'où vient le problème... au lieu de vouloir le cacher...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Eric
"Luis" a écrit dans le message de
news:084101c48b57$bb164130$
Bonjour,
A l'ouverture d'un formulaire j'ai souvent
Quelqu'un à modifié votre enreistrement.....
l'avertissement: Voulez vous enregistrer les modifications?

Pour éviter ça j'ai mis sur Activé du formulaire:
DoCmd.SetWarnings False
DoCmd.SetWarnings True


Rassures moi, tu nas pas mis les 2 commandes l'une après l'autre come écrit
ici ?
Parce que au final, tu actives les warnings !

Il faut mettre DoCmd.SetWarnings False lors de l'activation, et
DoCmd.SetWarnings True lors de la désactivation

Eric

Avatar
Luis
Bonjour,
Je suis en réseau, mais le problème survient même lorsque
je suis le seul à être connecté.
Tu as raison de dire qu'il vaut mieux résoudre le problème
que de le cacher.
Mais je ne trouve pas.
Au fait peut-être a tu une idée.
J'explique en deux mots.
Il y a un formulaire de 'consultation' que l'on ouvre
contament pour travailler et un autre formulaire 'général'
plus complet où l'on peut modifier les données de la fiche.
La Table est la même, mais les requêtes ne sont pas les
mêmes.
Le problème survient lorsque l'on passe du formulaire du
formulaire 'général' au formulaire 'consultation', même si
l'on n'a pas fait de modifications, ni même cliqué sr le
bouton modifications.
Et c'est toujours à l'ouverture du
formulaire 'consultation que cela se produit.
Merci pour ton aide.
Luis
-----Message d'origine-----
Salut,

"Luis"
A l'ouverture d'un formulaire j'ai souvent
Quelqu'un à modifié votre enreistrement.....
l'avertissement: Voulez vous enregistrer les
modifications?



En mono-poste ? en réseau ?

De toute facon, ce n'est pas normal...
tu as sans doute du code VBA qui te modifie le record



Pour éviter ça j'ai mis sur Activé du formulaire:
DoCmd.SetWarnings False
DoCmd.SetWarnings True


Là, tu éteint la lumière et tu rallume aussitôt ;-)))


Mais les messages continuent.
Comment faire pour éviter ses messages, surtout qu'il faut
toujours faire attention à cliquer sur 'annuler', car si
on clique sur 'enregistrer les modifications' les données
se corrompent.

Cherche d'où vient le problème... au lieu de vouloir
le cacher...



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------




.



Avatar
3stone
Salut,

"Luis"
[...]
Il y a un formulaire de 'consultation' que l'on ouvre
contament pour travailler et un autre formulaire 'général'
plus complet où l'on peut modifier les données de la fiche.
La Table est la même, mais les requêtes ne sont pas les
mêmes.
Le problème survient lorsque l'on passe du formulaire du
formulaire 'général' au formulaire 'consultation', même si
l'on n'a pas fait de modifications, ni même cliqué sr le
bouton modifications.
Et c'est toujours à l'ouverture du
formulaire 'consultation que cela se produit.


En quittant le formulaire "général", assure-toi que
l'enregistrement en cours ne se trouve pas en édition!

Tu as, malgré que tu ne fait pas d'édition *volontaire*,
sûrement du code VBA qui modifie cet enregistrement...

Vérifie par un test en quittant le form général :

if Me.Dirty then
MsgBox "pas sauver..."
end if



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Luis
Bonjour,

J'ai un message 'pas sauver...' uniquement, si j'ai été
chercher la fiche en cliquant sur suivant avec:

On Error GoTo Err_Bouton23_Click

DoCmd.GoToRecord , , acNext
Me.Cadre224.SetFocus
Me.Cadre240.SetFocus

Exit_Bouton23_Click:
Exit Sub
Err_Bouton23_Click:
msgbox "Dernier de la sélection"
Resume Exit_Bouton23_Click

Si non je n'ai pas de message en sortant du formulaire.
Une idée pour résoudre le problème?
Merci pour tout.
Luis

-----Message d'origine-----
Salut,

"Luis"
[...]
Il y a un formulaire de 'consultation' que l'on ouvre
contament pour travailler et un autre formulaire 'général'
plus complet où l'on peut modifier les données de la
fiche.

La Table est la même, mais les requêtes ne sont pas les
mêmes.
Le problème survient lorsque l'on passe du formulaire du
formulaire 'général' au formulaire 'consultation', même si
l'on n'a pas fait de modifications, ni même cliqué sr le
bouton modifications.
Et c'est toujours à l'ouverture du
formulaire 'consultation que cela se produit.


En quittant le formulaire "général", assure-toi que
l'enregistrement en cours ne se trouve pas en édition!

Tu as, malgré que tu ne fait pas d'édition
*volontaire*,

sûrement du code VBA qui modifie cet enregistrement...

Vérifie par un test en quittant le form général :

if Me.Dirty then
MsgBox "pas sauver..."
end if



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------




.



Avatar
3stone
re,

"Luis"
J'ai un message 'pas sauver...' uniquement, si j'ai été
chercher la fiche en cliquant sur suivant avec:

On Error GoTo Err_Bouton23_Click

DoCmd.GoToRecord , , acNext


Et dans l'événement "CurrentRecord" pas de code ??



Me.Cadre224.SetFocus
Me.Cadre240.SetFocus

à quoi sert deux "setfocus" en suivant ??
seul le dernier (Cadre240) aura le focus !


PS: Tu t'y retrouve dans tes contrôles avec des noms
comme Cadre224 et Cadre240 ? ;-))



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
Avatar
Luis
Bonjour,
Que veux-tu dire par
Et dans l'événement "CurrentRecord" pas de code ??

J'ai compris pour quoi mon problème de focus, aléatoire.
Visiblement j'ai de la chance ça marche une fois sur dix,
je vais trouver une autre solution pour le problème du
focus.
Mais l'autre problème!?

Merci.
Luis
-----Message d'origine-----
re,

"Luis"
J'ai un message 'pas sauver...' uniquement, si j'ai été
chercher la fiche en cliquant sur suivant avec:

On Error GoTo Err_Bouton23_Click

DoCmd.GoToRecord , , acNext


Et dans l'événement "CurrentRecord" pas de code ??



Me.Cadre224.SetFocus
Me.Cadre240.SetFocus

à quoi sert deux "setfocus" en suivant ??
seul le dernier (Cadre240) aura le focus !


PS: Tu t'y retrouve dans tes contrôles avec des noms
comme Cadre224 et Cadre240 ? ;-))



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------





.



Avatar
3stone
re et s'cuses...

"Luis"
Que veux-tu dire par
Et dans l'événement "CurrentRecord" pas de code ??


Puisque tu fait :


DoCmd.GoToRecord , , acNext




tu déclenche donc forcément le "Form_Current"

(et pas le "CurrentRecord" comme je l'avais rebaptisé ;-))



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
Luis
Re-bonjour,
Non, j'ai

Sur ouverture :
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
Me.Modifiable242.SetFocus

Sur chargement :
Private Sub Form_Load()
Me.Annuler_l_enregistrement.Visible = False
Me.MODIFIER.Visible = True
Me.OK.Visible = False

Et sur Activé :
Private Sub Form_Activate()
DoCmd.Maximize

Mais pas sur activation.
Pourquoi?
Luis
-----Message d'origine-----
re et s'cuses...

"Luis"
Que veux-tu dire par
Et dans l'événement "CurrentRecord" pas de code ??


Puisque tu fait :


DoCmd.GoToRecord , , acNext




tu déclenche donc forcément le "Form_Current"

(et pas le "CurrentRecord" comme je l'avais
rebaptisé ;-))




--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------




.




Avatar
3stone
re,

"Luis"

Non, j'ai

Sur ouverture :
Private Sub Form_Open(Cancel As Integer)
DoCmd.Maximize
Me.Modifiable242.SetFocus

Sur chargement :
Private Sub Form_Load()
Me.Annuler_l_enregistrement.Visible = False
Me.MODIFIER.Visible = True
Me.OK.Visible = False

Et sur Activé :
Private Sub Form_Activate()
DoCmd.Maximize

Mais pas sur activation.
Pourquoi?


Ben, si tu n'as pas de code sur le "Form_Current" ce n'est
pas là que le code est "dirty"...

faut chercher ailleurs... pas simple de loin...


--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------
1 2