2009-06-15 58 views
0

在Microsoft Access 2007中,是否有可能僅當用戶通過表單進行編輯時才允許用戶選擇和更新數據?訪問 - 允許更新數據,但只能通過表格

我有一個表格,其中包含一個外表(反過來有另一個子表)的數據表。我希望用戶只能通過表單中的數據表編輯自己的內容。

運行SQL後端,因此可以使用存儲過程,它們只能執行那些具有EXECUTE權限的存儲過程。

編輯:

可以將表被隱藏在接入和用戶無法表現出來,除非它們是數據庫所有者?另外,如何讓子數據表運行存儲過程來更新,而不是直接編輯表?我想保持「向下鑽取」到相關表格中的能力。

回答

2

我想你已經回答了你自己的問題。

您可以使用存儲過程來檢索和更新您的數據,並拿走任何鏈接表或刪除UPDATE權限。

您將失去表單域中的便捷數據綁定,您必須在VBA中進行重新構建。

或者(爲了保持數據綁定),您可以將表單指向只讀數據源,並捕獲「Before Update」事件以執行實際更新,然後Access連接保存更新本身。這只是一個想法,但我還沒有測試過它是否有效。

1

如果您願意深入研究Jet User-Level Security,則可以使用戶不可讀取鏈接表,並使用RWOP(與所有者權限運行)查詢來允許在表單中進行編輯。當然,您會刪除對數據庫窗口的訪問權限,以防止它們運行RWOP查詢。這也可以通過在您使用RWOP查詢的表單中添加一個引用來加強,這將禁止它返回記錄,除非它在表單中運行。

相關問題