The syntax for opening a password-protected Jet database might not be obvious. In fact, assigning the password to the Password property in the ConnectionString raises the following error:
Run-time Error: 2147217843 (80040e4d)
Cannot start your application. The workgroup information file is missing or _
openened exclusively by another user.
Instead, you must assign your password to the
Jet OLEDB:Database Password dynamic property:
Dim cn As New ADODB.Connection
cn.Provider = "Microsoft Jet 4.0 OLE DB Provider"
cn.ConnectionString = "Data Source=c:\db1.mdb"
cn.Properties("Jet OLEDB:Database Password") = "mypwd"
cn.Open
Of course, you can reach the same result and write more concise code by embedding all values in the connection string:
Dim cn As New ADODB.Connection
cn.Open "Provider=Microsoft Jet 4.0 OLE DB Provider;Data Source=c:\db1.mdb;Jet " _
& "OLEDB:Database Password=fb"