La Web del Programador: Comunidad de Programadores
 
    Pregunta:  60818 - RECORRER UNA TABLA DEL ULTIMO REGIS AL PRIMERO SIN ORDER BY
Autor:  Adrian Odrdoñez Tostega
hola que tal necesito que me ayuden con una consulta que estoy hacien do en visual b asic 6.0 lo que quiero es recorrer una tabla del ultimo registro hasta que llegue al primero.

Dim RsResultado as new ADODB.recordset
RsResultado.Open "Select * from longitud", rutaBd
RsResultado.MoveLast

y me manda el error "el conjunto de filas no admite recuperacion hacia atras"

lo que necesito es mandarlo al ultimo registro para iniciar un ciclo y recorrer mi consulta desde el ultimo registro al primero sin usar order by ya que en mi tabla ordene los datos al momento de llenarla y con el order by te los acomoda de manera ascendente o descendente osea del mas chico al mas grande o alfabeticamente y no necesito eso, si no que me aparezcan como estan acomodados en mi tabla de abajo hacia arriba.

Do Until RsResultado.BOF
Combo1.AddItem RsResultado(0)
RsResultado.MovePrevius
loop

el additem del combo solo lo puese como ejemplo la vdd es ke realizo otras operaciones con todos los campos de cada registro dentro de cada do until de antemano gracias y espero su pronta respuesta

  Respuesta:  Gustavo López
Hola Adrian, probá con "adOpenStatic" cuando abres el recordset.
También te recomendaria que recorras el recodset de principio a fin (en tu caso), o de fin a principio (en los casos normales), para que lo tenga disponible en memoria, o sea:

if rstRecodset.Recordcount <> 0 then
rstRecodset.movefirst
rstRecodset.movelast
end if

Saludos,
Gustavo