Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

fonction annuler

3 réponses
Avatar
didier
Bonjour

Voici ma proc=E9dure
Private sub casecocher_before update (cancel as integer)
If Me.champ1=3DMe.champ2
Msgbox "......"
Me.casecocher.undo
Cancel=3Dtrue
end if

cette fonction fonctionne bien et ma case =E0 cocher est=20
d=E9cocher
maintenant j' ai voulu rajouter un test comme suit

Private sub casecocher_before update (cancel as integer)
If Me.champ1=3DMe.champ2
Msgbox "......"
Me.casecocher.undo
Cancel=3Dtrue
If Msgbox ("......."vbOKcancel)=3DvbOK then
Docmd.close acform, "monformulaire"
Else
Exit sub
End if
end if

Si je fais annuler cela fonctionne et ma case =E0 cocher=20
est d=E9cocher
Par contre si je valide OK il ferme mon formulaire sans=20
d=E9cocher la case.

Pourquoi? je s=E8che un peu, voir compl=E8tement

3 réponses

Avatar
Raymond [mvp]
Bonjour.

Il devrait y avoir un moyen plus simple de traiter la case à cocher dans les
événement afterupdate des champ1 et champ2. Compte tenu que tu testes ces
deux contrôles pour changer ou non la valeur de la case, il serait plus
simple de le faire ici et de mettre cette valeur à True ou False
directement. Il faut mettre également cette fonction dans Form_Current.
--
@+
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" a écrit dans le message de
news:2804c01c4640e$6216fd10$
Bonjour

Voici ma procédure
Private sub casecocher_before update (cancel as integer)
If Me.champ1=Me.champ2
Msgbox "......"
Me.casecocher.undo
Cancel=true
end if

cette fonction fonctionne bien et ma case à cocher est
décocher
maintenant j' ai voulu rajouter un test comme suit

Private sub casecocher_before update (cancel as integer)
If Me.champ1=Me.champ2
Msgbox "......"
Me.casecocher.undo
Cancel=true
If Msgbox ("......."vbOKcancel)=vbOK then
Docmd.close acform, "monformulaire"
Else
Exit sub
End if
end if

Si je fais annuler cela fonctionne et ma case à cocher
est décocher
Par contre si je valide OK il ferme mon formulaire sans
décocher la case.

Pourquoi? je sèche un peu, voir complètement
Avatar
didier
Champ1 et un controle mis à jour par un autre formulaire
champ2 compte (abs[casecocher])
Quand ils sont égaut j'interdit de cocher des lignes
supplémentaires sinon la fonction fonctionne bien sauf
quand je ferme mon formulaire ou il décoche pas la ligne
de l'enregistrement en cours alors que Me.casecocher.undo
est avant la fermeture du formulaire
Pourquoi

-----Message d'origine-----
Bonjour.

Il devrait y avoir un moyen plus simple de traiter la
case à cocher dans les

événement afterupdate des champ1 et champ2. Compte tenu
que tu testes ces

deux contrôles pour changer ou non la valeur de la case,
il serait plus

simple de le faire ici et de mettre cette valeur à True
ou False

directement. Il faut mettre également cette fonction
dans Form_Current.

--
@+
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" a écrit
dans le message de

news:2804c01c4640e$6216fd10$
Bonjour

Voici ma procédure
Private sub casecocher_before update (cancel as integer)
If Me.champ1=Me.champ2
Msgbox "......"
Me.casecocher.undo
Cancel=true
end if

cette fonction fonctionne bien et ma case à cocher est
décocher
maintenant j' ai voulu rajouter un test comme suit

Private sub casecocher_before update (cancel as integer)
If Me.champ1=Me.champ2
Msgbox "......"
Me.casecocher.undo
Cancel=true
If Msgbox ("......."vbOKcancel)=vbOK then
Docmd.close acform, "monformulaire"
Else
Exit sub
End if
end if

Si je fais annuler cela fonctionne et ma case à cocher
est décocher
Par contre si je valide OK il ferme mon formulaire sans
décocher la case.

Pourquoi? je sèche un peu, voir complètement


.



Avatar
Raymond [mvp]
C'est comme tu veux .

ne fait pas cancel = true si tu fermes le formulaire mais un
docmd.runcommand accmdsaverecord. le cancel et le docmd sont à mettre dans
ton if.
A tester.
--
@+
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" a écrit dans le message de
news:2865601c46443$33378700$
Champ1 et un controle mis à jour par un autre formulaire
champ2 compte (abs[casecocher])
Quand ils sont égaut j'interdit de cocher des lignes
supplémentaires sinon la fonction fonctionne bien sauf
quand je ferme mon formulaire ou il décoche pas la ligne
de l'enregistrement en cours alors que Me.casecocher.undo
est avant la fermeture du formulaire
Pourquoi