Vc debugou ? Com certeza ele não esta verificando se foi achado um registro, por exemplo
rs.open "select * from tabela where campo = 1"
msgbox rs("campo")
Aqui ele faz a consulta e ja deduz q sempre terá algum registro com esse codigo, quando o certo seria antes de dar o msgbox fazer:
If rs.eof then
msgbox "Código não encontrado."
exit sub
endif
Entendeu? Com certeza é esse o erro no seu exemplo. T+