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

pb SousForm.dirty

1 réponse
Avatar
ykebir
salut,

g un bouton me permettant de sortir de mon formulaire.
quand l'utilisateur clic dessus, on lui propose si il=20
accepte ou non d'enregistrer les modif.
pour cela je verifie s'il y en a bien eu avec dirty.
hors si cela fonctionne avec Me. (formulaire courant) ca=20
n'est pas le cas du sous formulaire (que je teste aussi)
il y a une erreur de compilation m'indiquant que " membre=20
de methode ou donn=E9es de introuvable" en surlignant dirty.

g essay=E9 avec Me.EstPMsous_formulaire.Dirty, c le meme pb.
si quelqu'un a une id=E9e, elle sera la bienvenue
yk
ci dessous le code concern=E9
merci

Private Sub Commande63_Click()
On Error GoTo Err_Commande63_Click
'variable stockant la r=E9ponse donn=E9e dans la boite de=20
dialogue
Dim intReponse
'si il y a eu des modifications on demande la=20
confirmation
If Me.Dirty Or EstPMsous_formulaire.Dirty Then
'message pour l'utilisateur
=20
intReponse =3D MsgBox("Voulez-vous enregistrer ?",=20
vbYesNoCancel, "Confirmation")
Select Case intReponse
Case vbYes
' oui est choisit, on ne fait rien puisque=20
le
' comportement par defaut de Access est=20
d'enregistrer.
Case vbNo
' non est choisit donc on annule les=20
modification
Me.Undo
Case vbCancel
' Annuler est choisit donc on annule la=20
manipulation
Exit Sub 'sortir de la proc=E9dure
End Select
=20
End If
=20
DoCmd.Close

Exit_Commande63_Click:
Exit Sub

Err_Commande63_Click:
MsgBox Err.Description
Resume Exit_Commande63_Click
=20
End Sub
Private Sub Commande64_Click()
On Error GoTo Err_Commande64_Click


DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, ,=20
acMenuVer70

Exit_Commande64_Click:
Exit Sub

Err_Commande64_Click:
MsgBox Err.Description
Resume Exit_Commande64_Click
=20
End Sub

1 réponse

Avatar
3stone
Salut,

"ykebir"
g un bouton me permettant de sortir de mon formulaire.
quand l'utilisateur clic dessus, on lui propose si il
accepte ou non d'enregistrer les modif.
pour cela je verifie s'il y en a bien eu avec dirty.
hors si cela fonctionne avec Me. (formulaire courant) ca
n'est pas le cas du sous formulaire (que je teste aussi)
il y a une erreur de compilation m'indiquant que " membre
de methode ou données de introuvable" en surlignant dirty.

g essayé avec Me.EstPMsous_formulaire.Dirty, c le meme pb.
si quelqu'un a une idée, elle sera la bienvenue
yk
ci dessous le code concerné
merci

Private Sub Commande63_Click()
On Error GoTo Err_Commande63_Click
'variable stockant la réponse donnée dans la boite de
dialogue
Dim intReponse
'si il y a eu des modifications on demande la
confirmation
If Me.Dirty Or EstPMsous_formulaire.Dirty Then


Cela s'écrit:

If Me.Dirty OR Me.EstPMsous_formulaire.Form.Dirty Then

Mais, cela ne fonctionnera pas...
Car, le fait de cliquer sur ton bouton, qui est dans le form
principal, enregistre déjà le sous form.
Il ne sera donc jamais dirty !!



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