I am not seeing the previous part of this thread, so please ignore these
comments if they are not relevant.
The suggestion to use the Timer does not seem attractive. There are *lots*
of negative side effects to the timer. But more significantly, someone
stepping through the records in a form can certainly be moving faster than 2
records per second.
A better solution might be to declare a form level variable to hold the
primary key value of the current record. If it's the same number as last
time, don't run the code again.
In the General Declarations of the form's module:
Private mvarID As Variant
In Form_Current:
If (Me.[ID] = mvarID) OR (IsNull(Me.[ID]) AND IsNull(mvarID)) Then
Else
mvarID = Me.[ID]
'Put the code that must not repeat in here.
End If
--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Reply to group, rather than allenbrowne at mvps dot org.
David Mueller said:
I'd much rather fix the root cause, but since I can't seem to do that I
have
had success by using the timer. I restrict the event from firing within
.5
seconds of its last run.
The first line of my OnCurrent event is ...
If Timer > lLastOnCurrentTimer + 0.5 Then GoTo Exit_Sub
The last line is ...
lLastOnCurrentTimer =Timer