|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Futur Membre du Club
![]() Louise Pelletier Inscription : août 2010 Messages : 49 ![]() |
Bonjour,
J'ai un formulaire qui affiche des enregistrements. Dans ce formulaire, j'ai un boîte de texte (SearchBox) qui permet d'inscrire un critère de recherche et des boutons (SearchGo et SearchClear) pour exécuter ou annuler la recherche. La boîte de texte et les boutons proviennent d'un modèle de formulaire Access 2007 auquel j'ai converti les macros en code VBA. Les boutons appèlent des fonctions, Exemple le bouton "Effacer le critère" appèle la fonction "Filters_ClearFilter" (voir le code ci-dessous).Ces fonctions ont été créées dans un module appelé " module converti" qui contient les fonctions convertis à partir des macros. Mais une erreur survient sur la ligne "With CodeContextObject". N'étant pas experte en Acces, j'aimerais savoir à quoi est relié "CodeContextObject" et comment corrigé le problème? Voici le code convertit en VBA : Code :
|
||
|
|
00
|
|
|
#2 |
|
Futur Membre du Club
![]() Louise Pelletier Inscription : août 2010 Messages : 49 ![]() |
Bonjour,
N'ayant pas trouvé réponse à ma question, je me demande si quelqu'un peut me diriger dans la compréhension de l'utilisation de la commande "With et End with". De plus, en travaillant dans mon programme, que ce soit en faisant des tests ou de la programmation, lorsque j'essaie de compacter ma base de données, j'ai souvent l'erreur que MsAccess ne peut compacter ma base de données. Pourquoi? Merci |
|
|
00
|
|
|
#3 | ||||||||||
|
Membre Expert
![]() |
bonjour à tous
Citation:
Le Me étant là pour le formulaire dans lequel s'exécute notre code 2/Supposons maintenant que nous ayons une même fonction que nous voulons qui s'exécute dans plusieurs formulaires de notre projet. 2.a - Une solution serait de copier/coller la fonction dans chacun de nos formulaires; ce qui aurait pour conséquences: -->de gonfler notre projet , -->En cas de correction, c'est partout qu'il faudrait intervenir;au risque d'en oublier, -->Et puis, il faut l'avouer, ça ne serait pas du tout fait pour gagner du temps -->.... 2.b - Une autre solution: On va créer la fonction dans un module standard et pouvoir l'appeler dans les formulaires concernés. Mais probleme: le Me.MaZoneDeTexte provoquerait une erreur d'execution; puisque que le code s'attent à un objet (Form ou etat). Et c'est ça sera tout l'astuce d'utiliser CodeContextObject ; en remplacement donc de Me. Ainsi, dans notre module standard, on écrire: Code :
CodeContextObject.MaZoneDeTexte = QuelqueChose Dans ton exemple, si ta macro ne s'exécutait que dans un seul formulaire, on pourrait déplacer le code convertit dans le module de ce form et écrire, à la place de ceci: Code :
Code :
Citation:
Supposons que quelque part dans mon code, j'ai eu besoin d'écrire ces ligne Code :
Code :
j'espère t'avoir apporté quelque chose @+ |
||||||||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com