L'exécution de Microsoft Access en tant que Tâche Planifiée

Je suis à la recherche de commentaires sur la façon de planifier des mises à jour automatiques de la base de données.accdb) depuis que je ne suis pas très à l'aise avec le processus que j'ai mis en place.

Actuellement, il fonctionne comme suit:

  1. Planificateur de tâches appelle une .chauve-souris
  2. .chauve-souris appels un .vbs
  3. .vbs ouvre la base de données et appelle une macro
  4. La macro appelle une fonction VBA (Niveau)
  5. Les appels de fonction de la mise à jour de la sous-Routine

Je considère il y a trop d'étapes, et le fait qu'elle nécessite 2 fichiers externes (.Chauve-souris et .vbs) liées à la base de données et stockées sur le système accroître le risque que la procédure de rupture.

Apparemment (mais s'il vous plaît dites-moi que je me trompe et comment je peux le changer) .vbs ne peut pas appeler une sous-routine, mais seulement une macro. De manière identique, un accès macro ne peut pas appeler une sous-routine, mais seulement une fonction si l'utilisateur s'attend à entrer dans le VB de l'environnement de la base de données. C'est la raison pour laquelle j'ai appelé une fonction (VBA), puis appelle la sous-routine.

Espère que certains d'entre vous savent comment raccourcir les étapes et, éventuellement, obtenir de la sortie .chauve-souris et .vbs

(1) Est votre .bat ou votre .vbs script rien de plus que d'une seule ligne de code? Si non, alors vous avez probablement pu simplement mettre à jour votre Tâche Planifiée pour s'exécuter MSACCESS.EXE avec les paramètres requis. (2) Oui, une Macro dans Access ne peut invoquer une Fonction, mais vous pourriez probablement convertir vos Sous pour une Fonction qui ne retourne rien (ou certains retours valeur arbitraire comme True).
J'ai essayé d'appeler MSACCESS.EXE dans le Planificateur de Tâches, mais je n'a pas réussi et c'est la raison pour laquelle j'ai utilisé le .chauve-souris .vbs méthode. Essayez à nouveau. Je supopose j'ai besoin d'avoir un minuteur dans l'Accès alors que les déclencheurs de la mise à jour...
Non, vous appeler MSACCESS.EXE avec le -x commutateur de ligne de commande et le nom de la macro que vous souhaitez exécuter. Détails ici.
Grâce Gord - comme dirait ma .chauve-souris et .vbs scipts sont sur le point de disparaître 🙂
vbs peut certainement appeler un standard VBA sous-routine, et en fait j'ai du mal à comprendre d'une autre façon. En conséquence, vous devriez SEULEMENT besoin d'un script vbs. J'ai posté une réponse à cette question.

OriginalL'auteur ProtoVB | 2013-11-27