Можно ли запланировать обновление данных sh для мощного запроса в Excel, чтобы данные sh обрабатывались 2 раза c раза в день? - PullRequest
0 голосов
/ 01 апреля 2020

Я построил мощный запрос в Excel, который извлекает данные из нового файла в общей папке. Это «запрос OLE DB» с типом команды SQL (не уверен, что это релевантная информация, но думал, что я ее включу).

Файл обновляется автоматически с новыми данными и сохраняется вручную (к сожалению, не всегда используется одно и то же соглашение об именах) в общей папке два раза в день (около 9:45 утра и 4:30 вечера). Я хотел бы сделать запрос refre sh в то время; однако, когда я go в свойствах запроса в разделе «Использование», а затем в «Refre sh Control», единственными параметрами являются: «Включить фон Refre sh», «Refre sh каждые __ минут», « Refre sh data при открытии файла "," Refre sh это соединение при Refre sh All "и" Enable Fast Data Load ". В настоящее время я включил Refre sh Данные при открытии файла и Refre sh это соединение на Refre sh all.

Можно ли сделать запрос автоматически обновить sh данных в этих двух указать c раз (9:45 утра и 5:00 вечера) каждый день, используя VBA или другой метод?

ПРИМЕЧАНИЕ. У меня есть некоторый опыт использования кода VBA, но только очень базовые c знания.

1 Ответ

0 голосов
/ 01 апреля 2020


да, это возможно.

Требование:
- нужно открыть Excel -> в событии Workbook_Open, инициировать открытие скрытой формы (она не будет видна пользователю, но он будет «работать» в фоновом режиме).

Для форм существует событие под названием «Таймер» -> каждый установленный интервал времени, процедура запускается (например, каждые 10 минут) -> в эту процедуру вы проверяете, если текущее время (now ()) = 17:00 ->, затем выполняете процедуру для обновления, в противном случае выходите из подпрограммы (обратите внимание, не проверяйте указанное время c, но диапазон, например (16:58

Ссылка:
https://docs.microsoft.com/en-us/office/vba/api/access.form.timer

В качестве альтернативы:
- вам нужно установить windows расписание, чтобы открыть Excel в определено c время -> обновление / проверка будут запущены при событии Workbook_Open

...