Mmmm... esiste il comando Rs.Eof... che ti dice se hai terminato i record...

Forse potresti mettere qualcosa del tipo...

Al posto dell'if x <> 3 puoi mettere
If Rs.EoF-1 Then


In questo modo ti identifica che sei all'ultimo record...

Dici che così può andare?