我有以下代码:
Dim obj As New Access.Application
obj.OpenCurrentDatabase (CurrentProject.Path & "\Working.mdb")
obj.Run "Routine"
obj.CloseCurrentDatabase
Set obj = Nothing
我正在尝试的问题是一个弹出窗口,告诉我 Access 无法将焦点设置在其他数据库上。从代码中可以看出,我想在另一个 mdb 中运行一个 Subroutine。任何其他方式来实现这一点将不胜感激。
我正在使用 MS Access 2003。
这是一个间歇性错误。由于这是每月仅运行一次的生产代码,因此极难重现,我目前无法为您提供确切的文本和编号。这是发生这种情况的第二个月。
我怀疑当有人使用这个或其他数据库时可能会发生这种情况。
数据流是每月在一个数据库中更新一次所有“项目”,然后在另一个数据库中提供此信息。
也许是因为 'Routines' 代码中的第一行: If vbNo = MsgBox("Do you want to update?", vbYesNo, "Update") Then Exit Function End If
我将制作另一个没有 MsgBox 的子程序。
我已经能够重现这种行为。当焦点必须转移到被调用的数据库时会发生这种情况,但用户将焦点 ([ALT]+[TAB]) 设置在第一个数据库上。“解决方案”是教育用户。
这是一个间歇性错误。由于这是每月仅运行一次的生产代码,因此极难重现,我目前无法为您提供确切的文本和编号。这是发生这种情况的第二个月。
我怀疑当有人使用这个或其他数据库时可能会发生这种情况。
数据流是每月在一个数据库中更新一次所有“项目”,然后在另一个数据库中提供此信息。
也许是因为 'Routines' 代码中的第一行: If vbNo = MsgBox("Do you want to update?", vbYesNo, "Update") Then Exit Function End If
我将制作另一个没有 MsgBox 的子程序。
我已经在我们的开发数据库中尝试过这个并且它有效。这并不意味着任何其他代码在开发中也可以正常工作。