Excecuter un macro depuis une autre db...

galldup Messages postés 90 Date d'inscription vendredi 18 octobre 2002 Statut Membre Dernière intervention 27 décembre 2004 - 9 avril 2003 à 08:40
stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 juin 2006 - 10 avril 2003 à 11:40
Salut !

Voila mon probleme : J'ai deux bases de donnees.

Comment faire a partir d'une base de donnees faire executer un macro qui existe dans l'autre base de donnees ?

Ce serait super si kelkun peut me dire l'astuce.
Merci en tous cas.

galldup
Il faut savoir qu'on ne peut pas tous savoir.

3 réponses

stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 juin 2006
9 avril 2003 à 11:30
-- stabe --

salut,

par code, à partir de ta 1ère base Access tu peux ouvrir un 2ème Access, y charger ta 2ème base et ensuite demander l'exécution de ta macro ou de tout ce que tu veux.

Code à placer dans ta 1ère base pour lancer l'éxécution de ta macro dans ta 2ème base :

Dim accObject As Access.Application

' créé objet sur Access
Set accObject = CreateObject("Access.application")

' charge la base de données
accObject.OpenCurrentDatabase ("d:\mes documents\ma_deuxieme_base.mdb")
'exécute la macro
accObject.DoCmd.RunMacro ("nom_de_ma_macro")

' fermeture de la base
accObject.CloseCurrentDatabase
' fermeture de Access
accObject.Quit

Stabe
0
galldup Messages postés 90 Date d'inscription vendredi 18 octobre 2002 Statut Membre Dernière intervention 27 décembre 2004 1
10 avril 2003 à 10:00
Merci beacoup pour ta reponse mais cela bug au niveau ***
avec message : "Microsoft Acess can not open the database because it is missing, or opened exclusively by another user"

le fichier a ouvrir est partage en serveur et securise dans un environnement multi utilisateur. Peut etre est ce ca le probleme ?
Pourtant, j'ai teste le code quand le fichier est etait libre.

Qu'en pensez vous ?

Dim accObject As Access.Application

' create Object type access
Set accObject = CreateObject("Access.application")
' charge the db
accObject.OpenCurrentDatabase ("\\Pcwsv01\ASPA_All\TMP\ASPA TMP.mdb") ***BUG***
'launch the macro
accObject.DoCmd.RunMacro ("Exportation forecast project")
' closing the db
accObject.CloseCurrentDatabase
' closing the access object
accObject.Quit

galldup
0
stabe Messages postés 144 Date d'inscription lundi 23 décembre 2002 Statut Membre Dernière intervention 17 juin 2006
10 avril 2003 à 11:40
pour essayer de comprendre ce qui se passe, peut être pourrais tu essayer de créer une base bidon sur ton poste en local et essayer de l'ouvrir par le code
0
Rejoignez-nous