Comment puis-je programmer une Macro à exécuter automatiquement dans Access 2007
J'aimerais avoir une macro appelée Macro1, par exemple, exécuter tous les jours à 9 heures du matin. Il fonctionne très bien sur son propre dans le code visual basic editor dans Access 2007, mais je voudrais qu'il puisse s'exécuter automatiquement, sans que l'accès ne soit ouvert.
Veuillez noter que je ne veux pas qu'il y ait à toute intervention humaine, il doit être capable d'exécuter automatiquement sans que quelqu'un a ouvert l'Accès à déclencher autoexec ou onload ou quelque chose de similaire.
Est-ce possible?
- c'est étrange ... vous souhaitez exécuter un Accès macro sans courir Accès! Ne pouvez-vous pas faire la même chose dans une autre langue?
- En gros, j'ai besoin d'extraire des données à partir d'une autre base de données sur un calendrier. Les données sont entrées dans une autre base de données géré par un logiciel de merde que je n'ai pas le droit de toucher. J'ai besoin d'obtenir certaines informations qui sont saisies chaque jour et je veux être en mesure de le faire sans avoir besoin d'avoir quelqu'un accès ouvert et cliquez sur quelque chose chaque jour. Pas nécessairement de l'exécuter sans l'exécution d'accès, mais au lieu d'ouvrir l'accès et de l'exécution de cette macro, puis la sortie si ça fait plus de sens.
- Si vous êtes juste de l'exécution de requêtes, alors vous pouvez le faire avec DAO via vbScript. Pour la macro, voir ma réponse.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser un MS Access commutateur de ligne de commande pour exécuter une macro. Si vous la recherche pour "ligne de commande" dans l'aide d'Access, la rubrique "Démarrage options de ligne de commande" vous donne tous les commutateurs de ligne de commande. Le commutateur pour l'exécution d'une macro est
x macro
.Ainsi, si vous écrivez votre macro à exécuter tout ce que vous voulez et l'ont sortie l'Accès lorsqu'il se termine, vous pouvez ensuite créer une ligne de commande qui va faire le tour et de le mettre dans un fichier de commandes que le Planificateur de Tâches de Windows peut exécuter.
Cependant, comme je l'ai dit dans un commentaire ci-dessus, si vous êtes juste de l'exécution de certaines requêtes, je dirais qu'il est plus logique de contourner complètement l'Accès et l'utilisation de DAO directement dans un planifiée vbScript pour exécuter les requêtes.
Vous pouvez utiliser le Planificateur de Tâches de Windows et VBScript pour exécuter du code ou de démarrage d'Accès.
Vous devez créer vbscript pour exécuter votre macro et créer un fichier batch pour planifier votre vbscript.
code vbscript, de sauver ce à titre d'annexe.fichier vbs
Dim accessApp
ensemble accessApp = createObject("Accès.L'Application")
accessApp.OpenCurrentDataBase("fullpath\msaccessdb")
accessApp.Exécuter "Macroname",param1, param2,param3
accessApp.Quittez
ensemble accessApp = rien
ENSUITE créer le fichier.chauve-souris
@echo off
cscript annexe.vbs
et votre prêt à programmer en utilisant le planificateur de tâches de windows
http://www.thewindowsclub.com/how-to-schedule-batch-file-run-automatically-windows-7
espère que cela aide 😀