2011-05-10 125 views
1

使用Access 2003 MDB,是否有一個固有的MDB屬性,我們可以設置爲禁止或阻止對象導出?換句話說,假設MDB爲「A」和「B」。如果我在「B」並嘗試從「A」導入對象(即文件|獲取外部數據|導入),我們希望它失敗,因爲「A」已設置某些屬性來鎖定其導出對象的功能。Access 2003 MDB屬性

+0

我不確定,但可能會創建一個在執行此操作之前執行事件的宏? – 2011-05-10 18:51:57

回答

0

在「保持誠實的人誠實」,一個簡單的方法,將工作對我來說的標題...

打開後端數據庫MDB「獨家」並在其上放上一個口令。 (雖然普通的開放模式將被共享。)隨後在前端,密碼數據庫中的鏈接表必須重新鏈接。這樣做,Access需要密碼。這些表格現在可以在前端完全使用。

現在,當我們對現在密碼良好的數據庫進行任何操作時,不管是簡單地打開它,還是從其中導入對象或鏈接到其中的表格,都需要密碼。這種'封鎖'就足以滿足我的要求。

0

剛纔有一個非常類似的問題。在我的情況下,我想保留用戶的後端密碼,因爲那裏有非常少量的敏感數據(並且我不希望他們太容易搞亂其他東西)。

特別是我不希望他們有任何訪問權限,或者至少是儘量減少他們獲得對此表的讀取/寫入權限的機會。

幸運的是,只需要很短的時間此表,所以,當我需要它,我使用一些代碼的鏈接添加到表的後端數據庫,使用該表,然後刪除鏈接後它完成了。

添加表的代碼:

Dim db As Database, tbl As TableDef 
Set tbl = New TableDef 
With tbl 
    tbl.Name = "SecretTable" 
    tbl.SourceTableName = "SecretTable" 
    tbl.Connect = "MS Access;PWD=BackendPassword;DATABASE=c:\location of database\Backend.mdb" 
End With 
Call db.TableDefs.Append(tbl) 

的代碼刪除該表已被使用後:

Dim db As Database 
Set db = CurrentDb 
Call db.TableDefs.Delete("SecretTable") 

這工作在我的情況,因爲該表是隻是簡單地使用。如果它是一張不斷使用的桌子,聰明的用戶可能會繞過它。