如何让数据库在使用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
包含的完整路径NewDb.accdb
当你拨打OpenCurrentDatabase
。我想你想要与第一个数据库相同的文件夹(db1)。 CurrentProject.Path
将为您提供该文件夹的完整路径...
db2.OpenCurrentDatabase CurrentProject.Path & "\NewDb.accdb"
重要的回家部分是通过指定完整路径来防止禁用显示“活动”内容(宏,vba代码等)的安全警告。 – user3791372
我猜猜错了吗?我假设没有指定文件夹,你从另一个文件夹中打开一个'NewDb.accdb'副本......一个没有被设置为可信文件夹的副本。 – HansUp
它正在打开正确的数据库(与当前数据库位于同一目录中),但由于某种原因,指定完整路径会阻止安全警告。正确的答案,错误的原因;) – user3791372
您是否看到与此更改有什么区别? 'db2.OpenCurrentDatabase CurrentProject.Path&“\ NewDb.accdb”' – HansUp
哇,是的,我愿意!把它写成答案,我会接受! – user3791372