Tip of the moment is: ADO - Close a Recordset and disconnecting
'Clean up (Generate error if rs is closed)
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
'Clean up (Works fine on open and closed rs
If Not (rs Is Nothing) Then rs.Close: Set rs = Nothing
If Not (cnn Is Nothing) Then
cnn.Close: Set
cnn= Nothing