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

时间:2011-02-01 19:39:39

标签: ms-access

我担心我已经知道了答案,但我正在与社区核实,以防有些事情我不知道....

是否可以将MS Access表链接到链接表的功能控制权限?确切地说,FE.accdb可以在BE_A.accdb上具有读/写权限,但是只读链接到BE_B.accdb(不使BE_B.accdb完全是R / O)?

2 个答案:

答案 0 :(得分:1)

排序。

post earlier this year on another forum引用David Fenton:

  

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

我最近有机会自己这样做。我问了一个关于通过VBA here将querydef记录集类型设置为快照的相关问题。

您可以调整以下代码以满足您的需求:

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

答案 1 :(得分:0)

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

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

  • 设置BE
  • 使用故意破坏的链接设置可分发的FE
  • 在FE启动中
  • 获取用户名(API调用)
  • 通过Select Case运行用户名,根据需要重新链接为real table或querydef。使用用户名可能会更好 - >选择之前的角色查找。

嗯。不得不考虑更多......不是防弹,但不是真的打算。更多的方法是将更新责任分配给相应领域专家的用户。不知道它是否真的合理。