使用Access 2003 MDB,我们可以设置一个不允许或阻止对象导出的固有MDB属性吗?换句话说,假设MDB为“A”和“B”。如果我在“B”并尝试从“A”导入对象(即文件|获取外部数据|导入),我们希望它失败,因为“A”设置了一些属性来锁定其导出对象的能力。
答案 0 :(得分:0)
在“保持诚实的人诚实”的标题下,一种对我有用的简单方法......
打开后端MDB数据库'exclusive'并在其上输入密码。 (但是,将共享常规打开模式。)随后在前端,必须重新链接来自passworded数据库的链接表。这样做,Access需要密码。这些表现在可以完全用于前端。
现在,当我们对now-passworded数据库执行任何操作时,无论是简单地打开它,从中导入对象还是链接到其中的表,都需要密码。在我的情况下,这种“封锁”足以满足要求。
答案 1 :(得分: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")
这适用于我的情况,因为该表仅被简要使用。如果它是一个经常使用的表,聪明的用户可能会绕过它。