处理加了密码的MDB数据库文件当 MDB 文件加了密码,直接由 access 打印MDB文件时,会出现密码对话框,询问密码。但是若要由 VB或BA程序中打印,必須更改B和VBA序中打开MDB文件的指令,否则会出现错误信息!以下针对各种情况,分別加以说明:
1、 使用 DAO 命令打开MDB文件:
OpenDatabase 若要由程序中打开,命令如下:
Set DB = OpenDatabase(DatabaseName, False, False, ";Pwd=密码")
实例:
Dim db As Database
Set db = OpenDatabase("C:\db1.mdb", False, False, ";Pwd=1")
若要使用 Data 控件,设定方法如下:
(1)、设定 DatabaseName 属性 (MDB文件名称 / 含路径)
(2)、设定 Connect 属性,將预设的字串 "access" 改成 ";Pwd=密码" (不含双引号)
(3)、设定 RecordSource 属性
2、使用 ADO 命令打开MDB文件:
在使用 ADODC 或 DataEnvironment 设定好之后,直接利用属性窗口修改 ConnectionString 属性(附属于 ADODC) 或 ConnectionSource 属性(附属于 DataEnvironment 的 Connection 控件),修改的方法是在属性之后增加以下参数:
;Jet OLEDB:Database Password=密码除了 ADODC 及 DataEnvironment 之外, 直接使用 ADO 控件來打开含有密码的 mdb MDB文件,设定参数的方法也是相同的。
3、压缩加了密码的MDB文件:
CompactDatabase DBEngine.CompactDataBase "原MDB文件", "新MDB文件", , , ";pwd=密码"实例例如:DBEngine.CompactDatabase "C:\Db1.mdb", "C:\Db2.mdb", , , ";pwd=1"
4、复加了密码的MDB文件: RepairDatabase 不必理会MDB文件设定的密码!DBEngine.RepairDataBase "MDB文件"实例例如:DBEngine.RepairDataBase "C:\Db1.mdb" 以下给出一个函数可以使用DAO打开带密码保护的MDB数据库文件:Public Function OpenPasswordProtectedDatabase(DBPath As String, _ Password As String) As Object On Error Resume Next Dim db As DAO.Database Set db = DAO.OpenDatabase(DBPath, False, False, _ ";pwd=" & Password) If Err.Number = 0 Then Set OpenPasswordProtectedDatabase = db Else Set OpenPasswordProtectedDatabase = Nothing End If End Function其中参数DBPath为数据库文件的有效路径名称;参数Password为密码。该函数需要引用DAO数据库才有效。 如何调出工作组对话框调出“用户与组帐号”对话框:DoCmd.DoMenuItem acFORMBar, 6, 5, 2, acMenuVer70 调出“用户与组权限”对话框:DoCmd.DoMenuItem acFORMBar, 6, 5, 1, acMenuVer70 以上语句在office2000里测试通过