Heenan, Lambert
Lambert.Heenan at AIG.com
Thu May 3 09:00:17 CDT 2007
Granted I may be an exception, but I don't find I have any problems running
a timer event all the time. The code I posted earlier is on a form with a 30
second timer interval and I don't have any flickering screens or other weird
things going on.
I long ago learned not to try writing code while a timer is running, and if
I ever forget then a quick visit to the immediate window to issue a
TimersOff command does the trick for me. Its compliment "TimersOn" reverses
the action.
Sub TimersOff()
Dim f As Form
For Each f In Forms
With f
If .TimerInterval > 0 Then
.Tag = str(.TimerInterval)
.TimerInterval = 0
End If
End With
Next f
End Sub
Sub TimersOn()
Dim f As Form
For Each f In Forms
With f
If Not IsBlank(.Tag) Then
If Eval(.Tag) > 0 Then
.TimerInterval = Eval(.Tag)
End If
End If
End With
Next f
End Sub
Lambert
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby
Sent: Thursday, May 03, 2007 9:38 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Lock-screen inside an Access app
>I'm a tad concerned about the timer continuing to operate while the
>user is
using the app. Won't it interfere with things?
YES, and that is one of the major design flaws in Access. Timers ticking
cause issues with forms flickering, code compile errors for the developer in
design view etc. Unfortunately that is what we are given to work with.
About the only thing that can be done is to try and set the tick to as long
an interval as possible. For example, if the developer wanted to know that
a person hasn't done anything in 10 minutes then set the timer to every 10
minutes. This is certainly preferable to setting it to every 10 seconds of
course. Fire the timer at the slowest possible rate to perform the task.
<snip>