繁体   English   中英

MS-Access中对链接表的控制权

[英]Control Rights to Linked Tables in MS-Access

恐怕我已经知道答案了,但是我正在与社区核对,以防万一我不知道...。

是否可以具有MS Access表链接功能对链接表的控制权? 具体地说,FE.accdb可以对BE_A.accdb拥有读/写权限,但可以指向BE_B.accdb的只读链接(而不能使BE_B.accdb完全成为R / O)吗?

有点。

今年早些时候在另一个论坛上引用大卫·芬顿的话:

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

我最近才有机会自己做。 我问了一下设置的QueryDef记录类型通过VBA进行快照的相关的问题在这里

您可以修改以下代码以执行所需的操作:

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

这并不是真正的答案,但是评论太长了。 我接受的答案引发了一些想法。

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

  • 设置BE
  • 设置有意断开的链接的可分配FE
  • 在FE启动中,获取用户名(API调用)
  • 通过Select Case运行用户名,并根据需要重新链接为真实表或querydef。 最好在Select之前通过用户名->角色查找来做到这一点。

还需要考虑一些其他问题。...不是防弹的,但并不是真正想要的。 一种将负责更新的责任划分给作为各自域专家的用户的方法。 不知道这是否真的合理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM