|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Доброго времени суток! Столкнулся с проблемой, решение которой пока не могу найти ни в подкорке своего мозга, ни в интернете. Мой xlsx-файл при помощи VBA обращается к базе данных MS Access 2010. Для "конструктивного диалога" с СУБД я использую переменные библиотеки ADODB. Обращения происходят неоднократно и из разных частей программы, поэтому в одном из модулей я объявил глобальную переменную. И здесь как раз начинаются проблемы. Дело в том, что прогоняю программу на двух компьютерах (оба на 32-разрядной Windows 7 с подключенной в Tools->References ADO-библиотекой). ---------------- Так вот, на компьютере А для объявления переменной и (в дальнейшем) создания соответствующего объекта я использую следующие строки кода: Код: vbnet 1. 2. 3.
или сразу Код: vbnet 1.
Однако, не доходя до выполнения первой строки кода (видимо, доходя до объявления переменной con ), компилятор, а с ним и весь Excel, безнадежно зависают. --------------- Тогда приходится открывать файл на компьютере Б и править код на: Код: vbnet 1. 2. 3.
И все вроде бы хорошо начинает работать на компе А , НО теперь на самом Б создается объект ConnectionObject отличный от нужного ADODB.Connection . --------------- ВНИМАНИЕ, ВОПРОС: В чем может быть проблема? И как можно ее исправить и гарантированно обойти подобные инциденты в будущем? Быть может я старомоден, и стоит использовать иные библиотеки? (другой язык прошу не предлагать) Большое спасибо! P.S. Не стал приводить полного текста, надеясь, что такого уровня абстракции будет достаточно ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 12:38 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Дмитрий Чуманов видимо , доходя до объявления переменной con Давайте без "видимо", найдите точную строку, на которой происходит зависание (пошаговым выполнением). Дело в том, что команда объявления переменной не является исполняемой (даже в случае с new), поэтому она зависать не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:01 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
разные версии ADODB или их отстутствие http://support.microsoft.com/kb/301202 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:04 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Konst_Oneразные версии ADODB или их отстутствие http://support.microsoft.com/kb/301202 можно просто Код: vbnet 1. 2.
заодно убедиться, что это хотя бы не зависает ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:07 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Shocker.ProДмитрий Чуманов видимо , доходя до объявления переменной con Давайте без "видимо", найдите точную строку, на которой происходит зависание (пошаговым выполнением). Дело в том, что команда объявления переменной не является исполняемой (даже в случае с new), поэтому она зависать не может. Моё "видимо" основано на том, что точку останова я установил на самой первой строке выполняемой процедуры, но и до ее выполнения дела не дошло ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:20 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
предложенный мной код работает? (в чистом файле, например) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:23 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Shocker.Proпредложенный мной код работает? (в чистом файле, например) Да. Версия: 6.1 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:25 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Shocker.Pro, только я немного не понял. В Reference'ах версия ADO 6.0, а здесь - 6.1. как так?) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:27 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Konst_One, мне удалось обойти проблему банальным переподключением библиотеки в Tools-References. Сейчас все заработало справно, но не дело это.. хочется добиться стабильной работы, а не ждать, когда система вновь так сбойнет ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:29 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
тогда используй позднее связывание ... |
|||
:
Нравится:
Не нравится:
|
|||
07.11.2014, 13:36 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
Konst_One, подробно изучу, что оно из себя представляет. Спасибо Но неужели нет универсального и простого решения данной проблемы? Или так всегда будет с подключаемыми библиотеками? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2014, 11:57 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
что всегда? это ваша программа, вы и должны обеспечить ей правильное окружение для работы. делайте сетапы или создавайте справки для пользователей как правильно настраивать, чтобы работало и тд и тп ... |
|||
:
Нравится:
Не нравится:
|
|||
11.11.2014, 12:29 |
|
Excel виснет из-за переменных ADODB
|
|||
---|---|---|---|
#18+
авторМой xlsx-файл при помощи VBA обращается авторвы и должны обеспечить ей правильное окружение для работы. делайте сетапы Вот о такой комбинации можно подробне? Как делать сетап для ексел-файла правильное направление подсказали автортогда используй позднее связывание Код: vbnet 1.
Тем более, что сам уже убедился авторВ Reference'ах версия ADO 6.0, а здесь - 6.1. как так?) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.11.2014, 01:13 |
|
|
start [/forum/topic.php?fid=60&msg=38801803&tid=2156132]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 161ms |
0 / 0 |