esse erro acontece quando vc tenta mover pra frente o recordset e jah eh fim de arquivo.. geralmente aconte dentro de um while... vc pode fazer o seguinte:
while <sua condição verificadora> and not recordset!<campo>
.
.
<execução>
.
.
wend
isso jah dah certo... ou vc pode fazer o seguinte:
on error goto trata_erro
<parte q dah pau>
exit sub
trata_erro:
msgbox "seguinte erro:" & err.description & err.number 'aqui ele vai mostar o erro (do jeito q aparece quando dah pau e pergunta c vc quer finalizar o programa ou depurar) e mostra o numero do erro...
isso jah ajuda a naum evitar mais sim contornar o erro