Доступ к запароленной базе данных Access из VB

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
Аватара пользователя
AlexZZZ
Сообщения: 236
Зарегистрирован: 01 июн 2007, 00:27
Откуда: Москва и область

28 сен 2010, 16:53

Уважаемые коллеги, добрый день!

Разместил данный вопрос в ветке 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
Ответить