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

Fermer un formulaire avec sous forms par code vba

2 réponses
Avatar
Gundt
Bonjour à à tous,

Je suis sous Access 97.

Pour utiliser un formulaire, j'utilise un bouton avec comme code :
On Error GoTo Err_Fermer_Click
' affecte la valeur 1 à test pour pouvoir fermer
Test = 1

DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
DoCmd.Close

Exit_Fermer_Click:
Exit Sub

Err_Fermer_Click:
MsgBox Err.Description
Resume Exit_Fermer_Click

Et il me retourne une erreur :
"L'action Close a été annulée.
Vous avez utilisé une méthode de l'objet DoCmd pour exécuter une action
dans Visual Basic, mais vous avez ensuite cliqué sur annuler dans une
boîte de dialogue. .... etc "

En fait, je ne clique pas sur une boîte annuler : je ne fais que cliquer
sur le bouton Fermer.

Ce formulaire contient un sous formulaire lignes commandes et un ctrl de
texte indépendant invisible qui a valeur 0 ou 1 pour pourvoir fermer le
formulaire.

Sur libération du formulaire, le code est le suivant :
On Error GoTo Form_Unload_Err

With CodeContextObject
If (.Test = 0) Then
' Vérifie la valeur du ctrl test qui se trouve caché sous
le ctrl quitter.
DoCmd.CancelEvent
MsgBox "Vous devez utiliser le bouton ""Fermer"" sur
l'écran en dessous du bouton OK quand vous aurez validez la commande.",
vbInformation, "Touches interdites"
End If
DoCmd.Close , ""
End With

Form_Unload_Exit:
Exit Sub

Form_Unload_Err:
MsgBox Error$
Resume Form_Unload_Exit

Pour entrer dans le sous forms, le code est :
' différents tests pour vérifier la saisie des différents champs, si
tout est ok, alors on passe à :
.Test = 0

Et quand la commande est terminée et validée par clic sur bouton ok, le
code est :
' affecte la valeur 1 à test pour pouvoir fermer
Test = 1

Nota : ici, je ne peux pas mettre le point devant Test.

J'ai essayé d'enlever la 1ère ligne du code du bouton fermer
(DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70) et de
mettre simplement docmd Close mais l'erreur s'affiche quand même.

Nota important : le formulaire se ferme quand même malgré l'affichage de
cette boîte de dialogue.

Merci de votre aide.

Gundt

2 réponses

Avatar
3stone
Salut,

"Gundt"
|
| Je suis sous Access 97.
|
| Pour utiliser un formulaire, j'utilise un bouton avec comme code :
| On Error GoTo Err_Fermer_Click
| ' affecte la valeur 1 à test pour pouvoir fermer
| Test = 1
|
| DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
| DoCmd.Close


Envoies tout cela par dessus bord et regarde ceci :

http://groups.google.com/group/microsoft.public.fr.access/msg/4168b321f22c34d2?

;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
Avatar
Gundt
Salut,

[...]



Envoies tout cela par dessus bord et regarde ceci :

http://groups.google.com/group/microsoft.public.fr.access/msg/4168b321f22c34d2?

;-)
Ok. J'ai fait ce que tu as dit : ça marche.


Un grand merci.

Gundt