Тема: Работа с базами данных в VBA

Уважаемые специалисты!
В VBA приложении делается попытка
открыть вазу данных созданной на основе
Microsoft Jet, (DAO 350.dll). Все попытки открыть
или создать базу данных заканчиваются сообщением AutoCAD:  "ActveX component can't create object".
Ошибка происходит при попытке создать Workspace :
Set wrkDefault = DBEngine.Workspaces(0) <-- В этом месте
'появляетсе вышеупомянутое сообщение и выброс.
Set db = wrkDefault.CreateDatabase(sDBLocation, _
         dbLangGeneral, dbEncrypt)

В References подключена библиотека Dao3.51. Файл Dao350.dll  находится в Microsoft Shared\Dao и зарегистрирован.
Что любопытно. что после истоляции VB 6, программа работает без проблем. Что еще  интересно. еще до инстоляции VB 6, я попробовал изменить в References Dao 3,51, на Dao 3.6 Object Library. И что же? Программа нормально запустилась. Может быть кто-то работет с
базами данных и встречался с подобной проблемой? Во всяком случее ясно одно. что VB 6 что-то добавляет. но так быть не должно. VBA поставляется совместно с AutoCAD. и. кроме всего с библиотекой Dao 3.6 пограмма нормально работает. так почему с Dao 3.51 не хочет
без VB 6?

  Огромная благодарность всем
  BBS

Re: Работа с базами данных в VBA

С ADO, Автокад работает без проблем, без VB6, может стоит задуматься о переходе на него.

Re: Работа с базами данных в VBA

Попробуй без создания Workspace :
Set db = CreateDatabase(sDBLocation, dbLangGeneral, dbEncrypt)

Помнится, когда я работал с DAO smile, Workspace практически никогда не создавал, можно и без него, а вообще переходи на ADO, проблем поменьше и работает быстрее...

Re: Работа с базами данных в VBA

Спасибо Ивану!
  Я просмотрел свои прошлые проекты, я там
тоже workspace не образовывал, а попытка
сейчас сделать все правильно не удалась.
Вывод один: только ADO
BBS