Bouton annuler dans fenêtre modale

Résolu/Fermé
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 - Modifié par ButteDuLac le 23/08/2015 à 22:30
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 - 24 août 2015 à 23:49
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!
A voir également:

2 réponses

le meruvien Messages postés 1125 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 décembre 2024 40
24 août 2015 à 06:12
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
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
24 août 2015 à 14:26
C'est justement ça le problème. Si j'arrivais à VOIR le code, je pourrais vérifier. Mais je ne vois que la fenêtre de la Macro (générateur de macro) et je ne trouve pas comment afficher le code.
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.
0
le meruvien Messages postés 1125 Date d'inscription vendredi 12 août 2011 Statut Membre Dernière intervention 15 décembre 2024 40
24 août 2015 à 14:34
désolé, malheureusement je ne connais pas access 2010, je suis resté au 2003
Roger
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
24 août 2015 à 14:51
Ah, OK! Merci d'avoir essayé.
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!!!
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
24 août 2015 à 16:52
Oups!
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?
0
castours > ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020
24 août 2015 à 18:33
Bonjour
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.
0
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.
0
ButteDuLac Messages postés 495 Date d'inscription jeudi 5 mars 2009 Statut Membre Dernière intervention 24 octobre 2020 40
24 août 2015 à 23:49
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
0