PivotCache.Refresh не обновляет PivotFields(i).PivotItems

Программирование на Visual Basic for Applications
silyin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.05.2005 (Пн) 11:39

PivotCache.Refresh не обновляет PivotFields(i).PivotItems

Сообщение silyin » 17.05.2005 (Вт) 10:16

К сообщению прикреплён файл Каталог.

При построении сводной таблицы поле "папка" источника данных содержит три значения: "1", "2" и "3".
После построения сводной таблицы из её источника данных удаляются записи, содержащие в поле "папка" значение "3".

Проблема: Код Worksheets("СТ").PivotTables("СТ").PivotCache.Refresh не обновляет набор Worksheets("СТ").PivotTables("СТ").PivotFields("папка").PivotItems.

Как можно добиться обновления указанного набора?
Вложения
Каталог.zip
(8.36 Кб) Скачиваний: 62

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 17.05.2005 (Вт) 11:52

Ничего не понял! Чего должно быть?
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

silyin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.05.2005 (Пн) 11:39

Сообщение silyin » 17.05.2005 (Вт) 12:05

Если на листе "СТ" книги "Каталог" раскрыть список поля "папка", сейчас там присутствует элемент "3", хотя в источнике данных (список на листе "База") такого значения в поле "папка" уже нет (соответствующие записи удалены).
Обновление данных сводной таблицы "СТ" (код: Worksheets("СТ").PivotTables("СТ").PivotCache.Refresh ) не решает проблемы: элемент "3" по-прежнему остаётся в раскрывающемся списке поля "папка".
Какой код может решить эту проблему?

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 17.05.2005 (Вт) 12:53

Мг... Код перестройки сводной таблицы, как вариант
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч

silyin
Начинающий
Начинающий
 
Сообщения: 7
Зарегистрирован: 16.05.2005 (Пн) 11:39

Сообщение silyin » 17.05.2005 (Вт) 13:05

Да, так, наверное, получится.
По крайней мере, если руками убрать поле "папка" из области сводной таблицы "СТ", затем запустить код Worksheets("СТ").PivotTables("СТ").PivotCache.Refresh, и снова вернуть поле "папка" в область сводной таблицы "СТ", то элемент "3" исчезнет из раскрывающегося списка поля "папка".
Но неужели нет кода, который смог бы полностью обновить сводную таблицу?

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 17.05.2005 (Вт) 13:44

Наверное есть, но сводная таблица это структура данных, которая храниться в памяти и при обновлении в неё добавляються новые элементы и перечитываються данные.
При пересоздании таблицы пересоздаеться её структура.
Водки я вам не обещаю, но погуляем хорошо.
И. Сусанин.

Аватара (с) Тёмыч


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

    TopList  
cron