This means that you have already opened the recordset sometime before. I don't see any code where you close the recordset. You should always close the recordset after you use it. You can check if its open like this

Code:
if rsnew2.State = adStateOpen then
   '  it is already open
else
    ' open rs
end if