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   -
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 1130 Date d'inscription   Statut Membre Dernière intervention   40
 
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   Statut Membre Dernière intervention   40
 
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 1130 Date d'inscription   Statut Membre Dernière intervention   40
 
désolé, malheureusement je ne connais pas access 2010, je suis resté au 2003
Roger
0
ButteDuLac Messages postés 495 Date d'inscription   Statut Membre Dernière intervention   40
 
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   Statut Membre Dernière intervention   40
 
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   Statut Membre Dernière intervention  
 
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
Tessel75
 
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   Statut Membre Dernière intervention   40
 
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