Ms access 如何安排宏在Access 2007中自动运行

Ms access 如何安排宏在Access 2007中自动运行,ms-access,macros,ms-access-2007,scheduled-tasks,Ms Access,Macros,Ms Access 2007,Scheduled Tasks,我希望有一个宏,比如说Macro1,每天早上9点运行。从Access 2007中的VB代码编辑器中,它可以独立运行,但我希望它能够在不打开Access的情况下自动执行 请注意,我不希望有任何人为干预,它需要能够自动运行,而无需有人打开访问来触发autoexec或onload或类似的东西 这可能吗?您可以使用Windows任务计划程序和VBScript运行代码或启动Access。您可以使用MS Access命令行开关运行宏。如果在Access帮助中搜索“命令行”,则“启动命令行选项”主题将提供所有

我希望有一个宏,比如说Macro1,每天早上9点运行。从Access 2007中的VB代码编辑器中,它可以独立运行,但我希望它能够在不打开Access的情况下自动执行

请注意,我不希望有任何人为干预,它需要能够自动运行,而无需有人打开访问来触发autoexec或onload或类似的东西


这可能吗?

您可以使用Windows任务计划程序和VBScript运行代码或启动Access。

您可以使用MS Access命令行开关运行宏。如果在Access帮助中搜索“命令行”,则“启动命令行选项”主题将提供所有命令行开关。运行宏的开关是
x宏

因此,如果您编写宏以运行所需的任何内容,并在完成后使其退出Access,则可以创建一条命令行来执行此操作,并将其放入Windows任务调度器可以执行的批处理文件中


但是,正如我在上面的评论中所说,如果您只是在运行一些查询,我想说完全绕过访问,直接在调度的vbScript中使用DAO来执行查询更有意义。

您必须创建vbScript来运行宏,并创建批处理文件来调度vbScript

  • vbscript代码,将其另存为schedule.vbs文件

    Dim accessApp
    设置accessApp=createObject(“Access.Application”) accessApp.OpenCurrentDataBase(“完整路径\msaccessdb”)

    accessApp.Run“Macroname”、param1、param2、param3
    accessApp.Quit
    设置accessApp=nothing

  • 然后创建file.bat

    @回声消失
    cscript schedule.vbs

您已经准备好使用windows任务计划程序进行计划


希望这个帮助:D

这个很奇怪。。。您想在不运行Access的情况下运行Access宏!你不能用另一种语言做同样的把戏吗?@Philippe:基本上,我需要按计划从另一个数据库中提取数据。数据被输入到另一个数据库中,这个数据库由一些我不允许触摸的蹩脚软件管理。我需要得到一些每天输入的信息,我希望能够做到这一点,而不必有人每天打开访问和点击一些东西。不一定要在不运行access的情况下运行它,而是打开access并执行该宏,然后在更有意义的情况下退出。如果只是运行查询,则可以通过vbScript使用DAO执行。对于宏,请参阅我的答案。因此,我基本上会安排一个脚本在每天的某个特定时间运行,然后让该脚本打开access并执行宏?这是可行的吗?…当然,假设宏最终所做的事情可以通过DAO或访问自动化来完成。这听起来不错。这不仅仅是一些查询,尽管这是其中的一部分。我需要从另一个数据库查询链接表并更新当前数据库中的内容。我不确定运行某些查询和“查询链接表…并更新当前数据库中的内容”之间的区别是什么——这不是通过运行查询来完成的吗?如果不是,也许它应该是?是的,它是通过查询来完成的。但是,我需要使用结果来更新另一个本地表的一部分。我仍然不明白为什么“使用结果来更新”其他内容会禁止我的建议。@alexcoco——我想David的意思是,您的更新可以(也可能应该)使用更新查询来完成,这意味着您仍然需要更新“运行一些查询”,仅此而已。你已经晚了将近3年,这个项目与我无关。已经有了一个可接受的答案。不过,也许你的答案仍然会对其他人有所帮助。谢谢发布。@面条,vbscript文件有什么意义?为什么不直接运行宏呢?