Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Потоки в MS Access, Как сделать? 
V
    Опции темы
Oberon83
Дата 26.10.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 6.5.2005
Где: Республика Чуваши я

Репутация: нет
Всего: 1



Вопрос собственно в следующем: 
Есть приложение на VBA в MS Access, по роду своей направленности она перемалывает большие объемы данных, взятые из Excel файлов. Так вот: во время обработки этих данных приложение "висит", т.е. не обновляется экран и т.д. Как можно сделать, чтобы поверх формы было что-нибудь наподобие прогрессбара, либо просто окошка в котором что-нибудь крутилось и была надпись "подождите, идет обработка". Ну что-бы просто была видна "жизнь" приложения, а не просто его "висяк"?
P.S.: Заранее благодарю за дельные советы smile
--------------------
OpenArea.ru
PM MAIL ICQ   Вверх
kapbepucm
Дата 29.10.2007, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 3
Всего: 12



см. DoEvents


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
RockClimber
Дата 29.10.2007, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 848
Регистрация: 5.5.2006
Где: планета 013 в тен туре

Репутация: 7
Всего: 15



Ставишь элемент управления Progressbar, минимальное и максимальное значение приводишь к начальному и конечному значению счетчика цикла, в цикле текущее значение счетчика передаешь прогрессбару, потом вызываешь form.repaint или что-то вроде того... На экселе я делал так и уже довольно давно, сейчас детали не помню...


--------------------
Хорошо кинутый дятел далеко летит, крепко встревает, долго торчит.
PM MAIL GTalk   Вверх
kapbepucm
Дата 29.10.2007, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: 3
Всего: 12



Oberon83, а тебе надо, чтобы ProgressBar отображал реальное время до конца момента ожидания или какую нибудь независимую анимацию?


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Akina
Дата 29.10.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 25
Всего: 453



Цитата(RockClimber @  29.10.2007,  15:25 Найти цитируемый пост)
потом вызываешь form.repaint или что-то вроде того... 

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

Правильное решение - DoEvents. А в случае, когда количество циклов велико, а сами они непродолжительны - использовать вывод не в каждом цикле, а в каждом N-м
Код

For i = A to B
  If (i Mod N) = 0 Then
    DoEvents
  End If
' тело цикла
Next i

или через заданный промежуток времени T
Код

StartTime=Timer
For i = A to B
  If (Timer - StartTimer) > T Then 
    DoEvents
    StartTime=Timer
  End If
' тело цикла
Next i




--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1096 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.