![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 31.10.2008
Сообщений: 5
|
![]()
Добрый день! Подскажите, пожалуйста, как приостановить выполнение макроса на определенное время?
Дело в том, что примерно в середине выполнения мкроса должны обновиться запросы, тянущие данные из Access. Но они не успевают обновляться, т.к. макрос продолжает свое выполнение дальше. Вот если бы можно было приостановить макрос секунд на 10-15... |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 03.04.2009
Сообщений: 412
|
![]()
Пауза в 1 секунду:
Код: Application.Wait (Now + TimeValue("0:00:01")) |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 17.10.2008
Сообщений: 239
|
![]() Цитата:
Вы пишите Вы что обновляете запрос в Accesse!? Это очень интересно. хотелось бы посмотреть как это Вы умудрились сделать. Максимум что у меня получалось это изменить скрипт MS SQL сервера, и запустить его с помощью программы isql.exe Но самое главное что пока не обновится запрос программа дальше не должна выполнятся. (прийдет ответ о успешном или неуспешном выполнении команды) Если вы изменяете запрос в Excele, то скорее всего вы изменяете строчку выборки значений из accessa. В этом случае все иначе. Чтение инфы с помощью макроса осуществляется с помощью так называемого скрипта запроса, который включается в момент подключения к базе. Поэтому без закрытия предыдущего запроса вызвать новый у Вас скорее всего не удастся или удастся только частично. В своей программе я всегда закрываю предыдущие запросы примерно сл. образом Код:
И самое главное что в этом случае, пока не будет выполнена строчка на следующую программа не перейдет. Поэтой причине я не думаю что необходимо останавливать выполнение программы на некоторое время. Другое дело если вы имеете дело с динамическими базами. записи в которых обновляются каждые NN секунд/ В этом случае необходимо задержка просто необходима и она указана в посте №2 |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 30.01.2008
Сообщений: 314
|
![]()
прокомментируйте:
Important The Wait method suspends all Microsoft Excel activity and may prevent you from performing other operations on your computer while Wait is in effect. However, background processes such as printing and recalculation continue. что еще относится к фоновым действиям кроме пересчета и печати? |
![]() |
![]() |
![]() |
#5 |
Регистрация: 31.10.2008
Сообщений: 5
|
![]()
Огромное спасибо за советы!
К сожалению, моя идея на счет приостановки макроса неверна оказалась, запросы на это время тоже приостанавливаются и обновление не происходит ![]() Запросы у меня, конечно же в Excel. Меняются они при изменении строки выборки значений из Access. В моем макросе нет вообще подключения к базам данных. Запросы обновляются, при изменении условия (в ячейке). Все это работает, если убрать цикл... Но без цикла мой макрос теряет смысл. Попробую разобраться со сложным (для меня) кодом открытия/закрытия запросов. ![]() |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 09.04.2009
Сообщений: 2
|
![]()
Попробуйте в “Свойствах диапазона данных” (запросе) убрать птичку “Фоновое обновление“.
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 31.10.2008
Сообщений: 5
|
![]()
СУПЕРРРРР!!!!!
Вся проблема в "птичке" оказалась )))))))) Теперь все работает! Даже не представляете как помогли! Тупая работа по размножению двухсот файлов свелась к 15 минутам вместо целого дня ))))))))) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как отключить отображение изменений во время выполнения макроса? | AnnNet | Microsoft Office Excel | 1 | 15.04.2009 14:43 |
Выполнение макроса во всех листах | Bu$ter | Microsoft Office Excel | 18 | 14.11.2008 14:34 |
Выполнение действия в заданное время | WOWan234 | Помощь студентам | 6 | 02.05.2007 01:52 |
Определенное время | Lonix | Общие вопросы Delphi | 11 | 18.03.2007 09:37 |
как сделать, чтобы в определенное время появлялось новое окно | Alar | Общие вопросы Delphi | 0 | 29.10.2006 20:30 |