More than a few people have asked me if an alternative to DoEvents
exists to implement a wait period in Access. (DoEvents yields execution so that the
operating system can process other events.)
The answer is yes, the Sleep API can be used for this. Look at the
sample sTestSleep Sub. When you run it, you'll notice a delay beforethe Msgbox appears on
screen. The duration can be increased/decreased bychanging the constant cTime to a
corressponding higher/lower value.
For normal use from within your code, simply place a call to the
sSleep sub with an appropriate time in milliseconds.
Private Declare Sub sapiSleep Lib "kernel32" _
Alias "Sleep" _
(ByVal dwMilliseconds As Long)
Sub sSleep(lngMilliSec As Long)
If lngMilliSec > 0 Then
Const cTIME = 1000
MsgBox "Before this Msgbox, I was asleep for " _
& cTIME & " Milliseconds."