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

Toujours et encore MsgBox OUI-NON

5 réponses
Avatar
souhalat
Mercià tous ceux qui depuis hier tentent de m'aider.
Ci-après le code pourtant simpliste mais qui refuse obstinément de
fonctionnner.
Private Sub Form_Close()
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close , , acSaveYes
Else
'Le code à exécuter si on répond 'non'
DoCmd.Close, ,acSaveNo
End If
End Sub
POurquoi cela coince ???
Le top serait de fermer sur Cancel et de revenir au premier champ du
formulaire en cours sur No mais là je délire.
Le plus énervant c'est que tous les logiciels proposent ces MsgBox et que ça
marche ...
Je vais peut être me remettre à la pêche ...
Merci à tous

5 réponses

Avatar
Pierre CFI [mvp]
rien à voir ta commande, çà concerne les modifs physiques du form, pas les données
essaie sur beforeupdate avec le fameux cancel
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
cancel = false
Else
cancel = true
end if

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

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

Mercià tous ceux qui depuis hier tentent de m'aider.
Ci-après le code pourtant simpliste mais qui refuse obstinément de
fonctionnner.
Private Sub Form_Close()
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close , , acSaveYes
Else
'Le code à exécuter si on répond 'non'
DoCmd.Close, ,acSaveNo
End If
End Sub
POurquoi cela coince ???
Le top serait de fermer sur Cancel et de revenir au premier champ du
formulaire en cours sur No mais là je délire.
Le plus énervant c'est que tous les logiciels proposent ces MsgBox et que ça
marche ...
Je vais peut être me remettre à la pêche ...
Merci à tous


Avatar
souhalat
C'est nettement mieux. Au moins si je répond oui les données sont enregistrées.
Par contre, si je répond non, un message d'erreur Access apparait
"Impossible d'enregistrer cet enregistrement pour l'instant ..." avec un
choix OUi NON à la question "Voulez vous toujours fermer l'objet base de
données ?"
Si je dis non, le formulaire se ferme et aucune donnée n'est enregistrée.
Enfin.
Serait-il possible, en cas de non, de revenir au premier champ du formulaire
en cours plûtot qu'à ce MsgBox d'Access qui me semble d'ailleurs plus
approprier à une réponse "annuler".
Quoiqu'il en soit merci sincèrement pour ce net progrès.
P.S : Que me conseille tu comme livre pour mieux maitriser VBA (sachant que
je fais mes premiers pas comme tu peux t'en douter.


rien à voir ta commande, çà concerne les modifs physiques du form, pas les données
essaie sur beforeupdate avec le fameux cancel
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
cancel = false
Else
cancel = true
end if

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

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

Mercià tous ceux qui depuis hier tentent de m'aider.
Ci-après le code pourtant simpliste mais qui refuse obstinément de
fonctionnner.
Private Sub Form_Close()
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close , , acSaveYes
Else
'Le code à exécuter si on répond 'non'
DoCmd.Close, ,acSaveNo
End If
End Sub
POurquoi cela coince ???
Le top serait de fermer sur Cancel et de revenir au premier champ du
formulaire en cours sur No mais là je délire.
Le plus énervant c'est que tous les logiciels proposent ces MsgBox et que ça
marche ...
Je vais peut être me remettre à la pêche ...
Merci à tous







Avatar
Pierre CFI [mvp]
ma routine fait exactement çà
tu as effacé les autres codes dans close
c'est bien Form_BeforeUpdate ??????

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

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

C'est nettement mieux. Au moins si je répond oui les données sont enregistrées.
Par contre, si je répond non, un message d'erreur Access apparait
"Impossible d'enregistrer cet enregistrement pour l'instant ..." avec un
choix OUi NON à la question "Voulez vous toujours fermer l'objet base de
données ?"
Si je dis non, le formulaire se ferme et aucune donnée n'est enregistrée.
Enfin.
Serait-il possible, en cas de non, de revenir au premier champ du formulaire
en cours plûtot qu'à ce MsgBox d'Access qui me semble d'ailleurs plus
approprier à une réponse "annuler".
Quoiqu'il en soit merci sincèrement pour ce net progrès.
P.S : Que me conseille tu comme livre pour mieux maitriser VBA (sachant que
je fais mes premiers pas comme tu peux t'en douter.


rien à voir ta commande, çà concerne les modifs physiques du form, pas les données
essaie sur beforeupdate avec le fameux cancel
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
cancel = false
Else
cancel = true
end if

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

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

Mercià tous ceux qui depuis hier tentent de m'aider.
Ci-après le code pourtant simpliste mais qui refuse obstinément de
fonctionnner.
Private Sub Form_Close()
If MsgBox(" Confirmez vous ces données", vbQuestion + vbYesNo) = vbYes Then
DoCmd.Close , , acSaveYes
Else
'Le code à exécuter si on répond 'non'
DoCmd.Close, ,acSaveNo
End If
End Sub
POurquoi cela coince ???
Le top serait de fermer sur Cancel et de revenir au premier champ du
formulaire en cours sur No mais là je délire.
Le plus énervant c'est que tous les logiciels proposent ces MsgBox et que ça
marche ...
Je vais peut être me remettre à la pêche ...
Merci à tous









Avatar
Eric
Bonjour Pierre,

ma routine ...


mais ta 'routine' ne serait pas de passer de l'anti-fooling
ou du gel-coat, ces temps-ci ? ;-)
--
A+
Eric

Avatar
Pierre CFI [mvp]
çà peut attendre un peu, le printemps. sinon çà devient parc à moules
on voit d'ailleurs beaucoup de belges se tremper longuement les pieds dans l'eau, par là bas
je me planque, car le pistollero doit pas étre loin :o))

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"Eric" a écrit dans le message de news:
Bonjour Pierre,

ma routine ...


mais ta 'routine' ne serait pas de passer de l'anti-fooling
ou du gel-coat, ces temps-ci ? ;-)
--
A+
Eric