如何限制对 Access 中某些列的访问

Posted

技术标签:

【中文标题】如何限制对 Access 中某些列的访问【英文标题】:How to restrict access to only some columns in Access 【发布时间】:2015-12-10 23:27:37 【问题描述】:

在 Access 2013 中,我有一个链接到 SQL 服务器的视图。 Access 表更新到视图的内容,并在我编辑它时将更改写回服务器。基本的东西。

假设用户对该视图及其在 SQL 服务器上的关联表具有读写访问权限。自然,他们将能够使用 Access 编辑所有列。我将如何限制他们在 Access 中编辑某些选定的列,以防止意外更改主键和其他重要数据?

【问题讨论】:

您能解释一下为什么发布此问答吗? @Morpheus:这是我遇到的一个问题,我在网上找不到简单的解决方案。 SO 可以选择“回答您自己的问题 - 分享您的知识,问答式”,我这样做是为了他人的利益。 很高兴知道。这是其他可能想知道同样事情的人的链接:***.com/help/self-answer 【参考方案1】:

由于在将表扩展到大尺寸时的性能问题,这不是 Access 中的功能。

一个简单的解决方法是在 SQL 服务器上的视图定义中添加一个空字符串或其他无关紧要的值。比如把[Product ID]改成[Product ID]+''

在使用视图时,Access 将接受您所做的任何编辑并将其通过视图传播回原始表,但它不能对具有计算的派生字段执行此操作。通过使列派生,Access 将无法编辑该列,从而有效地限制了用户。视图中的其他列仍会正常更新。

【讨论】:

以上是关于如何限制对 Access 中某些列的访问的主要内容,如果未能解决你的问题,请参考以下文章

如何限制对当前文件的某些功能或对象的访问?

数据权限 摘抄

如何限制对依赖 Internet 连接的 ViewController 的访问?

通过 IP 限制对 CloudFront 的访问

Matlab:如何限制对抽象类方法子类的访问

PHP 定时任务获取微信 access_token