2015-08-14 49 views
0

我正在为使用MS Access的数据中心开发错误日志记录应用程序。在测试环境中有+ - 200个MS Access MDB。我在我的应用程序将运行在一个MDB上的点完美无缺。通过将代码插入到每个On_Error函数中,并通过在这样的On_Error catch语句中包装任何函数,我已经实现了MDB特定的功能。 我的问题是,要改变每个数据库,每个数据库中的每个功能都是多余的。 有没有办法在一个地方添加一些代码/模块到每个MDB上,而这个地方会在任何错误上运行? (或者,有一种方法可以编程的方式打开和修改表单后面的VBA,即使它涉及荒谬的字符串操作。)任何VBA(MS Access)错误后运行代码

+0

此答案可能有助于戴尔。 http://stackoverflow.com/questions/4168674/using-a-centralized-vba-module-in-multiple-access-databases – DaveMac

回答

0

根据DaveMac的链接,您可以链接集中的库mdb/mde,但错误处理(“在错误...“)在每个功能中需要为本地。这就是它在VBA中的样子。

使用VBIDE对象库,您可以访问和修改其他数据库中的VBA代码。见

Import lines of code

https://christopherjmcclellan.wordpress.com/2014/11/06/meta-programming-in-vba-the-vbide-and-why-documentation-is-important/

这将是相当多的工作。虽然,我想。我只用它来将模块从一个(Word)文件复制到其他几个文件,并且花了一些时间才弄清楚。

请注意,使用http://www.mztools.com/v3/mztools3.aspx,只需单击一下(或快捷方式),即可将可自定义的错误处理程序添加到函数中。 用VBIDE做它可能不是最快的方式,但肯定更有趣。 :)