2015-02-06 171 views
1

我有一個MS Access數據庫,其中所有的用戶將在同一個組中,除了少數幾個。我不需要限制用戶的某些對象。相反,我需要將當前用戶寫入功能賦予其記錄及其相關記錄,並將所有其他記錄的只讀功能賦予該功能。這可能嗎?MS Access - 記錄級安全

回答

2

不幸的是,無論是Access,SQL服務器還是Oracle,對單個用戶的行限制都不是內置的。這意味着您必須構建某種類型的接口來抓取/使用用戶登錄ID(他們的網絡電腦ID,或說提示輸入用戶名+密碼)。然後,當表單加載時,您必須將記錄限制爲給定用戶的記錄。有很多方法可以做到這一點,它們都是過濾或限制數據的標準方法。然而,「你」必須在表單中編寫這樣的代碼。您可以使用表達式(VBA或宏TempVars)將表單基於查詢來限制返回給定用戶的記錄。

所以你必須爲大多數數據庫「烹飪」和「編碼」這種能力。因此,您還需要編碼以「保存」創建記錄的用戶名。當需要將數據限制爲單行時,大多數系統都需要這種編碼要求,而這些功能一般不會內置到數據庫系統中。您也可能需要限制和防止用戶打開數據庫並查看錶格視圖。

+0

感謝您的回覆,Albert!我最終做了類似於你的建議。如果NetworkUser的ID與所選項目的ID不匹配,我寫了一些禁用並鎖定列表框的代碼。他們可以閱讀任何內容,但不能寫任何東西。似乎工作很好。再次感謝您的輸入。 – Brian 2015-02-10 01:51:54