Certo ... se scrivi

If (rs.EOF) Then
While (Not (rs.EOF))

che sono due controlli contraddittori, come fa a funzionare?