J'essaie d'écrire une routine permettant de générer du code VBA pour le
placer dans un module. Mais j'ignore comment créer et surtout détruire un
module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée à
un module vierge. En revanche pour détruire le module, je sèche
complétement. Ces modules sont créés à partir d'une base de données et je
suis contraint de détruire mes modules devenus inutiles au fur et à mesure.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Raymond [mvp]
Bonjour.
je trouve bizarre cette démarche de destruction de module.
Tu trouveras quelques fonctions vba sur les modules à partir de la page: http://access.vba.free.fr/modules.htm
pour détruire un module: DoCmd.DeleteObject acModule, "module1"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cack3f$im6$
Bonjour,
J'essaie d'écrire une routine permettant de générer du code VBA pour le placer dans un module. Mais j'ignore comment créer et surtout détruire un module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée à un module vierge. En revanche pour détruire le module, je sèche complétement. Ces modules sont créés à partir d'une base de données et je suis contraint de détruire mes modules devenus inutiles au fur et à mesure.
Merci de votre aide
Bonjour.
je trouve bizarre cette démarche de destruction de module.
Tu trouveras quelques fonctions vba sur les modules à partir de la page:
http://access.vba.free.fr/modules.htm
pour détruire un module:
DoCmd.DeleteObject acModule, "module1"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" <musicalesNOSPAM@mp3th.net> a écrit dans le message de
news:cack3f$im6$1@news-reader2.wanadoo.fr...
Bonjour,
J'essaie d'écrire une routine permettant de générer du code VBA pour le
placer dans un module. Mais j'ignore comment créer et surtout détruire un
module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée à
un module vierge. En revanche pour détruire le module, je sèche
complétement. Ces modules sont créés à partir d'une base de données et je
suis contraint de détruire mes modules devenus inutiles au fur et à
mesure.
je trouve bizarre cette démarche de destruction de module.
Tu trouveras quelques fonctions vba sur les modules à partir de la page: http://access.vba.free.fr/modules.htm
pour détruire un module: DoCmd.DeleteObject acModule, "module1"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cack3f$im6$
Bonjour,
J'essaie d'écrire une routine permettant de générer du code VBA pour le placer dans un module. Mais j'ignore comment créer et surtout détruire un module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée à un module vierge. En revanche pour détruire le module, je sèche complétement. Ces modules sont créés à partir d'une base de données et je suis contraint de détruire mes modules devenus inutiles au fur et à mesure.
Merci de votre aide
Archives
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau module et génére le code associé. Mais lorsqu'une table a été détruite, je souhaite que la routine supprime le module de classe correspondant, sinon je suis envahi de modules relatifs à d'anciennes tables disparues depuis longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
je trouve bizarre cette démarche de destruction de module.
Tu trouveras quelques fonctions vba sur les modules à partir de la page: http://access.vba.free.fr/modules.htm
pour détruire un module: DoCmd.DeleteObject acModule, "module1"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cack3f$im6$
Bonjour,
J'essaie d'écrire une routine permettant de générer du code VBA pour le placer dans un module. Mais j'ignore comment créer et surtout détruire un
module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée à
un module vierge. En revanche pour détruire le module, je sèche complétement. Ces modules sont créés à partir d'une base de données et je
suis contraint de détruire mes modules devenus inutiles au fur et à mesure.
Merci de votre aide
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de
données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite, je
souhaite que la routine supprime le module de classe correspondant, sinon je
suis envahi de modules relatifs à d'anciennes tables disparues depuis
longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: Oe7IkV9TEHA.3924@TK2MSFTNGP10.phx.gbl...
Bonjour.
je trouve bizarre cette démarche de destruction de module.
Tu trouveras quelques fonctions vba sur les modules à partir de la page:
http://access.vba.free.fr/modules.htm
pour détruire un module:
DoCmd.DeleteObject acModule, "module1"
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" <musicalesNOSPAM@mp3th.net> a écrit dans le message de
news:cack3f$im6$1@news-reader2.wanadoo.fr...
Bonjour,
J'essaie d'écrire une routine permettant de générer du code VBA pour le
placer dans un module. Mais j'ignore comment créer et surtout détruire
un
module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée
à
un module vierge. En revanche pour détruire le module, je sèche
complétement. Ces modules sont créés à partir d'une base de données et
je
suis contraint de détruire mes modules devenus inutiles au fur et à
mesure.
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau module et génére le code associé. Mais lorsqu'une table a été détruite, je souhaite que la routine supprime le module de classe correspondant, sinon je suis envahi de modules relatifs à d'anciennes tables disparues depuis longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
"Raymond [mvp]" a écrit dans le message de news:
Bonjour.
je trouve bizarre cette démarche de destruction de module.
Tu trouveras quelques fonctions vba sur les modules à partir de la page: http://access.vba.free.fr/modules.htm
pour détruire un module: DoCmd.DeleteObject acModule, "module1"
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cack3f$im6$
Bonjour,
J'essaie d'écrire une routine permettant de générer du code VBA pour le placer dans un module. Mais j'ignore comment créer et surtout détruire un
module (de classe éventuellement). Il y a une méthode particulière ?
Pour créer le module, je m'en sors avec la fonction CopyObject appliquée à
un module vierge. En revanche pour détruire le module, je sèche complétement. Ces modules sont créés à partir d'une base de données et je
suis contraint de détruire mes modules devenus inutiles au fur et à mesure.
Merci de votre aide
Raymond [mvp]
regarde du côté de DoCmd.RunCommand acCmdNewObjectModule
tes modules portent quel nom par rapport aux tables correspondantes ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cacpvd$a4n$
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite, je souhaite que la routine supprime le module de classe correspondant, sinon je
suis envahi de modules relatifs à d'anciennes tables disparues depuis longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
regarde du côté de DoCmd.RunCommand acCmdNewObjectModule
tes modules portent quel nom par rapport aux tables correspondantes ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" <musicalesNOSPAM@mp3th.net> a écrit dans le message de
news:cacpvd$a4n$1@news-reader1.wanadoo.fr...
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de
données. Lorsque la routine trouve une nouvelle table, elle crée un
nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite, je
souhaite que la routine supprime le module de classe correspondant, sinon
je
suis envahi de modules relatifs à d'anciennes tables disparues depuis
longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
regarde du côté de DoCmd.RunCommand acCmdNewObjectModule
tes modules portent quel nom par rapport aux tables correspondantes ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cacpvd$a4n$
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite, je souhaite que la routine supprime le module de classe correspondant, sinon je
suis envahi de modules relatifs à d'anciennes tables disparues depuis longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
Archives
Exact, il y a même une commande pour créer un module de classe. Le plus délicat est de savoir sous quel nom ce nouveau module a été ouvert. Avec la collection Modules, ce n'est pas insurmontable.
Pour l'instant mes modules portent le même nom que la table correspondante, mais je rajouterai peut-être un préfixe.
Je n'ai en revanche pas trouvé de commande pour supprimer un module. Pourtant, Acces permet de supprimer les menus, la commande correspondante doit bien se trouver quelque part.
"Raymond [mvp]" a écrit dans le message de news: em188G#
regarde du côté de DoCmd.RunCommand acCmdNewObjectModule
tes modules portent quel nom par rapport aux tables correspondantes ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cacpvd$a4n$
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite, je
souhaite que la routine supprime le module de classe correspondant, sinon
je
suis envahi de modules relatifs à d'anciennes tables disparues depuis longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
Exact, il y a même une commande pour créer un module de classe. Le plus
délicat est de savoir sous quel nom ce nouveau module a été ouvert. Avec la
collection Modules, ce n'est pas insurmontable.
Pour l'instant mes modules portent le même nom que la table correspondante,
mais je rajouterai peut-être un préfixe.
Je n'ai en revanche pas trouvé de commande pour supprimer un module.
Pourtant, Acces permet de supprimer les menus, la commande correspondante
doit bien se trouver quelque part.
"Raymond [mvp]" <XYZ.access.seneque@free.fr> a écrit dans le message de
news: em188G#TEHA.2724@TK2MSFTNGP11.phx.gbl...
regarde du côté de DoCmd.RunCommand acCmdNewObjectModule
tes modules portent quel nom par rapport aux tables correspondantes ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" <musicalesNOSPAM@mp3th.net> a écrit dans le message de
news:cacpvd$a4n$1@news-reader1.wanadoo.fr...
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de
données. Lorsque la routine trouve une nouvelle table, elle crée un
nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite,
je
souhaite que la routine supprime le module de classe correspondant,
sinon
je
suis envahi de modules relatifs à d'anciennes tables disparues depuis
longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
Exact, il y a même une commande pour créer un module de classe. Le plus délicat est de savoir sous quel nom ce nouveau module a été ouvert. Avec la collection Modules, ce n'est pas insurmontable.
Pour l'instant mes modules portent le même nom que la table correspondante, mais je rajouterai peut-être un préfixe.
Je n'ai en revanche pas trouvé de commande pour supprimer un module. Pourtant, Acces permet de supprimer les menus, la commande correspondante doit bien se trouver quelque part.
"Raymond [mvp]" a écrit dans le message de news: em188G#
regarde du côté de DoCmd.RunCommand acCmdNewObjectModule
tes modules portent quel nom par rapport aux tables correspondantes ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cacpvd$a4n$
Bizarre, vous avez dit bizarre, comme c'est étrange...
Je cherche à créer un module de classe pour chaque table d'une base de données. Lorsque la routine trouve une nouvelle table, elle crée un nouveau
module et génére le code associé. Mais lorsqu'une table a été détruite, je
souhaite que la routine supprime le module de classe correspondant, sinon
je
suis envahi de modules relatifs à d'anciennes tables disparues depuis longtemps, d'où ma demande.
Merci pour le lien mais je n'y ai pas trouvé mon bonheur.
Pour supprimer tes tables, tu boucles sur tes modules avec un for Each et tu testes si tu as la table du même nom: on error goto a_supprimer If CurrentDb.TableDefs(Mdl.Name).Name = Mdl.Name) then ' ici les deux existent end if
si la table n'existe pas le déroulement se continue à a_supprimer et là tu peux supprimer physiquement la table.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cacvll$4l9$
Exact, il y a même une commande pour créer un module de classe. Le plus délicat est de savoir sous quel nom ce nouveau module a été ouvert. Avec la
collection Modules, ce n'est pas insurmontable.
Pour l'instant mes modules portent le même nom que la table correspondante,
mais je rajouterai peut-être un préfixe.
Pour supprimer tes tables, tu boucles sur tes modules avec un for Each et tu
testes si tu as la table du même nom:
on error goto a_supprimer
If CurrentDb.TableDefs(Mdl.Name).Name = Mdl.Name) then
' ici les deux existent
end if
si la table n'existe pas le déroulement se continue à a_supprimer et là tu
peux supprimer physiquement la table.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access.vba.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" <musicalesNOSPAM@mp3th.net> a écrit dans le message de
news:cacvll$4l9$1@news-reader5.wanadoo.fr...
Exact, il y a même une commande pour créer un module de classe. Le plus
délicat est de savoir sous quel nom ce nouveau module a été ouvert. Avec
la
collection Modules, ce n'est pas insurmontable.
Pour l'instant mes modules portent le même nom que la table
correspondante,
Pour supprimer tes tables, tu boucles sur tes modules avec un for Each et tu testes si tu as la table du même nom: on error goto a_supprimer If CurrentDb.TableDefs(Mdl.Name).Name = Mdl.Name) then ' ici les deux existent end if
si la table n'existe pas le déroulement se continue à a_supprimer et là tu peux supprimer physiquement la table.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access.vba.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"Archives" a écrit dans le message de news:cacvll$4l9$
Exact, il y a même une commande pour créer un module de classe. Le plus délicat est de savoir sous quel nom ce nouveau module a été ouvert. Avec la
collection Modules, ce n'est pas insurmontable.
Pour l'instant mes modules portent le même nom que la table correspondante,