使用VBA 批量快速修改Access数据库密码

2022-04-06 00:00:00 修改 数据库 密码 独占 打开

有时,我们需要批量修改很多数据库的密码,如果手工独占逐个去打开数据库,费时费力,所以可以使用下面的自定义函数 gf_ChangeDbPassword ,来批量快速修改数据库的密码,原理: 是使用VBA独占打开数据库(使用旧密码),然后再修改密码为新密码:


Public Function gf_ChangeDbPassword(strDbPath As String, _

strNewPass As String, strOldPass As String) As Boolean

'说明: 修改数据库密码

'参数:

' strDbPath: 要修改的数据库完整路径

' strNewPass: 新密码

' strOldPass :旧密码

' 成功返回 True 失败 返回 False


If Dir(strDbPath) = "" Then Exit Function


Dim db As DAO.Database


On Error Resume Next

Set db = OpenDatabase(strDbPath, True, False, ";pwd=" & strOldPass

If Err.Number <> 0 Then Exit Function

db.newPassword strOldPass, strNewPass

gf_ChangeDbPassword = Err.Number = 0

db.Close


End Function

注意:Access数据库如果双击打开,就不是独占方式,所以如果要手工修改密码,必须在手工打开数据库文件时,主动设置为独占打开才行,如图所示:



所以手工去改密码需要很多个步骤,甚是麻烦 ,而使用上面我们这个自定义函数,可以循环批量快速设置很多数据库的密码。非常方便。

来源 https://zhuanlan.zhihu.com/p/433492496

相关文章