如何在常规模式下从命令行启动Access

时间:2015-11-24 08:34:49

标签: shell excel-vba command-line access-vba ms-access-2010

我有一个更新例程,涉及在夜间运行的各种不同的过程。这些过程都存储在excel文件中,该文件使用命令行按所需顺序调用它们。

现在我需要添加要包含的Access数据库文件。我可以打开Access数据库和我想要的文件,但仅限于" Read only"模式。它也不会识别我正在调用的宏。

我的命令行如下所示:

MSACCESS.EXE /ro "W:\Mandate.accdb" /x AutoRunProcess

问题1:如何在常规模式下打开访问文件?我已经对该主题进行了一些研究,并查看了微软文档,但未找到有关如何打开数据库的信息,可以运行更新并再次保存。提供的示例仅用于打开"只读"模式source

问题2:找不到宏虽然我当前的代码打开了正确的访问数据库文件,但它说它无法找到宏。但是,如果我手动启动它,宏运行正常。

任何指示或帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

问题1:
以只读方式打开数据库,不要指定/ro开关。 :)

问题2:
一般建议是尽可能避免使用宏。通常,数据库应具有一个宏,即AutoExec

虽然通过快速测试,/ x开关对我有用,即使数据库有AutoExec宏。首先运行AutoExec,然后运行/ x宏。

另一种选择是/cmd开关。您使用Command()函数传递在AutoExec函数中读取的字符串。

Select Case Command()
    Case "AutoRunProcess": Call MyProcess
    Case "SomethingElse": Call AnotherFunction
    Case "": ' nothing was passed in /cmd
    Case Else: MsgBox "Error in command-line: " & Command()
End Select