0

是否有可能在 Microsoft Access 2007 中允许用户仅在通过表单进行编辑时选择和更新数据?

我有一个表格,其中包含一个外部表的数据表(它又具有另一个子表)。我希望用户只通过表单中的数据表编辑他们自己的内容。

运行 SQL 后端,因此可以使用存储过程,并且它们只能执行他们拥有 EXECUTE 权限的那些。

编辑:

表是否可以隐藏在 Access 中并且用户无法显示它,除非他们是数据库所有者?或者,如何让子数据表运行存储过程来更新,而不是直接编辑表?我想保持“深入”到相关表格的能力。

4

2 回答 2

2

我想你已经回答了你自己的问题。

您可以使用存储过程来检索和更新您的数据,并删除任何链接表或删除对它们的 UPDATE 权限。

您将失去表单字段中方便的数据绑定,您必须在 VBA 中对其进行改造。

或者(为了保持数据绑定)您可以将表单指向只读数据源并捕获“更新前”事件以进行实际更新,然后在 Access 绑定以保存更新本身之前。这只是一个想法,我还没有测试它是否有效。

于 2009-06-15T13:43:35.480 回答
1

如果您愿意深入研究 Jet 用户级安全性,您可以使链接表不被用户读取,并使用 RWOP(以所有者权限运行)查询来允许在表单中进行编辑。当然,您会删除对数据库窗口的访问权,以防止它们运行 RWOP 查询。这也可以通过引用您正在使用 RWOP 查询的表单来增强,这将禁止它返回记录,除非它在表单内运行。

于 2009-06-15T23:55:41.243 回答