Voici mon code :
-------------------------------
Option Compare Database
Option Explicit
Dim FermerOuiNon As Boolean
Private Sub Form_Current()
FermerOuiNon = True
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Not IsNull(Me.Date_Disposition) Or Me.Code_Raison > 0 Then
If MsgBox("Vous avez commencé à entrer une disposition, désirez-vous
la compléter?" & vbCrLf & "Oui pour continuer la saisie", vbYesNo) = vbYes
Then
FermerOuiNon = False
Cancel = True
Else
Me.Code_Raison = 0
Me.Date_Disposition = Null
End If
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Not FermerOuiNon Then Cancel = True
End Sub
-------------------------------
Mon problème est quand je réponds "Oui" (je veux continuer la saisie) sur la
fermeture du formulaire. La fermeture est bien annulée, mais les infos
saisis disparaissents (comme si je faisais la touche "esc"!!).
Que dois-je faire pour annuler la fermeture ET garder les infos?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gilbert
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de conserver tes données?
Gilbert
"Jo" a écrit dans le message de news:
Bonjour les pros!
Voici mon code : ------------------------------- Option Compare Database Option Explicit Dim FermerOuiNon As Boolean
Private Sub Form_Current() FermerOuiNon = True End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer) If Not IsNull(Me.Date_Disposition) Or Me.Code_Raison > 0 Then If MsgBox("Vous avez commencé à entrer une disposition, désirez-vous
la compléter?" & vbCrLf & "Oui pour continuer la saisie", vbYesNo) = vbYes Then FermerOuiNon = False Cancel = True Else Me.Code_Raison = 0 Me.Date_Disposition = Null End If End If End Sub
Private Sub Form_Unload(Cancel As Integer) If Not FermerOuiNon Then Cancel = True End Sub -------------------------------
Mon problème est quand je réponds "Oui" (je veux continuer la saisie) sur la
fermeture du formulaire. La fermeture est bien annulée, mais les infos saisis disparaissents (comme si je faisais la touche "esc"!!).
Que dois-je faire pour annuler la fermeture ET garder les infos?
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de
conserver tes données?
Gilbert
"Jo" <rockett09AENLEVER@yahoo.ca> a écrit dans le message de
news:4CFC37ED-8FBA-4F41-963A-A3D2515691C2@microsoft.com...
Bonjour les pros!
Voici mon code :
-------------------------------
Option Compare Database
Option Explicit
Dim FermerOuiNon As Boolean
Private Sub Form_Current()
FermerOuiNon = True
End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer)
If Not IsNull(Me.Date_Disposition) Or Me.Code_Raison > 0 Then
If MsgBox("Vous avez commencé à entrer une disposition,
désirez-vous
la compléter?" & vbCrLf & "Oui pour continuer la saisie", vbYesNo) = vbYes
Then
FermerOuiNon = False
Cancel = True
Else
Me.Code_Raison = 0
Me.Date_Disposition = Null
End If
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If Not FermerOuiNon Then Cancel = True
End Sub
-------------------------------
Mon problème est quand je réponds "Oui" (je veux continuer la saisie) sur
la
fermeture du formulaire. La fermeture est bien annulée, mais les infos
saisis disparaissents (comme si je faisais la touche "esc"!!).
Que dois-je faire pour annuler la fermeture ET garder les infos?
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de conserver tes données?
Gilbert
"Jo" a écrit dans le message de news:
Bonjour les pros!
Voici mon code : ------------------------------- Option Compare Database Option Explicit Dim FermerOuiNon As Boolean
Private Sub Form_Current() FermerOuiNon = True End Sub
Private Sub Form_BeforeUpdate(Cancel As Integer) If Not IsNull(Me.Date_Disposition) Or Me.Code_Raison > 0 Then If MsgBox("Vous avez commencé à entrer une disposition, désirez-vous
la compléter?" & vbCrLf & "Oui pour continuer la saisie", vbYesNo) = vbYes Then FermerOuiNon = False Cancel = True Else Me.Code_Raison = 0 Me.Date_Disposition = Null End If End If End Sub
Private Sub Form_Unload(Cancel As Integer) If Not FermerOuiNon Then Cancel = True End Sub -------------------------------
Mon problème est quand je réponds "Oui" (je veux continuer la saisie) sur la
fermeture du formulaire. La fermeture est bien annulée, mais les infos saisis disparaissents (comme si je faisais la touche "esc"!!).
Que dois-je faire pour annuler la fermeture ET garder les infos?
Jo
Bonjour Gilbert,
si j'enlève le cancel=true dans le beforeUpdate, ça règle effectivement mon problème à la fermeture du form, mais si je réponds "oui à la question sur un changement d'enregistrement (suivant/précédent), ça ne marche plus.
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de conserver tes données?
Gilbert
Bonjour Gilbert,
si j'enlève le cancel=true dans le beforeUpdate, ça règle effectivement mon
problème à la fermeture du form, mais si je réponds "oui à la question sur un
changement d'enregistrement (suivant/précédent), ça ne marche plus.
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de
conserver tes données?
si j'enlève le cancel=true dans le beforeUpdate, ça règle effectivement mon problème à la fermeture du form, mais si je réponds "oui à la question sur un changement d'enregistrement (suivant/précédent), ça ne marche plus.
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de conserver tes données?
Gilbert
ze Titi
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
Bonjour Gilbert,
si j'enlève le cancel=true dans le beforeUpdate, ça règle effectivement mon problème à la fermeture du form, mais si je réponds "oui à la question sur un changement d'enregistrement (suivant/précédent), ça ne marche plus.
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de conserver tes données?
Gilbert
-- Voilou ! Bon code Cordialement,
Ze Titi
Bonjour Jo
Un truc idiot (non testé...),
si tu places un
Docmd.CancelEvent
à la place de ton
Cancel=true
ça donne quoi ?
Bonjour Gilbert,
si j'enlève le cancel=true dans le beforeUpdate, ça règle effectivement mon
problème à la fermeture du form, mais si je réponds "oui à la question sur un
changement d'enregistrement (suivant/précédent), ça ne marche plus.
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de
conserver tes données?
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
Bonjour Gilbert,
si j'enlève le cancel=true dans le beforeUpdate, ça règle effectivement mon problème à la fermeture du form, mais si je réponds "oui à la question sur un changement d'enregistrement (suivant/précédent), ça ne marche plus.
Bonjour,
Ne serait-ce pas le Cancel=True dans le Form_BeforeUpdate qui t'empêche de conserver tes données?
Gilbert
-- Voilou ! Bon code Cordialement,
Ze Titi
Jo
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-(
La solution serait de mettre un bouton fermer, mais les utilisateurs
utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un
Docmd.CancelEvent
à la place de ton
Cancel=true
ça donne quoi ?
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
ze Titi
Bonjour Jo
Rien ne t'emêche de bloquer le mode feuille de données... ;-)
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
-- Voilou ! Bon code Cordialement,
Ze Titi
Bonjour Jo
Rien ne t'emêche de bloquer le mode feuille de données... ;-)
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-(
La solution serait de mettre un bouton fermer, mais les utilisateurs
utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un
Docmd.CancelEvent
à la place de ton
Cancel=true
ça donne quoi ?
Rien ne t'emêche de bloquer le mode feuille de données... ;-)
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
-- Voilou ! Bon code Cordialement,
Ze Titi
Jo
Impossible, je vais me faire assassiner!
Bonjour Jo
Rien ne t'emêche de bloquer le mode feuille de données... ;-)
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
-- Voilou ! Bon code Cordialement,
Ze Titi
Impossible, je vais me faire assassiner!
Bonjour Jo
Rien ne t'emêche de bloquer le mode feuille de données... ;-)
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-(
La solution serait de mettre un bouton fermer, mais les utilisateurs
utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un
Docmd.CancelEvent
à la place de ton
Cancel=true
ça donne quoi ?
Rien ne t'emêche de bloquer le mode feuille de données... ;-)
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
-- Voilou ! Bon code Cordialement,
Ze Titi
ze Titi
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu ne devrais pas perdre tes données... Essaie de redonner le focus à un de tes contrôles après le Cancel. Et (en dernier recours, place un docmd.cancelEvent après le cancel=true mais ça paraît absurde...) Tiens-nous au courant...
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
-- Voilou ! Bon code Cordialement,
Ze Titi
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu
ne devrais pas perdre tes données...
Essaie de redonner le focus à un de tes contrôles après le Cancel.
Et (en dernier recours, place un docmd.cancelEvent après le cancel=true
mais ça paraît absurde...)
Tiens-nous au courant...
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-(
La solution serait de mettre un bouton fermer, mais les utilisateurs
utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un
Docmd.CancelEvent
à la place de ton
Cancel=true
ça donne quoi ?
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu ne devrais pas perdre tes données... Essaie de redonner le focus à un de tes contrôles après le Cancel. Et (en dernier recours, place un docmd.cancelEvent après le cancel=true mais ça paraît absurde...) Tiens-nous au courant...
Bonjour Ze Titi,
bonne idée! mais ça donne exactement le même résultat! :-( La solution serait de mettre un bouton fermer, mais les utilisateurs utilisent souvent ce formulaire en feuille de données...
Bonjour Jo
Un truc idiot (non testé...),
si tu places un Docmd.CancelEvent à la place de ton Cancel=true ça donne quoi ?
-- Voilou ! Bon code Cordialement,
Ze Titi
Jo
Bonjour ze Titi
ça ne fonctionne pas plus si je donne le focus à un autre contrôle. Mais ça avance un peu, j'ai fait afficher les erreurs au cas où, et j'ai l'erreur 2169 sur le unload du fom. C'est cette erreur?
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu ne devrais pas perdre tes données... Essaie de redonner le focus à un de tes contrôles après le Cancel. Et (en dernier recours, place un docmd.cancelEvent après le cancel=true mais ça paraît absurde...) Tiens-nous au courant...
Bonjour ze Titi
ça ne fonctionne pas plus si je donne le focus à un autre contrôle.
Mais ça avance un peu, j'ai fait afficher les erreurs au cas où, et j'ai
l'erreur 2169 sur le unload du fom.
C'est cette erreur?
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu
ne devrais pas perdre tes données...
Essaie de redonner le focus à un de tes contrôles après le Cancel.
Et (en dernier recours, place un docmd.cancelEvent après le cancel=true
mais ça paraît absurde...)
Tiens-nous au courant...
ça ne fonctionne pas plus si je donne le focus à un autre contrôle. Mais ça avance un peu, j'ai fait afficher les erreurs au cas où, et j'ai l'erreur 2169 sur le unload du fom. C'est cette erreur?
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu ne devrais pas perdre tes données... Essaie de redonner le focus à un de tes contrôles après le Cancel. Et (en dernier recours, place un docmd.cancelEvent après le cancel=true mais ça paraît absurde...) Tiens-nous au courant...
ze Titi
Bonjour Jo
Il doit y avoir un problème de duplication d'index, d'où l'erreur d'enregistrement. Vérifie que tu n'essaies pas de créer des doublons.
Bonjour ze Titi
ça ne fonctionne pas plus si je donne le focus à un autre contrôle. Mais ça avance un peu, j'ai fait afficher les erreurs au cas où, et j'ai l'erreur 2169 sur le unload du fom. C'est cette erreur?
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu ne devrais pas perdre tes données... Essaie de redonner le focus à un de tes contrôles après le Cancel. Et (en dernier recours, place un docmd.cancelEvent après le cancel=true mais ça paraît absurde...) Tiens-nous au courant...
-- Voilou ! Bon code Cordialement,
Ze Titi
Bonjour Jo
Il doit y avoir un problème de duplication d'index, d'où l'erreur
d'enregistrement. Vérifie que tu n'essaies pas de créer des doublons.
Bonjour ze Titi
ça ne fonctionne pas plus si je donne le focus à un autre contrôle.
Mais ça avance un peu, j'ai fait afficher les erreurs au cas où, et j'ai
l'erreur 2169 sur le unload du fom.
C'est cette erreur?
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu
ne devrais pas perdre tes données...
Essaie de redonner le focus à un de tes contrôles après le Cancel.
Et (en dernier recours, place un docmd.cancelEvent après le cancel=true
mais ça paraît absurde...)
Tiens-nous au courant...
Il doit y avoir un problème de duplication d'index, d'où l'erreur d'enregistrement. Vérifie que tu n'essaies pas de créer des doublons.
Bonjour ze Titi
ça ne fonctionne pas plus si je donne le focus à un autre contrôle. Mais ça avance un peu, j'ai fait afficher les erreurs au cas où, et j'ai l'erreur 2169 sur le unload du fom. C'est cette erreur?
Bonjour Jo
Il y a quand même quelque chose qui m'échappe. Avec un Cancel=True, tu ne devrais pas perdre tes données... Essaie de redonner le focus à un de tes contrôles après le Cancel. Et (en dernier recours, place un docmd.cancelEvent après le cancel=true mais ça paraît absurde...) Tiens-nous au courant...