Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пока ждем выполнения макроса
 
 автор: АлаяЗаря   (30.05.2010 в 22:55)   личное сообщение
 
 

Доброго времени! Проблема в принципе и не проблема.

В моей программе выполняется формирование множества отчетов, некоротые из них формируются от 30 до 180 (3 мин) секунд. Так вот хотелось бы пока они формируются висело какое нибудь сообщение, например "Отчет формируется. Ждите" вот только думаю как это реализовать. Попробывал открывать при начале события форму, а при окончании события закрывать... Все хорошо, только на слабых машинах, а таких большенство, открывается только скелет формы, так как система очен ь перегружена.... Вот хотел послушать ваши советы, может кто делал подобное...

  Ответить  
 
 автор: час   (30.05.2010 в 23:39)   личное сообщение
 
 

может это поможет
http://hiprog.com/index.php?option=com_content&task=view&id=71
http://hiprog.com/index.php?option=com_content&task=view&id=251661552
http://hiprog.com/index.php?option=com_content&task=view&id=417

  Ответить  
 
 автор: Lukas   (31.05.2010 в 00:37)   личное сообщение
 
 

Я так подозреваю, что "рыть" следует в другом направлении.
Оптимизировать алгоритмы, запросы и прочая, дабы уменьшить время формирования отчетов.

  Ответить  
 
 автор: АлаяЗаря   (31.05.2010 в 08:00)   личное сообщение
 
 

Час, спасибо за ссылки, буду работать!
Лукас, у меня доходит до 5000 записей, которые выгружаются в ексель, ну быстро, вот только форматируются долго...

  Ответить  
 
 автор: час   (31.05.2010 в 08:31)   личное сообщение
 
 

Насчёт форматирования - можно попробовать заранее создать шаблоны в excel с отформатированными столбцами ячеек и выводить данные не форматируя их....
Отказаться от изменения цвета задав формат ячейки в шаблоне (заблаговременно)
===========================================================================
Открываем шаблон и туда выливаем данные , а формат уже задан

  Ответить  
 
 автор: Lukas   (31.05.2010 в 08:40)   личное сообщение
 
 

Ну вот выплюнул декартово множество на 10000 записей с простеньким форматированием за 3 секунды.
Что за такое сложное форматирование?

  Ответить  
 
 автор: snipe   (31.05.2010 в 09:01)   личное сообщение
 
 

To Lukas
думаю что вот
http://hiprog.com/forum/read.php?id_forum=1&id_theme=6973&page=2

  Ответить  
 
 автор: АлаяЗаря   (01.06.2010 в 00:53)   личное сообщение
 
 

snipe прав

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

  Ответить  
 
 автор: Lukas   (01.06.2010 в 16:48)   личное сообщение
 
 

Вообще для начала следует определить "тормознутые" участки форматирования.
Навтыкать между блоками
Debug.print "начало блока...", VBA.Timer
Debug.print "конец блока...", VBA.Timer
Найти наиболее тормознутые, и попробовать другие варианты.

Может попробовать именовать Range?
А вообще, объединение ячеек и вручную заметно подтормаживает.

  Ответить  
 
 автор: Анатолий (Киев)   (31.05.2010 в 13:00)   личное сообщение
 
 


Попробывал открывать при начале события форму, а при окончании события закрывать... Все хорошо, только на слабых машинах, а таких большенство, открывается только скелет формы

После вызова формы вставьте DoEvents - должно помочь.
Если формирование отчетов выполняется в цикле, то вставьте DoEvents внутри цикла (сразу после изменения текста в форме, если вы такое делаете).

  Ответить  
 
 автор: akkorn   (31.05.2010 в 19:54)   личное сообщение
 
 

А нельзя ли после вызова формы - ее перерисовать (refresh) или (repaint) и все.. Она прорисуется, но если пользователь ее сдвиет, то она скорее всего снова станет скелетом...
Празда в этом случае, каждые 50 записей в цикле перерисовывать форму)))

Это не прокатит? Мне просто не проверить...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList