I'd like to have a macro, called Macro1, for example, run every day at 9 AM. It works great on its own from the VB code editor in Access 2007 but I would like it to be able to execute automatically without access being open.
Please note that I don't want there to have to be any human intervention, it needs to be able to run automatically without someone opening Ac开发者_Go百科cess to trigger autoexec or onload or something similar.
Is this at all possible?
You can use a MS Access command line switch to run a macro. If you search for "commandline" in Access help, the topic "Startup command-line options" gives you all the commandline switches. The switch for running a macro is x macro
.
So, if you write your macro to run whatever you want and have it exit Access when it finishes, you can then create a commandline that will do the trick and put it in a batch file that the Windows Task Scheduler can execute.
However, as I said in a comment above, if you are just running some queries, I'd say it makes more sense to bypass Access entirely and use DAO directly in a scheduled vbScript to execute the queries.
You must create vbscript to run your macro and create a batch file to schedule your vbscript.
vbscript code, save this as schedule.vbs file
Dim accessApp
set accessApp = createObject("Access.Application") accessApp.OpenCurrentDataBase("fullpath\msaccessdb")accessApp.Run "Macroname",param1, param2,param3
accessApp.Quit
set accessApp = nothingTHEN create file.bat
@echo off
cscript schedule.vbs
and your ready to schedule it using the windows task scheduler http://www.thewindowsclub.com/how-to-schedule-batch-file-run-automatically-windows-7
hope this help :D
You can use Windows Task Scheduler and VBScript to run code or start Access.
精彩评论