Sí, esto parece normal.
No se está moviendo al expediente pasado, él está poblando todos los expedientes a dura, en un recordset dinámico (usted puede potencialmente corregir cualquier expediente y debe reflejar corregir ocurrir dinámicamente!). No es simple, sino que es inútil.
Si Demand_Check_C es una tabla del acceso, usted puede abrirla en modo de la tabla y usted puede leer el expediente pasado inmediatamente (solamente una tabla no tiene un cont de registro). Si no es, usted puede utilizar dbForwardOnly para acelerar cosas, pero, como el nombre implica, usted no puede mover hacia atrás.
Básicamente, su función pudo funcionar muy bien para las docena horas, él no está clara qué hace, pero si usted está en curso de normalización de una estructura de la tabla, algunas operaciones pueden tomar esa clase de tiempo. Pero usted no necesita la cuenta de registro.
Utilizar un tabla-tipo o solamente un recordset delantero, utilizar los 60 pedazos de los expedientes (todavía que rinden en la orden de 100 ' 000 preguntas no triviales del parte movible para analizar, optimizar, y funcionamiento), y copiar la sección interna fuera del lazo para conseguir los expedientes less-than-60 del extremo.
No utilizar la cuenta de registro total o las posiciones absolutas.
(°v°)