|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
На разных листах книги экселя-2007 есть несколько внешних данных из MS SQL (получены с помощью меню ДАННЫЕ-Из других источников-С сервера SQL Server). Нужно менять строку подключения для всех них периодически. Т.е. как-то надо по всем экземплярам коллекции QueryTables пройтись, но понять не могу. Просто получить число QueryTable на конкретном листе не получается: Код: vbnet 1. 2.
возвращает ноль. Как быть?! ----- Не люблю Progress OpenEdge. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 16:22 |
|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
кладовщик, смотри внутри ListObjects. Хотя, есть же коллекция подключений в книге (Workbook.Connections). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2012, 20:12 |
|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
По сабжу не подскажу, т.к. не доводилось работать конкретно с QueryTables(предпочитаю ADO), но из опыта работы с БД в целом, если файл не одноразовый, лучше такие вещи как строки подключения собирать в одном месте. Например, в глобальных переменных, или свойствах книги или на отдельный лист...Даже если для этого придётся кодить все QueryTables. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2012, 00:18 |
|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
basicvкладовщик, смотри внутри ListObjects. Хотя, есть же коллекция подключений в книге (Workbook.Connections). С ListObjects вообще не смог разобраться, с Workbook.Connections худо-бедно получил ThisWorkbook.Connections(i).OLEDBConnection.Connection. Но непонятно, как быть, если существуют помимо OLEDBConnection еще PivotCache.Connection и OLEDBConnection? ElenHim По сабжу не подскажу, т.к. не доводилось работать конкретно с QueryTables(предпочитаю ADO), но из опыта работы с БД в целом, если файл не одноразовый, лучше такие вещи как строки подключения собирать в одном месте. Например, в глобальных переменных, или свойствах книги или на отдельный лист...Даже если для этого придётся кодить все QueryTables.Это я прототип по-быстрому сделал, чтобы в Экселе интерфейс отладить. Так-то в дальнейшем, скорее всего, большую часть внешних данных ч-з ADO буду получать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 09:58 |
|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
кладовщиккак быть, если существуют помимо OLEDBConnection еще PivotCache.Connection и [s]OLEDBConnection? ... как быть, если существуют помимо OLEDBConnection еще PivotCache.Connection и ODBCConnection.Connection? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 10:06 |
|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
кладовщик, незнаю почему у тебя получается худо-бедно. По-моему всё достаточно просто - 1. PivotCache должна изпользовать одно из глобальных подключений, 2. у Workbook.Connection есть два своиства: OLEDBConnection и ODBCConnection - смотри которое из них заполнено и меняй. Замена через QueryTable: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
Замена через Connection: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 16:23 |
|
Как изменить строку подключения для всех внешних данных (Excel-2007)
|
|||
---|---|---|---|
#18+
basicv, вот спасибище. Думал, все вар-ты с исп-м ListObjects перепробовал, но до правильного вар-та Worksheets("temp").ListObjects(i).QueryTable.Connection не докрутил. А насчет 2-го предложенного вар-та у меня уже потом, после написания поста, идеи возникли. Попробую завтра проверить на рабочем примере. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2012, 18:35 |
|
|
start [/forum/topic.php?fid=61&msg=37895729&tid=2175511]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 445ms |
0 / 0 |