我正在尝试输入一些代码,将“设计视图”隐藏为内部应用程序的一个选项,除非满足特定的权限要求。
下面的代码只有一个例外:
On Error Resume Next
If Not GetUserInfo("ADMIN_PERMIS") = 1 Then
Dim cb As CommandBar
Dim cbCtl As CommandBarControl
For Each cb In CommandBars
If cb.type = msoBarTypePopup Then
For Each cbCtl In cb.Controls
If cbCtl.Caption = "&Design View" Then
cbCtl.enabled = True
cbCtl.visible = False
Else
cbCtl.visible = True
End If
Next
End If
Next
Set cb = Nothing: Set cbCtl = Nothing
End If
这样做的一个问题是,它不仅禁用当前数据库的设计视图,而且禁用启动的任何其他access数据库的设计视图。我正在寻找一种方法来尝试和应用此代码的方式,它只影响Access数据库,我有代码,而不是在它的每个单独的实例。
发布于 2013-08-23 05:24:25
我建议将数据库转换为编译的、仅可执行的.accde文件(文件-->保存和发布--> Make ACCDE)。这样做可以防止应用程序中的任何设计或代码更改。保留一个普通.accdb格式的开发版本。在那里进行更改,然后为每个更新编译成.accde版本。
由于您的团队经常更新数据库,因此您可以从使用Peter De Baets的database starter中获益。数据库启动器制作数据库前端的本地副本,允许用户在进行设计更改时继续工作。更新生产帐户前端文件后,用户下次打开数据库时将自动复制新文件。在我的办公室里,我发现我可以推出一个快速修复,并简单地向每个人发送电子邮件,说“关闭并重新打开数据库,伙计们!”
发布于 2015-06-14 01:04:19
所有这些答案都很棒。如果你对最简单的方法感兴趣,我发现表单掌握着关键,尽管在一个奇怪的地方。
在表单属性->其他选项卡->快捷菜单中=否
https://stackoverflow.com/questions/15957315
复制相似问题