Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ms access MS Access中链接表的控制权限_Ms Access - Fatal编程技术网

Ms access MS Access中链接表的控制权限

Ms access MS Access中链接表的控制权限,ms-access,Ms Access,恐怕我已经知道这个问题的答案了,但我正在与社区核实,以防有什么我不知道的 是否可以让MS Access表将功能控制权限链接到链接表?安全地说,FE.accdb是否可以对BE_A.accdb拥有读/写权限,但可以将只读链接设置为BE_B.accdb(而不使BE_B.accdb完全为R/O)?排序 引用大卫·芬顿的话: 一种方法是删除链接的 表,并创建要替换的查询 它们(您可以使用相同的名称 将查询作为相应的链接 表),并在中使用连接字符串 查询并设置记录集类型 到快照,该快照将是只读的 默认情况下

恐怕我已经知道这个问题的答案了,但我正在与社区核实,以防有什么我不知道的

是否可以让MS Access表将功能控制权限链接到链接表?安全地说,FE.accdb是否可以对BE_A.accdb拥有读/写权限,但可以将只读链接设置为BE_B.accdb(而不使BE_B.accdb完全为R/O)?

排序

引用大卫·芬顿的话:

一种方法是删除链接的 表,并创建要替换的查询 它们(您可以使用相同的名称 将查询作为相应的链接 表),并在中使用连接字符串 查询并设置记录集类型 到快照,该快照将是只读的 默认情况下

我最近才有机会亲自做这件事。我问了一个有关通过VBA将querydef记录集类型设置为snapshot的相关问题

您可以调整以下代码以执行所需操作:

Sub ReadOnlyLink(MDBPath As String, TblName As String, SrcTblName As String)
Dim q As DAO.QueryDef
    Set q = CurrentDb.CreateQueryDef(TblName, "SELECT * FROM " & SrcTblName & _
                                              " IN """ & MDBPath & """")
    q.Properties.Append q.CreateProperty("RecordsetType", dbByte, 2)
End Sub

这并不是一个真正的答案,但它太长了,无法发表评论。由我接受的答案引发的思考

似乎可以将其用于用户级“安全性”:

  • 建立一个
  • 使用故意断开的链接设置可分发FE
  • 在FE启动中,获取用户名(API调用)
  • 在选择的案例中运行用户名,根据需要将其重新链接为real table或querydef。在选择之前使用用户名->角色查找可能更好

嗯,我得再想一想。。。。不是防弹的,但不是真正想要的。更多的是一种将更新责任分配给相应领域专家的用户的方法。不知道这是否真的有道理。

哇。我没想到会有一个积极的回答(正如你可能从最初的措辞中猜到的)。我不知道我的需求是否足够强烈,是否有理由这样做,但现在我知道了。谢谢我认为Access开发团队的立场是,安全性(以及用户对数据的访问)是一个后端问题,如果需要这样做,必须使用提供安全性和访问控制的数据库引擎。可以是Jet(MDB格式),也可以是SQL Server或其他任何格式。ACCDB在这方面没有提供任何东西(忽略愚蠢的数据库密码,它们只不过是安全的)。所以,也许你需要重新考虑你的后端数据库。在这一点上,你没有选择后端的权利——客户端的要求比访问控制的优先级更高。我更希望有一台SQL Server是。。。。