我尝试使用Windows任务计划程序来运行我的Access数据库模块,虽然我无法弄清楚如何为此创建宏,因为我相信这是唯一的方法。
我有的详细信息是程序/脚本:"C:\Program Files\Microsoft Office\Office15\MSACCESS.EXE"
添加参数(可选):"C:\deskop\Reports.accdb" /x AutoExec
我在访问数据库中创建了一个名为AutoExec的宏,但我不知道如何调用我调用的模块主
我的模块包含5个不同的公共函数和一个Sub,我将其更改为Function。我现在已经将所有5个函数作为RunCode和函数名称添加到宏中这是正确的吗?它似乎正在运行宏。
答案 0 :(得分:0)
宏只能调用函数,而不能调用subs。正如@marlan所说,可以将表单的加载事件中的代码设置为默认打开,并且不需要可选参数。另一个替代方案是Windows任务计划程序调用脚本文件,该文件具有打开db,调用VBA过程和关闭db的代码。这是VBScript可执行文件的结构(文件扩展名.vbs)。
Dim accessApp
set accessApp = CreateObject("Access.Application")
accessApp.OpenCurrentDataBase("your path/filename here")
accessApp.Run "your procedure name here"
accessApp.Quit
set accessApp = nothing
答案 1 :(得分:0)
您可以按照以下步骤执行此操作
步骤1:在数据库中创建一个宏(在您的情况下为AutoExec)并调用该函数(在您的情况下为main)。
步骤2:创建一个批处理文件,现在在批处理文件中,您将编写一个代码来打开您的数据库并调用您要执行的宏(AutoExec)
e.g。
if exist "C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" ("C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" C:\AccessDatabase\MyDatabase.accdb /x:AutoExec)
当此批处理文件被执行时,将打开访问数据库,并且将运行该数据库中的AutoExec宏,其中将调用您的函数,然后完成您要执行的任务。
步骤3:在此步骤中,在Windows任务计划程序中创建计划任务。创建新操作作为启动程序并在程序/脚本中提供上述步骤2创建的批处理文件路径。
根据您安排的时间表,这将运行批量文件,从而运行后期访问和宏以及您的功能......
希望这会有所帮助。