Я попытался записать код, чтобы обновить сводную sourcedata, который дал мне это:Excel VBA: Обновление Pivot Sourcedata
ActiveSheet.PivotTableWizard SourceType:=xlExternal, _
SourceData:=QueryArry1, _
Connection:=Array(_
Array("ODBC;DSN=MS Access Database;DBQ=" & DBDir & "\" & DBName & ";"), _
Array("DefaultDir=" & DBDir & ";DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;") _
)
Но это даже не позволяет мне указать, какие сводную таблицу нужно обновить. .. или даже делать то, что я действительно хочу сделать, что обновляет pivotcache, так что все сводные таблицы, использующие тот же источник, обновляются.
Так что же это хороший способ обновить sourcedata?
Благодаря
EDIT:
Но я даже получить "приложения или объекта определяется ошибка" ошибка как-то просто, как:
str = Sheets("Totals").PivotTables("PivotTable2").PivotCache.CommandText
Sheets("Totals").PivotTables("PivotTable2").PivotCache.CommandText = str
И я сделал двойной убедитесь, что моя сводная таблица по-прежнему ударяет по живым данным и обновляет ее все еще работает ... но я не могу установить строку команд в том, что она сейчас представляет? Настолько странно.
Thanks
Соединение прекрасное, я пытаюсь изменить SourceData ... но я получаю «Определяемая приложением или объектная ошибка» при попытке «ThisWorkbook.PivotCaches (2) .SourceData = QueryArry1» .. . Я начинаю думать, что этот тип ссылки SourceData доступен только для чтения и не может использоваться для установки значения. Я пробовал несколько разных форм QueryArry1, включая «QueryArry1 = ThisWorkbook.PivotCaches (2) .SourceData« ... Я всегда получаю ту же ошибку – Dan
Я не уверен, что такое содержимое вашего QueryArry, но я думаю, вы хотите измените запрос, который отправляется в базу данных. Изменение CommandText сработало для меня. Я добавил образец кода в свой ответ. – marg
Сводные кеши продолжают изменять свой индекс ... Поэтому я пытаюсь выполнить команду: «Листы (« Итого »). Сводные таблицы (« Сводная таблица1 »).PivotCache.CommandText = "SELECT * FROM Totals" ", но он дает мне ошибку:" определяемая приложением или объектная ошибка " – Dan