Bonjour à tous,
Lorsque je veux fermer le formulaire, Access m'envoie une erreur, comment
peut-on contourner cet obstacle
Private Sub Form_Current()
Dim NewRec, rst As Recordset, rep As Integer, meF As Form
NewRec = Me.NewRecord
If NewRec = True Then
rep = MsgBox("Nouvel enregistrement?", vbQuestion + vbYesNo)
If rep = vbNo Then
DoCmd.CancelEvent
DoCmd.Close acForm, "frmSousDevisTemp", acSaveYes
ElseIf rep = vbYes Then
If EstChargé("frmDevis") Then
Set meF = Forms!frmDevis
End If
Set rst = Me.RecordsetClone
Me!Ndevis = meF!Ndevis
With rst
If .RecordCount > 0 Then
.MoveLast
Me!TypeTravail = !TypeTravail
Me!Lieu = !Lieu
.Close
End If
End With
End If
End If
Set rst = Nothing
End Sub
Declare la variable AnnuleNew (et non AbortNew je me suis trompe) dans l'en-tete du code du formulaire. N'oublie pas d'ecrire AnnuleNewúlse quand l'utilisateur veut bien ajouter un enregistrement. Il serait plutot desagreable que le formulaire se ferme lors de la saisie du nouvel enregistrement.
Salut Ilan,
Oui, j'ai bien écrit AbortNew au lieu de AnnuleNew, si j'ai rendu la variable publique c'est que lorsqu'elle est déclarée dans form_open, elle n'est plus reconnue dans le contrôle qui reçoit le focus et de cette manière, AnnuleNew devient true, mais j'ai l'erreur 2585. Merci. @+
Guy FALESSE
"Ilan" a écrit dans le message de news:
Bonjour, la variable doit etre declaree dans l'entete du code du formulaire. Nul besoin
de la rendre public si tu n'en as pas besoin en dehors de ce formulaire. Bien sur tu as compris que j' ai remplace AnnuleNew par AbortNew dans mon post.
Salut Ilan,
Ça a l'air de marcher sauf que dans la réception du focus, la variable n'est
pas reconnue, donc, bien sûr, on passe outre de la commande fermer, je vasi
teseter en la rendant public, on ne sait jamais. Pas de chance, tout avait l'air de fonctionner jusqu'à l'apparition de cette
fameuse erreur 2585. Merci d'avoir essayé. @+
Guy FALESSE
"Ilan" a écrit dans le message de news:
Bonjour Guy,
il est necessaire que tu sortes de l'evenement avant de fermer le formulaire.
essaie en declarant Ex (Dim AbortNew as Boolean) dans l'evenement Form_Current IF Rep=VbNo THEN AnnuleNew=True
envoie le focus a un controle du formulaire pour sortir de l'evenement Current. Dans l'evenement Reception Focus du controle, tu fermes le formulaire si
IF AnnuleNew=True THEN Docmd.Close acForm,Form.Name,AcSaveYes
Salut Pierre,
Merci pour ta réponse. Donc, comme je l'ai écrit à Raymon, c'est un bouton que j'ai créé moi-même
pour ouvrir un nouveau formulaire là où sur activation se trouve la fonction: Private Sub Form_Current() Dim NewRec, rst As Recordset, rep As Integer, meF As Form NewRec = Me.NewRecord If NewRec = True Then rep = MsgBox("Nouvel enregistrement?", vbQuestion + vbYesNo) If rep = vbNo Then DoCmd.CancelEvent DoCmd.Close acForm, "frmSousDevisTemp", acSaveYes Bon, soit que je clique sur le bouton que j'ai créé, soit que je clique
sur
le bouton ajout des boutons de navigatins créé par Access, j'ai la même
erreur 2585. Ici, j' aurais voulu que lorsqu'on répond par la négative, que le formulaire
se ferme sans rien faire et sans erreur. Enfin, voilà, peut-être aussi que mes lignes de code soient mal placées,
pourquoi pas :-) Je suis peut-être un peu touffu, non? En tout cas, merci de vous êtes penchés sur mon cas. @+ Guy FALESSE
"3stone" a écrit dans le message de news:%
Salut,
"Guy FALESSE"
Avant de poser cette question, je précise que je suis allé voir par
Google
dans le forum, mais aucune réponse satisfaisante n'avait été donnée
jusqu'à
aujourd'hui, c'est pourquoi, je la repose maintenant. Dois-je en conclure qu'il n'y a aucune possibilité, lorsqu'on a cliqué
par
erreur sur le bouton ajout des boutons de navigations, d'annuler cettte
commande.
Je viens d'essayer et je n'obtiens pas d'erreur... Je clique sur "Ajout", j'annulle et je ferme le formulaire, sans problème!
Quelle est cette erreur que tu obtiens ? Tu n'aurais pas un code qui écrit déjà dans une zone de texte ?
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome
Bonjour Guy,
Declare la variable AnnuleNew (et non AbortNew je me suis trompe) dans
l'en-tete
du code du formulaire. N'oublie pas d'ecrire AnnuleNewúlse quand
l'utilisateur
veut bien ajouter un enregistrement. Il serait plutot desagreable que le
formulaire
se ferme lors de la saisie du nouvel enregistrement.
Salut Ilan,
Oui, j'ai bien écrit AbortNew au lieu de AnnuleNew, si j'ai rendu la
variable publique c'est que lorsqu'elle est déclarée dans form_open, elle
n'est plus reconnue dans le contrôle qui reçoit le focus et de cette
manière, AnnuleNew devient true, mais j'ai l'erreur 2585.
Merci.
@+
Guy FALESSE
"Ilan" <Ilan@discussions.microsoft.com> a écrit dans le message de
news:65211DDF-EAE7-4D28-A1FA-6D4E8369F0D5@microsoft.com...
Bonjour,
la variable doit etre declaree dans l'entete du code du formulaire. Nul
besoin
de la rendre public si tu n'en as pas besoin en dehors de ce formulaire.
Bien sur tu as compris que j' ai remplace AnnuleNew par AbortNew dans mon
post.
Salut Ilan,
Ça a l'air de marcher sauf que dans la réception du focus, la variable
n'est
pas reconnue, donc, bien sûr, on passe outre de la commande fermer, je
vasi
teseter en la rendant public, on ne sait jamais.
Pas de chance, tout avait l'air de fonctionner jusqu'à l'apparition de
cette
fameuse erreur 2585.
Merci d'avoir essayé.
@+
Guy FALESSE
"Ilan" <Ilan@discussions.microsoft.com> a écrit dans le message de
news:3E1A658D-65BC-419B-975B-F16A46FED556@microsoft.com...
Bonjour Guy,
il est necessaire que tu sortes de l'evenement avant de fermer le
formulaire.
essaie en declarant
Ex (Dim AbortNew as Boolean)
dans l'evenement Form_Current
IF Rep=VbNo THEN AnnuleNew=True
envoie le focus a un controle du formulaire pour sortir de l'evenement
Current.
Dans l'evenement Reception Focus du controle, tu fermes le formulaire
si
IF AnnuleNew=True THEN Docmd.Close acForm,Form.Name,AcSaveYes
Salut Pierre,
Merci pour ta réponse.
Donc, comme je l'ai écrit à Raymon, c'est un bouton que j'ai créé
moi-même
pour ouvrir un nouveau formulaire là où sur activation se trouve la
fonction:
Private Sub Form_Current()
Dim NewRec, rst As Recordset, rep As Integer, meF As Form
NewRec = Me.NewRecord
If NewRec = True Then
rep = MsgBox("Nouvel enregistrement?", vbQuestion + vbYesNo)
If rep = vbNo Then
DoCmd.CancelEvent
DoCmd.Close acForm, "frmSousDevisTemp", acSaveYes
Bon, soit que je clique sur le bouton que j'ai créé, soit que je
clique
sur
le bouton ajout des boutons de navigatins créé par Access, j'ai la
même
erreur 2585.
Ici, j' aurais voulu que lorsqu'on répond par la négative, que le
formulaire
se ferme sans rien faire et sans erreur.
Enfin, voilà, peut-être aussi que mes lignes de code soient mal
placées,
pourquoi pas :-)
Je suis peut-être un peu touffu, non?
En tout cas, merci de vous êtes penchés sur mon cas.
@+
Guy FALESSE
"3stone" <threestone@cielreseau.be> a écrit dans le message de
news:%23spoUtEuEHA.3524@TK2MSFTNGP15.phx.gbl...
Salut,
"Guy FALESSE"
Avant de poser cette question, je précise que je suis allé voir
par
Google
dans le forum, mais aucune réponse satisfaisante n'avait été
donnée
jusqu'à
aujourd'hui, c'est pourquoi, je la repose maintenant.
Dois-je en conclure qu'il n'y a aucune possibilité, lorsqu'on a
cliqué
par
erreur sur le bouton ajout des boutons de navigations, d'annuler
cettte
commande.
Je viens d'essayer et je n'obtiens pas d'erreur...
Je clique sur "Ajout", j'annulle et je ferme le formulaire, sans
problème!
Quelle est cette erreur que tu obtiens ?
Tu n'aurais pas un code qui écrit déjà dans une zone de texte ?
--
A+
Pierre (3stone) Access MVP
~~~~~~~~~~~~~~~~~~~~~~~
http://users.skynet.be/mpfa
http://users.skynet.be/accesshome
Declare la variable AnnuleNew (et non AbortNew je me suis trompe) dans l'en-tete du code du formulaire. N'oublie pas d'ecrire AnnuleNewúlse quand l'utilisateur veut bien ajouter un enregistrement. Il serait plutot desagreable que le formulaire se ferme lors de la saisie du nouvel enregistrement.
Salut Ilan,
Oui, j'ai bien écrit AbortNew au lieu de AnnuleNew, si j'ai rendu la variable publique c'est que lorsqu'elle est déclarée dans form_open, elle n'est plus reconnue dans le contrôle qui reçoit le focus et de cette manière, AnnuleNew devient true, mais j'ai l'erreur 2585. Merci. @+
Guy FALESSE
"Ilan" a écrit dans le message de news:
Bonjour, la variable doit etre declaree dans l'entete du code du formulaire. Nul besoin
de la rendre public si tu n'en as pas besoin en dehors de ce formulaire. Bien sur tu as compris que j' ai remplace AnnuleNew par AbortNew dans mon post.
Salut Ilan,
Ça a l'air de marcher sauf que dans la réception du focus, la variable n'est
pas reconnue, donc, bien sûr, on passe outre de la commande fermer, je vasi
teseter en la rendant public, on ne sait jamais. Pas de chance, tout avait l'air de fonctionner jusqu'à l'apparition de cette
fameuse erreur 2585. Merci d'avoir essayé. @+
Guy FALESSE
"Ilan" a écrit dans le message de news:
Bonjour Guy,
il est necessaire que tu sortes de l'evenement avant de fermer le formulaire.
essaie en declarant Ex (Dim AbortNew as Boolean) dans l'evenement Form_Current IF Rep=VbNo THEN AnnuleNew=True
envoie le focus a un controle du formulaire pour sortir de l'evenement Current. Dans l'evenement Reception Focus du controle, tu fermes le formulaire si
IF AnnuleNew=True THEN Docmd.Close acForm,Form.Name,AcSaveYes
Salut Pierre,
Merci pour ta réponse. Donc, comme je l'ai écrit à Raymon, c'est un bouton que j'ai créé moi-même
pour ouvrir un nouveau formulaire là où sur activation se trouve la fonction: Private Sub Form_Current() Dim NewRec, rst As Recordset, rep As Integer, meF As Form NewRec = Me.NewRecord If NewRec = True Then rep = MsgBox("Nouvel enregistrement?", vbQuestion + vbYesNo) If rep = vbNo Then DoCmd.CancelEvent DoCmd.Close acForm, "frmSousDevisTemp", acSaveYes Bon, soit que je clique sur le bouton que j'ai créé, soit que je clique
sur
le bouton ajout des boutons de navigatins créé par Access, j'ai la même
erreur 2585. Ici, j' aurais voulu que lorsqu'on répond par la négative, que le formulaire
se ferme sans rien faire et sans erreur. Enfin, voilà, peut-être aussi que mes lignes de code soient mal placées,
pourquoi pas :-) Je suis peut-être un peu touffu, non? En tout cas, merci de vous êtes penchés sur mon cas. @+ Guy FALESSE
"3stone" a écrit dans le message de news:%
Salut,
"Guy FALESSE"
Avant de poser cette question, je précise que je suis allé voir par
Google
dans le forum, mais aucune réponse satisfaisante n'avait été donnée
jusqu'à
aujourd'hui, c'est pourquoi, je la repose maintenant. Dois-je en conclure qu'il n'y a aucune possibilité, lorsqu'on a cliqué
par
erreur sur le bouton ajout des boutons de navigations, d'annuler cettte
commande.
Je viens d'essayer et je n'obtiens pas d'erreur... Je clique sur "Ajout", j'annulle et je ferme le formulaire, sans problème!
Quelle est cette erreur que tu obtiens ? Tu n'aurais pas un code qui écrit déjà dans une zone de texte ?
-- A+ Pierre (3stone) Access MVP ~~~~~~~~~~~~~~~~~~~~~~~ http://users.skynet.be/mpfa http://users.skynet.be/accesshome