Pués la verdad no le veo diferencia, salvo que hacen un if para en caso de que la consulta no traiga datos (if rs.eof then xxxx), pero este no es el caso.
Fijate, otro código, en la misma aplicación que hace lo mismo y funciona perfectamente:
Código có:
Ver originalset cn = Server.CreateObject("ADODB.Connection")
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.Mappath("db\db_expedientes.mdb") & ";"
SQLStat = "SELECT * from tbl_tipos"
set rs = cn.Execute(SQLStat)%>
<select name="tipos">
<%
Do while not rs.eof
%><option><%=rs("tid")%> <%=rs("tipo")%></option><%
rs.movenext
loop
%>
</select>