cs_Phenox
Messages postés2Date d'inscriptionsamedi 26 février 2005StatutMembreDernière intervention17 mai 2010
-
8 nov. 2005 à 22:55
JF6
Messages postés2Date d'inscriptionsamedi 30 avril 2005StatutMembreDernière intervention 1 août 2008
-
1 août 2008 à 15:24
Quelle vacherie ce truc ! Je vous explique :
Anecdote : Sur 150 clients ayant mon logiciel ( VBA sous Access 2000 ), 3 me font une gonfle à propos du message suivant : "Erreur 2486 : Impossible d'exécuter cette action dans le contexte actuel". Genre "colle-toi ça sous le bras et débrouille-toi avec".
Faut dire que le message est laconique et t'as beau le tourner dans tous les sens il cause pas beaucoup. Pour l'heure, c'était une instruction "DoCmd.OpenForm" qui coinçait. Comme mon code n'avait plus rien à faire passé cette instruction, je me perdais en conjectures.
N'écoutant que mon courage, je file dans la KB de Microsoft : Ô surprise ! Queudale ! Mais quand je dis rien c'est queudale de chez queudale. Un code erreur oublié. Aucune rubrique. On frôle l'exceptionnel ! Otez-moi d'un doute ? C'est bien une erreur Microsoft que je sache !
Devant ce désaveu cinglant, je file prier Saint Google avec mon 2486 en guise de cierge. Là, ça paye un peu plus : 50 contributions dont 20 en français. Gérable. Sauf que les trois quarts des contributions sont des questions, pas des réponses. Y'a même un gars qui témoigne que la hot-line Microsoft n'a pas pu le dépanner. Info ou Intox ?
A ce stade, je flirte avec le nervous breakdown. Mais, de ce que j'ai pu glâner, il en ressort que ce code s'affiche :
- De manière aléatoire
- Chez certains, mais pas chez d'autres (même OS, même moteur)
- Chez certains j'ai même eu droit à un "Ce programme a effectué une opération non conforme..."
- Et le pire : pour des raisons totalement différentes !
En outre, dès qu'il s'est déclenché une fois, il te colle l'erreur partout, tu peux plus respirer. Tu ControlAltSuppres la tâche.
Les raisons recensées sont les suivantes :
- Base Access 97 convertie en Access 2000 (soluce : en créer une neuve sous Access 2000 et importer les objets)
- Problèmes de liaison Base Access 2000 avec SQL Server ou Oracle (Purée les gars, postez quand vous trouvez la soluce)
- Problèmes avec les DoCmd, qu'ils soient .Close, .Maximize ou .OpenQuelquechose.
Dans mon problème, le "DoCmd.OpenForm" ouvrait un formulaire au format DataSheet qui contenait lui-même une sous-feuille de données. Autrement dit un sous-formulaire.
J'ai le regret de vous dire que j'ai flingué le sous-formulaire, mais le plaisir de vous dire que cela à réglé la question.
Si cette modeste contribution peut en aider certains, j'aurai fait ma Bonne Action
cs_natou
Messages postés3Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention20 septembre 2008 18 nov. 2005 à 20:41
Bonjour,
J'ai moi aussi eu cette erreur, et le probleme était le suivant :
J'avais un champs nommé : Format. Access 2000 confondait avec la fonction alors j'avais le bogue. Solution :j''ai renommé le champs et tout fonctionne a merveille !!!
Pour trouver le bogue, j'ai tout simplement crée un nouveau formulaire et je copiais mes controles 1 par un en testant mon docmd.close chaque fois....
Si ca peut aider quelqun , ma journée sera faite ;-)
JF6
Messages postés2Date d'inscriptionsamedi 30 avril 2005StatutMembreDernière intervention 1 août 2008 1 août 2008 à 15:24
Bonjour à tous !
Moi aussi j'ai eu à batailler avec l'erreur 2486...
Le contexte : Une application MS Access 2000 sous W2K sp4 reliée via le connecteur ODBC 3.51 à un serveur de base de donnée MySQL 5.0.41.
L'erreur se produit lorsque un formulaire Access reste ouvert un certain temps(+- 30 minutes) en position d'ajout d'enregistrement mais que l'utilisateur n'encode rien et que l'un des champs MySQL qui se trouve derrière est du type "AUTO_INCREMENT" (selon la terminologie Mysql).
Cause probable de l'erreur :
Absence d'une valeur par defaut dans le formualire Access pour le champs type "AUTO_INCREMENT"
Vouv vous dites sans doute que si je met une valeur par default pour un champs type "AUTO_INCREMENT" qui par nature produit une valeur automatiquement je m'expose à des soucis...
Vous avez raison et pourtant...si vous mettez "0" (zéro) comme valeur par defaut (côté formulaire. Access) celle-ci ne viendra pas en conflit avec celle que Mysql tentera de produire lors de la sauvegarde de l'enregistrement. Sauvegarde qui semble se déclencher automatiquement si on laisse le formulaire s'endormir, mais qui génèrera l'erreur 2486 dès qu'on tentera de le reveiller, si aucune valeur par defaut n'existe..
Le seul problème qui demeure ensuite c'est qu'un enregistrement est généré à chaque fois que le formulaire traine un peu en background. Moi j'envoie un requete sql DELETE pour les virer périodiquement...
C'est un peu du bricolage mais c'est tout ce que j'ai trouvé