<% ' ################################# public sub CAL_DeleteOldEvents() set setDELETE = Server.CreateObject("ADODB.Recordset") ' strSQL = "SELECT distinct(wcal_events.IDEvent) as ID FROM wcal_events LEFT JOIN wcal_eventrec ON wcal_events.IDEvent = wcal_eventrec.IDEvent GROUP by wcal_events.IDEvent, wcal_eventrec.EventDate HAVING max(wcal_eventrec.EventDate)<" & funcs.VDate(dateadd("d",-dtDelPeriod,date())) strSQL = "SELECT DISTINCT wcal_events.IDEvent AS ID " &_ "FROM wcal_events LEFT OUTER JOIN " &_ "wcal_eventrec ON wcal_events.IDEvent = wcal_eventrec.IDEvent " &_ "GROUP BY wcal_events.IDEvent, wcal_eventrec.EventDate " &_ "HAVING MAX(wcal_eventrec.EventDate) < " & funcs.VDate(dateadd("d",-dtDelPeriod,date())) setDELETE.CursorLocation = 3 setDELETE.Open strSQL, my_conn setDELETE.CacheSize = 100 if NOT (setDELETE.BOF OR setDELETE.EOF) then Do Until setDELETE.EOF my_conn.execute("DELETE from wcal_eventrec where IDEvent=" & setDELETE("ID")) my_conn.execute("DELETE from wcal_eventcat where IDEvent=" & setDELETE("ID")) my_conn.execute("DELETE from wcal_events where IDEvent=" & setDELETE("ID")) setDELETE.MoveNext LOOP end if setDELETE.Close set setDELETE = nothing dim setDELETE end sub %>