设置密码后无法从VBA连接到MDB

我在我的VBA(Excel)没有一个密码的MDB连接工作正常,但我决定在我的MDB文件中设置一个密码,然后我写在连接代码的密码,但它不工作! 我收到一条消息:

“无法启动您的应用程序,工作组信息文件丢失或由其他用户独占打开”

我正在试图find一个解决方法,但没有为我工作。 有人知道如何解决它

这里是代码:

Public Function OpenMDB(ByRef MDBname As String) As Variant Dim DBConnection As ADODB.Connection On Error Resume Next Set DBConnection = New ADODB.Connection With DBConnection .Provider = "Microsoft.ACE.OLEDB.12.0" .Mode = adModeShareDenyNone .Open MDBname, UserId:="Administrador", Password:="ABC123", Options:=adAsyncConnect End With If Err.Number <> 0 Then Set OpenMDB = Nothing MsgBox "Error on DB", "Error to connect" End Else Set OpenMDB = DBConnection End If End Function 

只是为了澄清,MDBname具有MDB的path(它是正确的)UserId:=“Administrador” – Administrador是pipe理员(葡萄牙语)

请! 我需要解决它! :S

而不是With方法,请尝试使用连接string。 看三种可能的方法 。

 strConn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source Name=" & MDBNAME & ";" & _ "Jet OLEDB:Database Password=ABC123" DB.Connection.Open strConn 

其他一些build议:

在较早的MDB数据库中,安全级别是特定于用户工作组的特征。 请确保在整个文件级别设置数据库密码,而不是用户组级别,可能是Administrador用户。

检查机器上的32位/ 64位级别的OLE / ODBC驱动程序 。 最后,考虑将Provider改为早期的Jet.OLEDB版本。 看到这个SOpost 。