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

start [/forum/topic.php?fid=45&fpage=1635&tid=1674818]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
2ms |
| others: | 217ms |
| total: | 375ms |

| 0 / 0 |
