Ms access 要读取但要隐藏表的窗体的MS Access用户级安全性

Ms access 要读取但要隐藏表的窗体的MS Access用户级安全性,ms-access,Ms Access,用户级安全性是否允许用户访问表单,但不能访问表?我有一个使用SELECT命令连接到表的表单。它不会更新或删除。我希望用户能够访问我的表单,但我不希望他们能够查看基础表中的详细信息。我在用户级安全向导中尝试了各种组合,但由于某种原因,我的表单会显示为空白,除非我授予用户执行任何操作的完全访问权限。有什么想法吗?顺便说一句,我使用的是Access 2003。您可以制作一个MDE并将其提供给您的用户。如果您这样做,用户将只能看到您提供的用户界面 如果表与表单和查询位于同一Access数据库中,则首先需

用户级安全性是否允许用户访问表单,但不能访问表?我有一个使用SELECT命令连接到表的表单。它不会更新或删除。我希望用户能够访问我的表单,但我不希望他们能够查看基础表中的详细信息。我在用户级安全向导中尝试了各种组合,但由于某种原因,我的表单会显示为空白,除非我授予用户执行任何操作的完全访问权限。有什么想法吗?顺便说一句,我使用的是Access 2003。

您可以制作一个MDE并将其提供给您的用户。如果您这样做,用户将只能看到您提供的用户界面

如果表与表单和查询位于同一Access数据库中,则首先需要将数据库拆分为前端和后端。见:

有关如何执行此操作的信息。前端包含除表以外的所有内容。后端包含这些表。前端使用前端中的链接表对象链接到后端表

拆分数据库后,在Access中打开前端,并通过从菜单栏中选择Tools/database Utilities/Make MDE File来创建MDE。MDE是您向用户提供的。他们打开它的方式与打开任何其他数据库的方式相同,只是他们不能设计任何对象

确保在前端中定义了AUTOEXEC宏,以便当用户打开MDE时,它有一个入口点。用户看不到MDE中的任何对象,因此如果您没有AUTOEXEC宏来打开第一个表单,那么当用户尝试打开MDE时,将不会发生任何事情

如果需要通过允许用户使用文件/打开对话框连接到后端数据库来管理MDE中的链接表,请参阅以下文章:

当然,所有这些都不会阻止用户打开后端数据库。如果需要更高的安全性,可以将后端数据库升级为SQL Server Express。更多信息请点击此处:


您要查找的是RWOP查询。这意味着在拥有所有者权限的情况下运行

要使其正常工作,假设您已经在前端和后端数据库上运行了安全向导,并且删除了用户甚至读取表的权限,则可以创建一个保存的查询作为表单的记录源。在查询的属性中,默认设置为以用户权限运行权限。将其更改为所有者并保存查询。查询将以查询所有者对基表拥有的任何权限运行。如果您是以具有完全权限的管理员身份运行,则需要将已保存查询的权限设置为只读,或者在对表具有只读访问权限的用户登录下创建查询—前者更容易实现

一些警告:

用户级别的安全性很棘手。如果您错过了ULS安全白皮书中概述的哪怕一个步骤,您的应用程序将无法获得安全保护。测试方法是使用默认工作组文件打开Access,然后查看是否可以访问作为默认管理员用户登录的数据库中的对象。如果可以,那么你在这条线上的某个地方犯了个错误

用户级安全性是任何人都可以破解的。这并不意味着它没有用处,只是意味着它不是防弹的。我不担心这么多,因为我把安全问题看成是一个技术问题——你必须给员工足够的特权去做他们的工作,你相信他们不会滥用你给他们的特权。 如果您正在运行Access 2007并使用ACCDB格式,则RWOP查询对您不可用,因为ACCDB格式不支持Jet用户级安全性。如果您使用的是MDB格式,那么它在2007年就可以正常工作了


我在Access 2007中找不到此运行权限。。。有指针吗?如果您使用的是ACCDB,您将找不到,因为ACCDB格式不支持Jet用户级安全性。但是,如果您的文件是MDB,则它应该位于查询设计器的属性表中,即运行权限。