eso te pasa porque has intentado hacer una consulta con el recordset cuando este estaba ya abierto. Por eso te da ese error. Para arreglar eso, antes de realizar cualquier consulta pon esto:
If rs.State = 1 Then
rs.Close()
End If
Y si el fallo es el que yo pienso, se te arregla.