Тема: Создание таблицы

Добрый вечер!!!
Таблицы создаются очень медленно!! Невыносимо медленно!!!!
Скажите пожалуйста как правильно убыстрить создание таблиц???

Вычитала в справке про метод  RegenerateTableSuppressed :!:
Я правильно поняла принцип его работы:

Сначала подавляем регенерацию TABLE.RegenerateTableSuppressed = True
потом после создания всех строк регенерируем всю таблицу
TABLE.RegenerateTableSuppressed = False

Я сделала по такому принципу. Работает просто кошмар медленно!!! Расчеты мгновенно происходят, а таблицы медленно!!!
Может я не там выключаю подавление регенерации???

Re: Создание таблицы

Еще нашла функцию RecomputeTableBlock. Только я не поняла что она делает. Может кто-нибудь объяснит пожалуйста???

Re: Создание таблицы

Эта функция (или метод) обновляет запись таблицы в базе данных,
соответственно любым изменениям, сделанных в ней с тех пор,
когда она была обновлена в последний раз.

При любых изменениях в таблице если свойство RegenerateTableSuppressed = False
каждое изменение в таблице будет запускать процесс такого вида:
сначала определяется виртуальная запись таблицы (TableRecord) и она изменяется
тоже, затем эта запись используется для изменения самой вставки этой таблицы
И так каждый раз при любых измениях
На этом теряется очень много времени

Поэтому до изменений объекта вставки таблицы oTable целесообразно прописывать:

oTable.RegenerateTableSuppressed = True

- означает подавление всех измений в таблице визально
<<здесь полный цикл измений в таблице>>

oTable.RegenerateTableSuppressed = False

- означает что теперь разрешено отобразить на экране эти изменения
А здесь уже можно запускать эту метод (но совсем необязательно)

oTable.RecomputeTableBlock(True)

(Это аналогично как в Экселе используется Application.ScreenUpdating = False)

~'J'~

Re: Создание таблицы

Спасибо за подробный ответ :)

Re: Создание таблицы

На здоровье :)

~'J'~