我有一个MS访问数据库,包含4个表,4个查询和1个表单。
有没有办法限制用户在打开访问文件时只看到表单。用于打开表格的密码保护线路也足够了。
注意:我知道在MS访问中隐藏对象和组(https://support.office.com/en-us/article/Manage-database-objects-in-the-Navigation-Pane-04f0708d-c7c7-46bc-8c0a-670751f93d36),但我认为没有密码保护功能来实现这一点,任何知道如何取消隐藏的用户都可以查看表和查询。
答案 0 :(得分:3)
MS Access提供了几个启动选项。包括隐藏和禁用许多功能。
此外,您可以在启动文件时定义要打开的表单,如下所示:
访问选项>当前数据库>显示表单,选择要在启动文件时显示的表单。
当向下滚动一点时,您可以例如禁用"显示导航窗格",不显示带有表单,表格,查询等的左侧窗格。
顺便说一句,在启动文件时按住shift键,所有启动选项都被禁用。
查看this video,其中解释了所有细节。
答案 1 :(得分:2)
如果您的数据库已拆分,则可以从前端的一个副本中删除所有非必要对象,并将其分发给有问题的用户。但是,表单的任何依赖对象都需要随附(包括链接表),如果用户知道Access,他们仍然可以读/写表。这也会在新版本的分发过程中造成混淆,因为DBA必须维护前端的多个版本。
另一种方法是完全隐藏导航窗格。我并不是指最小化,而是使用DoCmd.RunCommand acCmdWindowHide
将其关闭。如您所述,任何可以在VBA中运行此命令的用户都可以取消隐藏导航窗格,但普通用户将无法取消隐藏它。如果有人可以取消隐藏VBA中的导航窗格,您应该与他们讨论使用数据库时允许/禁止的内容,以避免任何设计更改或绕过表单验证。如果他们了解到那一点的Access / VBA,他们应该理解他们的行为何时会破坏平台。