在多个Access数据库中使用集中式VBA模块

时间:2010-11-12 20:13:11

标签: ms-access vba access-vba

我已经负责在内部网上传播的50多个Access数据库(.mdb和.accdb的各种版本),我需要为几乎所有这些数据库添加一些VBA函数(完全相同的代码) 。我希望它可以通过从每个数据库创建一个引用到集中式VBA模块来实现,因为我真的希望能够在每个数据库中自动复制的情况下进行更改。如果中央数据库中的任何其他引用可以保持不变,那么这也是一个额外的好处,所以我也不必单独管理它们。

我对VBA编程很陌生(虽然我多年来一直是一个PHP垃圾),并且一直很难找到正确的词来搜索这个特定的问题。我认为(从我到目前为止所读到的内容)我可能需要Visual Studio来编译DLL来引用,但是如果可能的话,我想保持一切简单并包含在Access中,特别是因为我们没有VS许可证。

谢谢,任何指针都会非常感激!

4 个答案:

答案 0 :(得分:13)

别担心,这很简单。

  1. 制作“帮手”数据库。在那里放几个程序。
  2. 在“客户端”数据库中,打开VBA编辑器
  3. 转到工具 - >参考。浏览并选择您的帮助程序数据库。
  4. 完成!现在,您可以在整个客户端数据库中使用帮助程序数据库中的所有函数。
  5. 所以...没有.dll文件需要担心。不需要Visual Studio。

答案 1 :(得分:8)

搜索字词是插件。 (啊,我看到自从我上一次尝试以来,谷歌用嵌入式hyphnes的单词改进了搜索体验。)PowerUser提到的方法可行,但存在许多问题。

  • 您需要取消加载项 以及您的FE到用户PC。

  • MDE / ACCDE无法引用 MDB / ACCDB。但如果你改变了 你必须加载MDE / ACCDE 将FE MDE / ACCDE重新分配为 好。即使你没有做 对参数的任何更改或 子程序/功能名称。

  • 在调试代码时 加载项或处理错误 消息VBA将打开加载项VBA 代码编辑器。不要做出改变 那里。他们将尽快丢失 你关闭了加载项代码窗口。

有关详细信息,请参阅我的Add-in Tips, Hints and Gotchas页面。

答案 2 :(得分:5)

您还可以更进一步。我为vb123.com写了一篇关于此的文章:

Using Database Library Files in your Access Application

您可以使用表单,报表,查询,模块,类......除了子表单之外的所有内容。所有这些都在一个普通的旧mdb或accdb文件中(或mde,就此而言)。

答案 3 :(得分:0)

八年后,以下是上述答案的后续内容,其中包括: How do you add add-ins to Access 2007?