Как не зависеть от версии DAO?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 661
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Как не зависеть от версии DAO?

Сообщение gjghjc » 06.11.2005 (Вс) 13:03

Кто нибудь знает КАК сделать чтобы программа сама определяла версию DAO установленную на машине пользователя? Потому как если в референсах указать например DAO 3.6 то прогу начинает тошнить на машине где стоит win98 и офис 97. Различные инсталляторы просьба не предлагать, этот вариант не подходит потому как у моего аккаунта в сети прав на установку может не хватить.
Утро добрым не бывает!

Sebas
Неуловимый Джо
Неуловимый Джо
Аватара пользователя
 
Сообщения: 3626
Зарегистрирован: 12.02.2002 (Вт) 17:25
Откуда: столько наглости такие вопросы задавать

Сообщение Sebas » 06.11.2005 (Вс) 18:35

Использовать позднее связываение.

Dim dbe as object
Set dbe = CreateObject("DAO.DBENGINE") ' или что чтот типа того)))
- Я никогда не понимал, почему они приходят ко мне чтобы умирать?

sebas<-@->mail.ru

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 07.11.2005 (Пн) 11:01

Sebas писал(а):Использовать позднее связываение.

Dim dbe as object
Set dbe = CreateObject("DAO.DBENGINE") ' или что чтот типа того)))


Может лучше попробовать положить DLL-ку DAO в каталог программы?
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 661
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 07.11.2005 (Пн) 20:18

2 Sebas Именно этот вариант решения я и имел ввиду....
А вот так мне ответил VB на мои попытки
ActiveX component can't create object

Нужно именно оно позднее связыванее но вот как его осуществить... Подскажите плиз
Утро добрым не бывает!

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Сообщение Andrey Fedorov » 08.11.2005 (Вт) 8:59

gjghjc писал(а):Нужно именно оно позднее связыванее но вот как его осуществить... Подскажите плиз


Просто версию DAO при позднем связывании надо указывать явно, например:

Код: Выделить всё
Set dbe = CreateObject("DAO.DBEngine.36")
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 661
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 09.11.2005 (Ср) 21:23

2 Andrey Fedorov за пример спасибо... работает.
Вопрос следующий КАК ОПРЕДЕЛИТЬ КАКАЯ ВЕРСИЯ DAO УСТАНОВЛЕНА. :( :( :(
Утро добрым не бывает!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 09.11.2005 (Ср) 23:09

on error resume next
set obj = createobject("DAO.DBEngine.36")
if obj is nothing then set obj = createobject("DAO.DBEngine.35")
on error goto 0
if obj is nothing then msgbox "Облом"
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

gjghjc
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 661
Зарегистрирован: 13.10.2002 (Вс) 8:28
Откуда: БАЛАКЛАВА!!

Сообщение gjghjc » 10.11.2005 (Чт) 7:36

2 GSerg Спасибо, вариант с перебором мне самому на ум приходил. В принципе он меня устраивает. Я думал что есть другие варианты решения этого вопроса.
Всем спасибо за помощь.
Утро добрым не бывает!

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 10.11.2005 (Чт) 12:18

Есть другие варианты.
Смотреть HKLM\Software\Classes на предмет раздела, начинающегося с DAO.DBEngine.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList