Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сводная таблица из MS SQL2000 / 5 сообщений из 5, страница 1 из 1
27.09.2006, 08:07:00
    #34014328
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица из MS SQL2000
Подскажите plz!
Создана сводная таблица в MS Excel 2000. Данные берутся из хп расположенной на SQL Server2000. Источник данных описан в пользовательском DSN.
Проблема в том, что если SQL Server был переустановлен и ему присвоено другое имя, то никаким образом сводная таблица его не видит, хотя и источник данных поменял и если создавать новую сводную таблицу, то все ок.
Заранее благодарен.
...
Рейтинг: 0 / 0
27.09.2006, 19:13:53
    #34017016
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица из MS SQL2000
1) Проверяй файловые DSN. Эксель создает файловый DSN на основе пользовательского а потом работает с этим файловым.
2) Возможно данные коннекта переопределены внутри самого xls.

В VBA запусти макрос такого типа:
Код: plaintext
1.
2.
3.
4.
Set pt = ActiveSheet.PivotTable( 1 )
Set ws = ActiveWorkbook.Worksheets.Add
For i = LBound(pt.SourceData) To UBound(pt.SourceData)
    ws.Cells(i,  1 ) = pt.SourceData(i)
Next i
Получишь полное описание коннекта которое делает твоя сводная таблица к базе. От этого уже будешь знать куда плясать.
...
Рейтинг: 0 / 0
28.09.2006, 07:50:02
    #34017526
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица из MS SQL2000
White Owl1) Проверяй файловые DSN. Эксель создает файловый DSN на основе пользовательского а потом работает с этим файловым.
2) Возможно данные коннекта переопределены внутри самого xls.

В VBA запусти макрос такого типа:
Код: plaintext
1.
2.
3.
4.
Set pt = ActiveSheet.PivotTable( 1 )
Set ws = ActiveWorkbook.Worksheets.Add
For i = LBound(pt.SourceData) To UBound(pt.SourceData)
    ws.Cells(i,  1 ) = pt.SourceData(i)
Next i
Получишь полное описание коннекта которое делает твоя сводная таблица к базе. От этого уже будешь знать куда плясать.
Вот насчет второго пункта. А как в нутри самого xls переопределить данные коннекта? Честно говоря, я в VBA очень не силен((
Есть Sheet1.PivotTables(1).PivotCache.CommandText = "SQL Запрос"
И вместо CommandText ничего написать не удается((
...
Рейтинг: 0 / 0
28.09.2006, 08:12:09
    #34017544
Andrewd
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица из MS SQL2000
Ваш макрос выдал ответ:
Код: plaintext
DSN=MYDSN;UID=gsv;APP=Microsoft Office  2003 ;WSID=K86K10K3;DATABASE=MYDATABASE;Network=DBMSSOCN;Address=SQLSERVER, 1433 ;Trusted_Connection=Yes
Собственно мне бы как-нить ему поменять Address...
...
Рейтинг: 0 / 0
29.09.2006, 18:58:36
    #34023415
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сводная таблица из MS SQL2000
AndrewdВот насчет второго пункта. А как в нутри самого xls переопределить данные коннекта? Честно говоря, я в VBA очень не силен((
примерно так:
Код: plaintext
1.
2.
3.
4.
5.
6.
dim sConnectString as String, aSlicedConnectString as Variant
sConnectString = "длинная строка коннекта, можно без использования DSN"
aSlicedConnectString = Array(len(sConnectString)/ 255  +  1 )
for i =  1  to UBound(aSlicedConnectString)
   aSlicedConnectString[i] = mid(sConnectString, i* 255 ,  255 )
next
Sheet1.PivotTables( 1 ).SourceData = aSlicedConnectString
или так:
Код: plaintext
1.
Sheet1.PivotTables( 1 ).PivotCache.Connection = "длинная строка коннекта, можно без использования DSN"

AndrewdЕсть Sheet1.PivotTables(1).PivotCache.CommandText = "SQL Запрос"
И вместо CommandText ничего написать не удается((Нуууу.... значит читай документацию внимательнее :)
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Сводная таблица из MS SQL2000 / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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