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