Mi pare evidente che mancano delle basi per continuare ....
Se conosci un minimo l'inglese capisci da solo il significato di movefirst,movelast,movenext ....
Se sai fare un minimo di debug capisci da solo se il loop che ti ho proposto funziona (l'ho scritto senza avere Access,non mi sembra che contenga errori di sintassi) ....
Se il loop funziona (e ripeto come fai a dirlo?) capisci da solo che devi concentrarti su quello che c'è dentro il loop ....
Dim i as integer
i = 0
rst1.MoveFirst
Do While not rst1.eof
i = i + 1
rst1.MoveNext
Loop
Prova solo il loop e verifica quanto vale i alla fine del loop :
- i=0 -> non entra nel loop (recordset vuoto ?)
- i>0 -> entra nel loop (i conta il n° di record presenti nel recordset)
Ti lascio alle tue prove.