Bonjour,
Je suis chargé de la maintenance d'un logiciel Access 2003.
Un problème se pose lors de l'ouverture d'un des formulaires, qui renvoi une erreur 2501 "L'action OpenForm a été annulée".
Je pensais avoir réduit le problème à la fonction appelée sur l'évènement d'ouverture du formulaire. En effet, en enlevant cette fonction des propriétés "événement" du formulaire, celui-ci s'ouvre normalement.
Cependant, une fois le formulaire ouvert tous les évènements (du formulaire et de ses contrôles) déclenchant une fonction renvoie une erreur du type "L'expression nomEvenement entrée comme paramètre de la propriété de type événement est à l'origine d'une erreur. L'objet ou la classe ne gère pas le jeu d'événements". Pourtant le code des fonctions associées est bon, le projet compile sans problème et aucune référence n'est manquante.
J'ai également, sans succès, essayé la méthode décrite ici :
http://www.developpez.net/forums/d94...s-ms-code-vba/
Finalement, j'ai réussi à résoudre le problème avec une méthode peu catholique : j'ai voulu rajouter une fonction très simple déclenchée par un événement du formulaire pour voir si celle-ci aussi lançait une erreur. Et là miracle : plus aucune erreur, toutes les fonctions appelées par un événement fonctionnent parfaitement. J'ai même pu supprimer ma fonction bidon; donc finalement aucun changement dans le code...
Alors bon, mon problème est effectivement réglé mais j'aimerais beaucoup comprendre le pourquoi du comment...
Si l'un d'entre vous a une piste, ça me serait d'un grand secours. Je reste dispo pour des infos supplémentaires ou du code si nécessaire.
Merci d'avance
Partager