lancement d'une Macro/fonction dans une base distante à partir d'access 2010
Bonjour,
Je passe d'Office 2003 à 2010 et je dois convertir des traitements VBA.
En particuler, je lance des exécutions de macro, par le biais d'une fonction, sur une base distante par les commandes suivantes en VBA 2003 :
Variables Globales :
chem : chemin complet de la base distante
macro : nom de la macro préfixé avec "macro"
param : paramêtre en entrée
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| Function lancer_access()
Set MonAccess = CreateObject("Access.Application")
MonAccess.OpenCurrentDatabase chem
nb = Len(macro)
If Mid(macro, 1, 5) = "macro" Then
jj = Mid(macro, 6, nb)
Exec = MonAccess.Run("lancer_macro", jj) 'Instruction qui pose problème en 2010
While Exec <> 1
creer_fichier_test (jj)
pause 20
Wend
Else
If param = "xx" Then
Exec = MonAccess.Run(macro)
Else
MonAccess.Run macro, param
End If
End If
pause 60
MonAccess.Quit acQuitSaveNone
Set MonAccess = Nothing
End Function |
J'ai cherché sur internet une solution à ce problème, mais je n'en ai pas trouvé qui corresponde exactement !
Est-ce que l'on peut faire la même chose en VBA 2010 : Lancement d'une fonction sur une base distante et récupération d'un paramêtre pour la gestion d'erreur ?
Merci pour toute l'attention que vous m'accorderez et l'aide que vous pourrez m'apporter.
Changement de version Windows : Changement d'environnement
Bonjour,
Le changement de version de Windows a introduit un changement de l'environnement et en particulier les chemins des bases de travail.
Dans la macro lancée dans la base distante, une table liée utilisée dans une requête simple, par oubli, n'avait pas été mise à jour.
Et donc l'appel de cette macro ne fonctionnait pas sans plus d'explication !
Une fois corrigée, la requête et donc l'appel de la macro distante ont fonctionné sans problème.
Le problème est résolu.