簡體   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