|  | 
| 
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?desktop=1&fid=60&tid=2156132]: | 0ms | 
| get settings: | 8ms | 
| get forum list: | 11ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 34ms | 
| get topic data: | 10ms | 
| get forum data: | 2ms | 
| get page messages: | 50ms | 
| get tp. blocked users: | 1ms | 
| others: | 10ms | 
| total: | 132ms | 

| 0 / 0 | 
