在不打开Access的情况下执行一个子程序

时间:2015-06-11 07:26:44

标签: ms-access access-vba

我想知道以下问题是否有简单的解决方法。我有一个访问数据库,在vba中有不同的模块(当然每个模块都有不同的子程序)。如何创建一个图标或一个可执行文件,通过点击它可以运行其中一个模块的子程序而无需打开访问权限?

这样做的原因是因为当我离开时,人们需要运行其中一些子程序,而这些用户没有任何使用Access的经验。

1 个答案:

答案 0 :(得分:2)

您可以使用命令行选项启动Access以运行命名的Access宏。 (这意味着一个Access宏对象。有些人也调用VBA程序宏,但Access宏对象是不同的。)

Access宏具有RunCode方法,可用于运行VBA功能。由于您要运行的代码是子例程,因此创建一个调用该子例程的新函数,然后关闭Access,并使用宏的RunCode方法使用该函数。

使宏正常工作后,请按照以下模式从Windows命令提示符会话进行测试:

"<path to MSACCESS.EXE>" "<path to db file>" -X <macro name>

完成这些细节后,您可以创建一个桌面快捷方式来执行相同的操作。

但是,如果您或其他用户必须定期运行您的Access操作(每天,仅工作日等),您可以创建一个Windows预定任务来执行此操作并忘记其他用户和桌面快捷方式

请注意,此建议并不完全符合您的要求,因为它确实打开了Access。但是它可以在操作完成后关闭Access,所以也许它是可以接受的。