Je voudrais pouvoir mettre du code VBA dans une procédure événementielle
dans l'événement après MAJ d'une zone de liste modifiable. Malheureusement,
dans un formulaire particulier, cela m'est impossible, car à chaque fois que
le code devrait être exécuté ( càd avant même son exécution ), une boite de
dialogue s'affiche avec le message suivant :
"L'expression Avant MAJ entrée comme paramètre de la propriété de type
événement est à l'origine d'une erreur. Un problème est survenu durant la
communication entre Microsoft Access et le serveur OLE ou le contrôle
ActiveX.
* Le résultat de l'expression n'est pas le nom d'une macro, le nom d'une
fonction définie par l'utilisateur ou [Event procedure].
* Une erreur a peut-être été commise lors de l'évaluation d'une fonction,
d'un événement ou d'une macro."
Ce message d'erreur survient quelque soit le code à exécuter, quelque soit
l'événement choisit et ce, bien qu'il n'y ait aucun contrôle ActiveX dans le
formulaire, ce formulaire étant d'ailleurs un des plus simple de ma base !!!
Si quelqu'un a une idée, elle serait la bienvenue.
Merci d'avance
--
David Berthemet
"Mieux vaut être optimiste et se tromper que pessimiste et avoir raison."
[ Jack Penn ]
"Soyez indulgents pour les autres et sévères pour vous." [ Adam
Mickiewicz -poète polonais - 1798 -1855 ]
"Bienheureux celui qui a appris a rire de lui-même : il n'a pas fini de
s'amuser !" [ Joseph Folliet - L'un des pères fondateurs de l'hebdomadaire
catholique La Vie.]
A noter que tant qu'une erreur existe quelque part dans le
code, un message d'erreur apparaît lorsqu'on veut exécuter
du code, même dans un autre module.
Pour le moment, on n'a aucune idée de la difficulté de
régler le problème. Peut-être que ça va être fastoche,
peut-être qu'on va suer dessus des semaines.
>-----Message d'origine-----
>.
>
et merci pour la réponse, mais mon problème se trouve ailleurs.
En effet, le code a été compilé avec succès. En fait, il me suffit de mettre
dans n'importe quel événement de ce formulaire le texte "[Procédure
événementielle]" qui indique que je vais inscrire du code, même si je n'y
met aucun code pour que l'erreur se produise. idem si je met le nom d'une
macro.
L'erreur survient avant même qu'un code quelconque soit exécuté.
Merci quand même.
--
"Mieux vaut être optimiste et se tromper que pessimiste et avoir raison."
[ Jack Penn ]
"Soyez indulgents pour les autres et sévères pour vous." [ Adam
Mickiewicz -poète polonais - 1798 -1855 ]
"Bienheureux celui qui a appris a rire de lui-même : il n'a pas fini de
s'amuser !" [ Joseph Folliet - L'un des pères fondateurs de l'hebdomadaire
catholique La Vie.]
"Hubert Canevet" <h.ca...@filnet.fr> a écrit dans le message de news:
d7b701c1a976$48675090$a5e62ecf@tkmsftngxa07...
Si ça compile, c'est que la syntaxe est correcte.
Maintenant, si ça n'exécute pas, c'est qu'il y a un bug dans une des
instructions VBA du formulaire.
Vérifie les objets du formulaire, leurs événements, le code VBA qui est
associé.
Est-ce que certaines lignes ne feraient pas référence à d'autres objets dont
le nom est incorrect, ou qui ne sont pas accessibles lorsque le formulaire
est ouvert ?
Est-ce que certains objets auraient été renommés, ce qui rejoint la question
précédente ?
Des pistes...
-- Hervé Inisan, Microsoft Access MVP
Initiation à Access/ASP/SQL, Java, Word : www.self-access.com
Le [nouveau] Grenier : www.self-access.com/grenier.html
Access 2002 Cookbook [le livre] : www.self-access.com/cookbook.html
Merci pour votre réponse. Suite à votre message, j'ai vérifié l'ensemble du
formulaire qui pour trouver une référence ou un lien erroné.
Tout était correct. La compilation du code de l'ensemble de la base ne
donnait aucune erreur et ce formulaire particulier ne contenait jusque là
aune ligne de code.
J'ai donc supprimer ce formulaire de ma base et je l'ai recréé à
l'identique, et maintenant tout semble fonctionner correctement;
J'ai donc appris ainsi que l'on pouvait "planter" un formulaire. Si
quelqu'un sait comment j'ai pu faire, cela m'intéresse car si il a été
facile de recréer ce formulaire car il était très simple ( en fait le plus
simple de ma base, et de loin !!! ), j'aimerais m'assurer que ce problème ne
ressurgira pas.
merci d'avance
--
"Mieux vaut être optimiste et se tromper que pessimiste et avoir raison."
[ Jack Penn ]
"Soyez indulgents pour les autres et sévères pour vous." [ Adam
Mickiewicz -poète polonais - 1798 -1855 ]
"Bienheureux celui qui a appris a rire de lui-même : il n'a pas fini de
s'amuser !" [ Joseph Folliet - L'un des pères fondateurs de l'hebdomadaire
catholique La Vie.]
"Herve Inisan" <webm...@self-access.com> a écrit dans le message de news:
3c57fa3f$0$16594$626a...@news.free.fr...
Couramment, il suffit d'ouvrir la base sans exécution (en pressant la
touche majuscules), puis de copier le formulaire exécuté au moment de
l'erreur (si c'est au chargement de la base, probablement celui
indiqué dans les options de démarrage), sur un nouveau formulaire.
Donc, après avoir sélectionné le formulaire incriminé, ctrl C, ctrl V,
donner un autre nom, de préférence qui commence pareil si les
formulaires sont classés dans l'ordre alphabétique. Ensuite, avec
l'option renommer, copier cette fois le nom du formulaire, supprimer
l'ancien formulaire, sélectionner le nouveau, utiliser l'option
renommer, coller le nom de l'ancien. Et si on a un peu de chance ça
marche.
En tout cas avec Access 95 ça m'est arrivé plusieurs fois.
Une fois pourtant, il m'a fallu créer une nouvelle base, y importer
tous les autres formulaires, et recréer celui auquel j'avais perdu
accès.
________________________________________________________
"David Berthemet" <davi...@chello.fr> wrote in message news:<eEuZisZqBHA.2540@tkmsftngp04>...