Разместил данный вопрос в ветке VBA, но здесь, надёюсь, мне скорее могут помочь.
Вопрос по доступу из к запароленной базе данных Access. Есть такой код VBA:
Код: Выделить всё
Dim DBFullName As String, UsID As String, PW As String
DBFullName = ThisWorkbook.Path & "\" & "БазаДанных1.mdb"
UsID = "User"
PW = "12345"
Set cn = CreateObject("ADODB.Connection")
cn.Provider = "Microsoft.Jet.OLEDB.4.0"
cn.ConnectionString = "UserId=" & UsID & ";Password=" & PW & ";Data Source =" & DBFullName
cn.Open
"Ошибка -2147217843:
Не удается запустить приложение. Системная база данных отсутствует или открыта с монопольным доступом другим пользователем."
Другой вариант доступа:
Код: Выделить всё
Set cn = New ADODB.Connection
Cnct = "Provider=Microsoft.Jet.OLEDB.4.0; "
Cnct = Cnct & "Data Source=" & DBFullName & ";"
cn.Open ConnectionString:=Cnct, UserId:=UsID, Password:=PW
При этом доступ к незапароленной базе данных удаётся без проблем.
Никто другой к этой базе не подключён, пароль вводится правильный.
Будьте добры, подскажите, кто знает, в чём ошибка?
Заранее благодарен!
P.S.: Большое спасибо, разобрался сам:
Код: Выделить всё
cn.ConnectionString = "Jet OLEDB :D atabase Password=" & PW & ";Data Source =" & DBFullName