
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.05.2004, 15:56
|
|||
|---|---|---|---|
|
|||
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
......фенечку, в виде шкалы показывающей процесс исполнения некой довольно длительной транзакции. Для уяснения что она наконец - то выполнена. Типа того, что высвечивается в Word в тот момент когда идет сохранение файла Или по крайней мере идею как это делать. Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 15:58
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Прогресс бар, значение которого менять в процессе выполнения некой довольно длительной транзакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:01
|
|||
|---|---|---|---|
|
|||
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Именно это..... Но плавное изменение состояния этого БАРА мне реализовать не удается только начальное состояние (пустой) и конечное (заполнен), когда процесс закончился ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:05
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Ну... ты код приведи. Мож получиться че-нить придумать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:08
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
если нужно показать прогресс циклической процедуры: /topic/90036 если прогресс выполнения одного длинного запроса - никак (?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:10
|
|||
|---|---|---|---|
|
|||
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
я пробовал менять длину БОКСА, в зависимости от номера записи обрабатываемой в тот или иной момент времени. то есть типа Name.Width = CurrentCount (в пикселях) но динамика не получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:12
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Не знаю что у тебя, но на ADP+MSSQL делается так: Довольно длинная транзакция запускается асинхронно Если примерно известно сколько она выполняется то прогресбар прогрессирует от таймера с коррекцией последней итерации на завершение транзакции. или Транзакция разбивается на несколько завершение каждого этапа сопрякать с итерацией прогресбара или Если медленно возвращается некий рекордсет то запускаем его асинхронно и WithEvent Заполнение прогресбара сопрягаем с событием заполнения рекордсета (у Гетца кажется есть пример) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:12
|
|||
|---|---|---|---|
|
|||
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Чтобы получалась динамика, надо после каждой обработанной записи делать DoEvents. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:12
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
а зачем бокс? Чем стандартный-то прогресс бар не подходит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:16
|
|||
|---|---|---|---|
|
|||
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Спасибо. Скорее всего и в самом деле DoEvent будет решением..... А что есть контрол в виде прогрес бара? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:19
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
автор Чтобы получалась динамика, надо после каждой обработанной записи делать DoEvents у Гетца написано, что делать DoEvents после обработки каждой записи нехорошо, он советует после через какое-либо кол-во, например через 10 ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:22
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
авторА что есть контрол в виде прогрес бара? Есть. Называется Microsoft Progress Bar Control. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:24
|
|||
|---|---|---|---|
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
Как вариант Можно отображать индикатор в строке состояния с помощью функции SysCmd. Тогда DoEvents не нужна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.05.2004, 16:35
|
|||
|---|---|---|---|
|
|||
Как в VBA сделать........ (процесс исполнения некой довольно длительной транзакции) |
|||
|
#18+
DoEvents чревата неприятностями. Если вы не привыкли к программированию с несколькими возможными исполняемыми потоками, то придется как-то ограничить возможность пользователя нажимать на кнопочки, до которых очередь еще не дошла (по логике работы в одном потоке). Например вывести модальную форму прерывания транзакции. Иначе пользователь может (даже случайно) запустить действие, конфликтующее с запущенной транзакцией. SysCmd. самый "дешевый" по затратам способ отображения, не требующий отдачи управления от исполняемого потока. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=45&mobile=1&tid=1674818]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
160ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
32ms |
get tp. blocked users: |
1ms |
| others: | 222ms |
| total: | 444ms |

| 0 / 0 |
