[VBA] Accès à champ form à partir d'un module
Résolu
Karuyo
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Alors voilà, je suis sous accèss 2003 et je débute.
J'ai dans deux formulaires besoin de la même fonction, deux fois (donc j'appel 4 fois la fonction en tout)
Pour ne pas avoir à répéter 4 fois ce code, j'ai voulu externaliser cette fonction.
J'ai donc créé un Module ou j'y ai placé ma fonction en Public.
Mon problème :
Je voudrais savoir si c'est possible de tester la valeur d'un champs du formulaire qui fais appel à cette fonction, puis de le modifier à partir de ce module. Car pour le moment j'ai une erreur '424 Objet requis'.
Merci de votre aide.
[Edit] : Je viens d'avoir une idée : Utiliser un paramètre supplémentaire dans cette fonction qui contiendrais le nom du formulaire (Me.Name je pense) ainsi ça serais plus facile de cibler le champ voulu.
Un truc dans le genre [NomForm].Form![Champ] devrais marcher, enfin je l'espère.
Je testerais ça en début d'après midi :)
Alors voilà, je suis sous accèss 2003 et je débute.
J'ai dans deux formulaires besoin de la même fonction, deux fois (donc j'appel 4 fois la fonction en tout)
Pour ne pas avoir à répéter 4 fois ce code, j'ai voulu externaliser cette fonction.
J'ai donc créé un Module ou j'y ai placé ma fonction en Public.
Mon problème :
Je voudrais savoir si c'est possible de tester la valeur d'un champs du formulaire qui fais appel à cette fonction, puis de le modifier à partir de ce module. Car pour le moment j'ai une erreur '424 Objet requis'.
Merci de votre aide.
[Edit] : Je viens d'avoir une idée : Utiliser un paramètre supplémentaire dans cette fonction qui contiendrais le nom du formulaire (Me.Name je pense) ainsi ça serais plus facile de cibler le champ voulu.
Un truc dans le genre [NomForm].Form![Champ] devrais marcher, enfin je l'espère.
Je testerais ça en début d'après midi :)
A voir également:
- [VBA] Accès à champ form à partir d'un module
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Acces rapide - Guide
- Comment faire une recherche à partir d'une photo - Guide
- Je n'ai plus acces a ma boite mail gmail - Guide
- Pas de module ci - Forum TV & Vidéo
3 réponses
Bonjour,
Vous appelez bien votre fonction par :
NomDuModule.NomDeLaFonction
???
Votre second formulaire est-il un sous-formulaire du premier ?
Cdt
Lupin
Vous appelez bien votre fonction par :
NomDuModule.NomDeLaFonction
???
Votre second formulaire est-il un sous-formulaire du premier ?
Cdt
Lupin
Bon, j'avance mais il y a toujours un petit problème :/
Déja le paramètre n'est pas le nom du formulaire, mais directement le formulaire lui même, plus simple.
Le problème :
Le premier formulaire (un formulaire pour faire des enregistrement) marche parfaitement. Par contre le second (le formulaire d'un enregistrement ciblé suite à une recherche pour modifier celui-ci) ne marche pas lorsque je fais appel à la fonction du module. J'obtiens l'erreur suivante :
"Utilisation incorrecte de la propriété"
Comment regler ce problème ? :/
J'ai aussi remarqué que le formulaire qui marche à nomDuForm.Form.nomChamp
alors que le second formulaire, n'a pas les champs dans nomDuForm.Form.* ses champs se trouvent uniquement dans nomDuForm.*
Celà peut il avoir un lien avec mon problème ?
Cependant, même en modifiant ma fonction pour utiliser directement ces champs, le second formulaire ne marche pas.
Avez vous une idée ?
Déja le paramètre n'est pas le nom du formulaire, mais directement le formulaire lui même, plus simple.
Le problème :
Le premier formulaire (un formulaire pour faire des enregistrement) marche parfaitement. Par contre le second (le formulaire d'un enregistrement ciblé suite à une recherche pour modifier celui-ci) ne marche pas lorsque je fais appel à la fonction du module. J'obtiens l'erreur suivante :
"Utilisation incorrecte de la propriété"
Comment regler ce problème ? :/
J'ai aussi remarqué que le formulaire qui marche à nomDuForm.Form.nomChamp
alors que le second formulaire, n'a pas les champs dans nomDuForm.Form.* ses champs se trouvent uniquement dans nomDuForm.*
Celà peut il avoir un lien avec mon problème ?
Cependant, même en modifiant ma fonction pour utiliser directement ces champs, le second formulaire ne marche pas.
Avez vous une idée ?
Bonjour,
Non, je l'appelais directement NomDeLaFonction et le second formulaire n'est pas un sous-formulaire, c'est un formulaire instantané créé à partir d'une table.
J'ai remplacé par NomDuModule.NomDeLaFonction et ça marche ! :)
Ce qui m'intrigue c'est que l'appeler directement NomDeLaFonction marche dans un formulaire mais pas dans l'autre. M'enfin le problème est reglé et c'est le principal, Mercii !
Non, je l'appelais directement NomDeLaFonction et le second formulaire n'est pas un sous-formulaire, c'est un formulaire instantané créé à partir d'une table.
J'ai remplacé par NomDuModule.NomDeLaFonction et ça marche ! :)
Ce qui m'intrigue c'est que l'appeler directement NomDeLaFonction marche dans un formulaire mais pas dans l'autre. M'enfin le problème est reglé et c'est le principal, Mercii !