Pb pour lancer une fonction sur une base distante(access2000) [Résolu]

Signaler
Messages postés
2
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
3 août 2008
-
Messages postés
2
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
3 août 2008
-
Bonjour à tous,
 
J'ai des soucis pour faire exécuter une fonction ou une macro sur une autre base que la base en cours.
Je suis dans Module1, j'ajoute une nouvelle table dans une autre base
(appelée test.mdb), j'exporte aussi Module1 vers test.mdb. La table et
le module sont bien dans la nouvelle base, mais la fonction bute sur la
ligne:


acApp.DoCmd.RunMacro "exporter4"


avec le message:"erreur d'exécution 2485 Microsoft Access ne peut pas trouver la fonction exporter 4."

J'avais trouvé, sur ce forum il me semble, la solution consistant à remplacer la ligne par:


acApp.run "exporter4"


mais là il me dit que le Module1 n'existe pas... alors qu'il me l'ouvre.

Voici le code:

Dim conn AsNew ADODB.Connection
Dim cnn AsNew ADODB.Command
conn.Open"Provider=Microsoft.jet.OLEDB.4.0.; data source=d:\test.mdb"
cnn.ActiveConnection = conn
cnn.CommandType = adCmdText
'insertion d'une nouvelle table dans la base
cnn.CommandText = "ALTER TABLE SO_T ADD COLUMN aaa String (50);"
Set rs = cnn.Execute
conn.Close
 
'copie du module1
DoCmd.CopyObject"d:\test.mdb", "Module1", acModule, "Module1"
 
Dim acApp AsNew Access.Application
' Démarrer Access
Set acApp = New Access.Application
' Ouvrir la base de données concernée
acApp.OpenCurrentDatabase("d:\test.mdb")
' Exécuter la macro
acApp.DoCmd.RunMacro"exporter4"
' Quitter Access
acApp.Quit
Set acApp = Nothing
 

2 réponses

Messages postés
539
Date d'inscription
vendredi 6 juin 2003
Statut
Membre
Dernière intervention
14 juillet 2010
1
Salut,
tu as essayés en sauvegardant ta bases avant de faire new access.application. si ta fonction est dans un module ce n'est pas runmacro mais acApp.run "exporter4".
Et surtout il faut que ta fonction ou sub soit déclarer en public.
@+
youpi :)
Messages postés
2
Date d'inscription
lundi 21 avril 2003
Statut
Membre
Dernière intervention
3 août 2008

Ca a fini par marcher, en déclarant "public" toutes les fonctions et en les regroupant toutes dans le module (je n'avais pas mis la totalité du code, la fonction appelait d'autres fonctions, dont certaines étaient sur un formulaire).
Merci beaucoup!