Завершить макрос доступа через определенное время


2

Я использую несколько макросов MS Access из командного файла. Макрос выполняет несколько запросов в AccessDB. Все работает хорошо. Но я хочу добавить чек. Если макрос выполняется дольше определенного времени, я хотел бы пропустить / завершить / убить его и перейти к следующей команде.

Я использовал следующее:

taskkill /F /IM msaccess.exe 
"C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "macroname1"
taskkill /F /IM msaccess.exe
"C:\Program Files (x86)\Microsoft Office\Office14\MSACCESS.EXE" "macroname2"

В настоящее время, если первый макрос выполняется долго, второй должен ждать. Я тоже попробовал TIMEOUT. Есть ли другой вариант?


Самый простой и лучший способ справиться с этим - включить таймауты в ваш первый макрос. Вы можете сделать% времени в пакете и получить возврат, но если ваш пакет будет взят в заложники, это не сильно поможет ... Если вы не поместите его в отдельный пакетный файл в целом. Так что мой голос - включить тайм-аут в ваши макросы.
BigElittles

Ответы:


0

Вы можете запускать свои макросы, используя запланированные задачи (созданные с помощью планировщика задач, включенного в Windows), с заданиями, настроенными на прекращение, если задача выполняется дольше, чем заданная продолжительность.

Это также позволит вам запускать макросы независимо друг от друга, поскольку каждый из них может быть поставлен в очередь как отдельная задача.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.