Ricapitolando...
tu esegui queste istruzioni
1. Apri il recordset
2 stampi la prima riga
3 entri nel ciclo while ...
3 fine ciclo...
lo sai perchè stampi il record doppio? perche lo hai gia stampato fuori dal while...
1 leggi la prima riga e la stampi
2 entri nel ciclo while sotto la if not rs.eof
3 stampi la riga
esegui il comando rs.movenext
e purtroppo devi ritestare il fatto di essere alla fine del recordset quindi un altro rs.eof...
l'alternativa che ti suggerisco...
togli la stampa del primo record fuori dal ciclo e usi solo la stampa nel ciclo
leggi i primo record e poi al posto di while not rs.eof fai queste istruzioni:
fai le opportune modifiche e dimmi se va meglioif not rs.eof
conta=1
do while not rs.eof
....
stampa il record che ti serve eseguendo il conteggio etc
...
rs.movenext
loop
ciao