Sumar valores de registro access vba

Estoy con un programa en access y necesito sumar los últimos 92 registros de una tabla (siempre serán los últimos 92 registros aunque haya miles). De momento me desplazo al registro con Gotorecord,, previous, 91 y allí inicio un bucle For... Next para ir acumulando el valor en una variable, pero claro eso es un poco lento, sobre todo teniendo en cuenta que hay que hacer el mismo proceso 28 veces (se trata de los rendimientos laborales de 28 personas). Me preguntaba si hay alguna manera más rápida de sumar esos registros teniendo en cuenta que solo habrá que sumar esos 92 registros.

Respuesta
2

Supongo que tendrás un campo que indica un cierto orden de los registros, ya sea un id autonumérico, una fecha...

En ese caso puedes hacer un recordset sobre una consulta que te devuelva esos 92 registros y operar con él, algo así:

Dim rst As Dao.Recordset 

Set rst=CurrentDb.OpenRecordset ("SELECT TOP 92 ID,Campo1, Campo2.... FROM  TuTabla ORDER BY Id DESC")

Do until rst.eof 

'aqui las operaciones que sean

Rst.movenext

Loop

Rst. Close

Ten en cuenta dos cosas, que el recorrido de registros va del último al primero ( aunque puedes cambiar el orden si lo necesitas), que según el campo que uses para ordenar puede que te devuelva más de 92 registros, lo que puedes solucionar con un contador y que salga del do... Loop al llegar a 92.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas