Страницы: 1
RSS
Как перезаписать PivotCache у существующей PivotTable из recordset ?
 
Доброго дня, столкнулся с такой проблемой. Просьба помочь.
Есть ADODB.Recordset созданный с помощью  SQL запроса.

Есть сводная таблица (Pivot_Table1) созданная из этого Recordset  и в последсвии руками настроеная (фильтра, области значений, колонки, строки).
Но нужно переодически обновлять ее источник данных. Для это заново формирую Recordset  и пытаюсь его присвоить Pivot_Table1.
Но выдает ошибку
Код
Set shSvod1.PivotTables("pivot_table1").PivotCache.Recordset = rs
Изменено: Troglodit - 02.10.2017 12:01:06
 
Код
With shSvod1.PivotTables("pivot_table1").PivotCache    
    Set .Recordset = rs
    .Refresh
End With
 

Спасибо, но любая попытка обратится к RecordSet Сводной выдает ошибку

Решил проблему пока таким образом. Через перезаливку recordset в PivotCache и обновление PivotTable

Код
If ActiveWorkbook.PivotCaches.Count = 0 Then
    Dim objPivC As Excel.PivotCache
    Dim objPivT As Excel.PivotTable
    
    Set objPivC = ActiveWorkbook.PivotCaches.Create(xlExternal, , 4)
    Set objPivC.Recordset = rs
End If
Set ActiveWorkbook.PivotCaches(1).Recordset = rs
shSvod1.PivotTables("Pivot_table1").PivotCache.Refresh

Изменено: Troglodit - 02.10.2017 12:42:07
Страницы: 1
Наверх