I'm getting aa strange issue with a clas module. A function (see below) creates some error that is not passed to the error handler. Instead, it falls thru from the exit to the error handler & goes into an endless loop of blank dialog followed by a "Resume without error" dialog. It even happens when I remove the Event logic in the middle. It even happens with Err.Clear called. I've compiled the db with no errors ????
Code:
Private Function ProcessCurrentContactEvents(contactID As Integer, events As Recordset) As Integer
Dim Money As Currency
Dim family As String
Dim adult As String
Dim note As String
Dim theDate As Date
Dim catID As Integer
Dim catTypeID As Integer
Dim returnCount As Integer
returnCount = 0
On Error GoTo Err_ProcessCurrentContactEvents
' 2013 Event
If events![2013YTD] > 0 Then
family = events![2013FamilyEventName]
adult = events![2013AdultEventName]
Money = events![2013YTD]
theDate = CDate("2013-01-01")
returnCount = returnCount + AddEvent(ContactID, family, adult, Money, theDate)
End If
' 2012 Event
If events![2012YTD] > 0 Then
family = events![2012FamilyEventName]
adult = events![2012AdultEventName]
Money = events![2012YTD]
theDate = CDate("2012-01-01")
returnCount = returnCount + AddEvent(ContactID, family, adult, Money, theDate)
End If
' 2011 Event
If events![2011YTD] > 0 Then
family = events![2011FamilyEventName]
adult = events![2011AdultEventName]
Money = events![2011YTD]
theDate = CDate("2011-01-01")
returnCount = returnCount + AddEvent(ContactID, family, adult, Money, theDate)
End If
' 2010 Event
If events![2010YTD] > 0 Then
family = events![2010FamilyEventName]
adult = events![2010AdultEventName]
Money = events![2010YTD]
theDate = CDate("2010-01-01")
returnCount = returnCount + AddEvent(ContactID, family, adult, Money, theDate)
End If
' 2009 Event
If events![2009YTD] > 0 Then
family = events![2009FamilyEventName]
adult = events![2009AdultEventName]
Money = events![2009YTD]
theDate = CDate("2009-01-01")
returnCount = returnCount + AddEvent(ContactID, family, adult, Money, theDate)
End If
' 2008 Event
If events![2008YTD] > 0 Then
family = events![2008FamilyEventName]
adult = events![2008AdultEventName]
Money = events![2008YTD]
theDate = CDate("2008-01-01")
returnCount = returnCount + AddEvent(ContactID, family, adult, Money, theDate)
End If
Exit_ProcessCurrentContactEvents:
Err.Clear
ProcessCurrentContactEvents = returnCount
Err_ProcessCurrentContactEvents:
MsgBox Err.Description, vbExclamation, "Error #" & Err.Number
Resume Exit_ProcessCurrentContactEvents