2011-12-28 31 views
1

我開發了一個系統,其中一組用戶(現在50人左右)連續註冊數據並查看註冊數據。系統將數據存儲在Access數據庫中,並且我目前對所有用戶使用連接模式adModeShareDenyNone,以便數據庫永不鎖定對數據庫的訪問。有沒有辦法使用ADO打開共享Access數據庫的共享只讀連接?

然而,它已經被要求開發一個簡單的Excel工作表作爲一個接口,用戶可以寫一個sql select語句,然後根據這個(通過VBA)檢索數據到工作表。這非常簡單,我創建了這樣的操作,但是我希望它可以防止操作語句(插入,更新,刪除)的執行,即充當只讀系統。

但是,我似乎無法找到一種方法來做到這一點,而不鎖定其他用戶的數據庫,這是不行的,因爲數據庫是由多個用戶不斷使用。有沒有辦法做我想要的?我想過其他連接模式,但它們(除了adModeShareDenyNone)似乎都適用某種鎖定。

+0

爲了澄清,用戶輸入自己的SQL語句?如果是這樣,你能不能通過VBA驗證/限制字符串,然後才允許執行它? – joshua9k

回答

1

adModeRead怎麼樣?這表示只讀權限和不共享。

+0

+1絕對地,read_only連接是答案,這也應該避免任何鎖定問題 –