2015-12-11 2 views
1

Я пытаюсь настроить таймер для запуска каждые 3 минуты в VBA, чтобы пропустить мою таблицу базы данных Access и проверить данные. Я застрял в точке запуска таймера. Я написал этот мини сценарий для тестирования таймера:.Timer looping in vba (Access)

Function JobNameValidate() 
MsgBox ("Hello") 
'callAgain.OnTimer 
End Function 

Function callAgain() 
callAgain.TimerInterval = 300000 
Forms("HiddenForm1").OnTimer 
JobNameValidate 
End Function 

Это петли хорошо, однако петли мгновенно, независимо от TimerInterval проставленными я не мог найти любую полезную документацию об этом в Интернете.

ответ

2

Свойство OnTimer формы можно задать в строке, начинающейся с =, за которой следует имя вашей функции и пара круглых скобок.

Единицы измерения для TimerInterval - миллисекунды. Таким образом, 3 минуты - 180000 (3 * 60 * 1000).

Function callAgain() 
    Forms("HiddenForm1").OnTimer = "=JobNameValidate()" 
    Forms("HiddenForm1").TimerInterval = 180000 
End Function 

Я не уверен, почему вы хотите сделать это с помощью VBA. Вы можете установить оба этих свойства в листе свойств формы. Но вы можете сделать это с помощью VBA, если это необходимо.