如何让数据库在使用VBA打开时运行activex内容?

问题描述:

在Access 2013(64位)中,当用户单击db1中的窗体上的按钮时,打开另一个数据库(db2)。这是行得通的。但是,当它打开db2时,我会看到一个警告栏“安全警告:某些活动内容已被禁用,点击以获取更多详细信息”,使用按钮启用内容。这很烦人,当我用打开的窗体打开数据库时,当我单击按钮启用内容时,所有当前打开的窗体都关闭。如何让数据库在使用VBA打开时运行activex内容?

两个数据库都在同一个目录中,并且我已将此目录添加到受信任的位置。还有什么我需要做的,以禁用此警告栏,而不会自动信任所有数据库(我不想做的事)?

当我手动打开每个数据库中,我没有看到警示栏出现,所以我认为这件事情做的VBA代码我使用:

Dim db2 As Variant 
Set db2 = CreateObject("Access.Application") 
db2.OpenCurrentDatabase "NewDb.accdb"  
db2.DoCmd.OpenForm "_View" 
db2.DoCmd.OpenForm "_Home" 
db2.UserControl = True 
+0

您是否看到与此更改有什么区别? 'db2.OpenCurrentDatabase CurrentProject.Path&“\ NewDb.accdb”' – HansUp

+0

哇,是的,我愿意!把它写成答案,我会接受! – user3791372

包含的完整路径NewDb.accdb当你拨打OpenCurrentDatabase。我想你想要与第一个数据库相同的文件夹(db1)。 CurrentProject.Path将为您提供该文件夹的完整路径...

db2.OpenCurrentDatabase CurrentProject.Path & "\NewDb.accdb" 
+0

重要的回家部分是通过指定完整路径来防止禁用显示“活动”内容(宏,vba代码等)的安全警告。 – user3791372

+0

我猜猜错了吗?我假设没有指定文件夹,你从另一个文件夹中打开一个'NewDb.accdb'副本......一个没有被设置为可信文件夹的副本。 – HansUp

+0

它正在打开正确的数据库(与当前数据库位于同一目录中),但由于某种原因,指定完整路径会阻止安全警告。正确的答案,错误的原因;) – user3791372