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

spu*_*dsy 10 ms-access vba access-vba

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

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

谢谢,任何指针将非常感谢!

Pow*_*ser 13

别担心,这很简单.

  1. 制作"帮助"数据库.在那里放几个程序.
  2. 在"客户端"数据库中,打开VBA编辑器
  3. 转到工具 - >参考.浏览并选择您的帮助程序数据库.
  4. 完成!您现在可以在整个客户端数据库中使用帮助程序数据库中的所有函数.

所以......没有.dll文件需要担心.不需要Visual Studio.


Ton*_*ews 8

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

  • 您需要将加载项和FE一起分发给用户PC.

  • MDE/ACCDE无法引用MDB/ACCDB.但是,如果更改加载项MDE/ACCDE,则还必须重新分配FE MDE/ACCDE.即使您没有对参数或子例程/函数名称进行任何更改.

  • 在调试加载项中的代码或处理错误消息时,VBA将打开加载项VBA代码编辑器.不要在那里做出改变.一旦关闭加载项代码窗口,它们就会丢失.

有关详细信息,请参阅我的加载项提示,提示和陷阱页面.


awr*_*ley 5

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

在Access应用程序中使用数据库库文件

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