Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Программное изменение пути к БД в Access через макрос / 4 сообщений из 4, страница 1 из 1
04.02.2008, 18:22:56
    #35109139
Ksel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное изменение пути к БД в Access через макрос
Исходня задача: БД на Access, клиент - в excel, сводная таблица
Если изменить месторасположение БД - перестает видеть источник, пишет: Сбой подключения к драйверу ODBC MS Access,
несмотря на то, что есть макрос, который редактирует Connection и прописывает новый правильный путь.
В сообщении об ошибке указан старый путь.
Возникает вопрос: где этот старый путь сохраняется и как его исправить?
Заранее спасибо
...
Рейтинг: 0 / 0
04.02.2008, 19:43:02
    #35109272
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное изменение пути к БД в Access через макрос
Код: plaintext
ActiveWorkbook.PivotCashes( 1 ).Connection = ......
...
Рейтинг: 0 / 0
04.02.2008, 22:01:07
    #35109400
Ksel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное изменение пути к БД в Access через макрос
Спасибо, только снова ошибка лезет
А макрос использует в принципе схожую с Вашей структуру:
For Each ws In ActiveWorkbook.Sheets
For Each pt In ws.PivotTables
pt.PivotCache.Connection = _
Application.Substitute(pt.PivotCache.Connection, _
OldPath, NewPath)

pt.PivotCache.Refresh - вот здесь она и падает и старый путь предъявляет
Next pt
Next ws
...
Рейтинг: 0 / 0
04.02.2008, 23:55:12
    #35109482
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Программное изменение пути к БД в Access через макрос
Похоже, да не совсем. Сделай так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
  For Each pc In ActiveWorkbook.PivotCaches
      Debug.Print "Old = " & pc.Connection
      pc.Connection = Application.Substitute(pt.PivotCache.Connection, OldPath, NewPath)
      Debug.Print "New = " & pc.Connection
      pc.Refresh
  Next pc

  For Each ws In ActiveWorkbook.Sheets
        For Each pt In ws.PivotTables
            pt.RefreshTable
        Next pt
  Next ws
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Программное изменение пути к БД в Access через макрос / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]