Wenn du nicht sicher bist, ob die Zeilen angesprungen werden, dann debugge (z.B. mit Hilfe einer einfachen Msgbox davor) und spiele die einzelnen Fälle durch.
Ausserdem kannst du mit:
Code:
If Not rs Is Nothing Then rs.Close: Set rs = Nothing
sicherstellen, dass kein Fehler auftritt, wenn's das Recordset "nicht mehr gibt". Das könnte ja passieren, wenn du das Recordset an anderer Stelle schliesst und zum Schluss erneut versuchst, den Speicher freizugeben.