|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 4 ![]() |
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 |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Fabrice CONSTANSIngénieur développement logiciels Inscription : avril 2005 Messages : 7 090 ![]() |
Bonjour,
Typiquement un problème de liaison entre l'objet, en l’occurrence le formulaire, et le code VBA. 1er réflexe faire une sauvegarde du fichier. Ensuite traiter le problème de la manière suivante. Réparation/compactage Si le problème persiste, reprendre une copie de la sauvegarde et faire une décompilation puis une réparation/compactage. Cordialement,
__________________
Classe MELA(CRUD) Opérateur IN et zone de liste MsGraph et VBA - 1e Partie 2e partie Entête d'états-Opérateur LIKE-Evénements formulaires-Cours 2010 Complément :Générateur de msgbox Visitez mon Blog Les questions techniques par MP ne sont pas lues et je ne pratique pas l'extispicine |
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 4 ![]() |
Merci pour la réponse !
Compactage, je vois où c'est. Par contre la réparation, je ne vois pas comment faire. Dans quel menu je trouve ça sous Access 2002? |
|
|
00
|
|
|
#4 |
![]() ![]() |
Bonjour,
Jusqu'à la version Access 97, le compactage et la réparation était deux choses distinctes, au niveau des menus. Depuis la version 2000, c'est Compactage et réparation. Domi2
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 4 ![]() |
Ah très bien. Par contre, le compactage ne résout pas le problème.
Je tenterai bien l'autre solution, mais je ne comprends pas vraiment ce principe de décompilation. Quelles étapes je dois suivre exactement? Désolé de répondre avec des question à chaque fois, mais j'ai très peu de connaissances sur Access :/ |
|
|
00
|
|
|
#6 |
![]() ![]() |
Regarde sur le blog de loufab, tout en bas de la page : Réparer un fichier accdb ou mdb.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#7 |
![]() ![]() |
Regarde sur le blog de loufab, tout en bas de la page : Réparer un fichier accdb ou mdb.
__________________
Vous avez des montres, nous avons le temps ! (citation attribuée à L.-S. Senghor) Ici, on ne perd pas de temps ! On en passe... Ce message (ou un autre) vous a aidé ? Votez pour lui avec
|
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : octobre 2010 Messages : 4 ![]() |
Super ! Le script de loufab a marché !
Merci à Domi pour les conseils et bravo à loufab pour son article et son blog. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com