Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/12/2011, 10h30   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 3
Points : 3
Par défaut Liaison contrôle évènement

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
azzzad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 15h02   #2
Rédacteur/Modérateur

 
Avatar de loufab
 
Homme Fabrice CONSTANS
Ingénieur développement logiciels
Inscription : avril 2005
Messages : 7 090
Détails du profil
Informations personnelles :
Nom : Homme Fabrice CONSTANS
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : avril 2005
Messages : 7 090
Points : 11 622
Points : 11 622
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
loufab est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 09h47   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 3
Points : 3
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?
azzzad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 10h24   #4
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 225
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 225
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
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...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 14h02   #5
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 3
Points : 3
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 :/
azzzad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 14h24   #6
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 225
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 225
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
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...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 14h25   #7
Rédacteur/Modérateur
 
Avatar de Domi2
 
Homme
Inscription : juin 2006
Messages : 6 225
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 52
Localisation : Suisse

Informations professionnelles :
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : juin 2006
Messages : 6 225
Points : 9 928
Points : 9 928
Envoyer un message via Skype™ à Domi2
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...


Access : créer des codes-barres 128 en VBA
Access : les commandes intégrées des menus

Ce message (ou un autre) vous a aidé ? Votez pour lui avec
Domi2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/12/2011, 16h04   #8
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 3
Points : 3
Super ! Le script de loufab a marché !

Merci à Domi pour les conseils et bravo à loufab pour son article et son blog.
azzzad est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h35.


 
 
 
 
Partenaires

Hébergement Web