Bouton annuler dans fenêtre modale
Résolu
ButteDuLac
Messages postés
495
Date d'inscription
Statut
Membre
Dernière intervention
-
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans Access 2010, j'ai créé une fenêtre modale, qui me sert à ajouter un enregistrement à une table liste (liée à un champ d'une table mère).
Il y a un bouton OK et un bouton annuler. Ces deux boutons sont insérés automatiquement par Access.
Le bouton annuler devrait, en théorie, annuler le nouvel enregistrement créé, mais ça ne fonctionne pas. Que je clique sur OK ou sur annuler, ça revient au même, l'enregistrement a été sauvegardé.
Comment régler cette situation très embêtante?
Merci!
Dans Access 2010, j'ai créé une fenêtre modale, qui me sert à ajouter un enregistrement à une table liste (liée à un champ d'une table mère).
Il y a un bouton OK et un bouton annuler. Ces deux boutons sont insérés automatiquement par Access.
Le bouton annuler devrait, en théorie, annuler le nouvel enregistrement créé, mais ça ne fonctionne pas. Que je clique sur OK ou sur annuler, ça revient au même, l'enregistrement a été sauvegardé.
Comment régler cette situation très embêtante?
Merci!
A voir également:
- Bouton annuler dans fenêtre modale
- Fenetre windows - Guide
- Fenêtre hors écran windows 11 - Guide
- Bouton reinitialisation pc - Guide
- Diagnostic bouton photo - Accueil - Outils
- Bouton on/off comment savoir ✓ - Forum Matériel & Système
2 réponses
bonjour,
Apparement, tu ne connait pas le VBA et les code?
Donc, à partir du formulaire normal, tu ne peut rien faire, tu doit le mettre en mode création, et là, tu sélectionne ton bouton annuler, et dans la fenetre propriété, regarde bien si l'action "sur clic" est associée à une procédure! dans cette procédure tu doit voir:
Forms![nom du form].Undo
ou
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Apparement, tu ne connait pas le VBA et les code?
Donc, à partir du formulaire normal, tu ne peut rien faire, tu doit le mettre en mode création, et là, tu sélectionne ton bouton annuler, et dans la fenetre propriété, regarde bien si l'action "sur clic" est associée à une procédure! dans cette procédure tu doit voir:
Forms![nom du form].Undo
ou
DoCmd.DoMenuItem acFormBar, acEditMenu, acUndo, , acMenuVer70
Bonjour,
Je me suis rendu compte il y a pas mal de temps que les versions récentes de Access ne permettaient plus de "voir" les macros associées aux boutons pré-construits.
Pour sortir de la difficulté, le seul moyen que connaisse est de ne pas utiliser ce type de bouton, mais de mettre des boutons indifférenciés et d'ajouter des macros de sa propre construction dessus. L'avantage, en plus, est qu'il est possible par la suite de convertir les macros en code VBA, et ainsi d'apprendre progressivement comment s'écrit directement des codes.
Je me suis rendu compte il y a pas mal de temps que les versions récentes de Access ne permettaient plus de "voir" les macros associées aux boutons pré-construits.
Pour sortir de la difficulté, le seul moyen que connaisse est de ne pas utiliser ce type de bouton, mais de mettre des boutons indifférenciés et d'ajouter des macros de sa propre construction dessus. L'avantage, en plus, est qu'il est possible par la suite de convertir les macros en code VBA, et ainsi d'apprendre progressivement comment s'écrit directement des codes.
Aaaah! C'est ce que j'ai fait. Bon, ça ne me permet pas de fermer la fenêtre, mais au moins, si je clique sur mon nouveau bouton « Annuler l'enregistrement » ;) sans avoir préalablement saisi des données, Access m'avise que l'action Annuler un enregistrement n'est pas disponible pour l'instant, mais ne me demande pas d'arrêter la macro. Ça, je crois que n'importe qui va comprendre! C'est super!!! Merci de m'avoir guidé vers l'autoconstruction de mon bouton, il me suffisait d'un peu de confiance!!! :D
Si je sélectionne le bouton et que je clique sur Visualiser le code, c'est le code du formulaire qui apparaît (tout ce que je vois, c'est Option Compare Database)
Si je clique sur le bouton du générateur (les ...) à droite de la zone « Sur clic » dans la fenêtre de propriété du bouton, j'obtiens la macro associée au bouton, mais tout ce que je vois comme opération, c'est « Fermer la fenêtre » et « Enregistrer : avec confirmation », tel que décrit dans ma question. J'ai essayé de changer pour « Enregistrer : non », mais ça ne donne rien.
Je voudrais bien pouvoir vérifier les codes et les changer au besoin, mais dans cette situation précise, je suis incapable d'y accéder, je ne comprends pas comment le faire... j'ai même essayé de cliquer-droit sur le bouton et « Créer code d'événement », mais j'arrive aussi dans la fenêtre du générateur de macro.
Roger
Finalement, j'ai complètement supprimé la macro, puis remplacé par une macro Annuler enregistrement, terminée par FermerFenêtre, et là, ça fonctionne. Au début, je croyais que non, mais c'est que je n'avais pas encore saisi de données. Après un test dans une copie test de ma BDD, ça marche!!!
Il réside un petit bogue. Si j'ouvre la fenêtre et n'entre aucun enregistrement, si je clique sur Annuler, il y a un bogue qui se produit et Access me demande si je veux arrêter la macro.
Pour moi, il n'y a pas de problème, mais pour l'utilisateur qui ne maîtrise pas du tout la programmation (lire pire que moi!), ce sera du charabia!
Il y a le bouton X pour fermer la fenêtre, mais les gens ont souvent le réflexe d'appuyer sur OK ou Annuler.
Que ce soit en code ou autrement, y a-t-il moyen de régler cela?
Pour voire le code du bouton,essaie de te mettre en mode de creation , puis tu vas sur ton bouton, tu cliques dessus puis propriéte, puis evenemnt. tu dois avoir la procedure sur click.