Access - Recuperar diferentes rangos de datos en ACCESS????

 
Vista:

Recuperar diferentes rangos de datos en ACCESS????

Publicado por Txete (1 intervención) el 23/08/2005 12:51:52
Hola a tod@s!

Estoy haciendo una aplicacion en JSP con acceso a base de datos ACCESS.
Lo que me gustaria saber es si es posible recuperar un rango de datos mediante alguna clausula SQL de una base de datos access.

Es decir, simular una especie de paginación.

El problema es que tengo una base de datos con unos 500 registros y no se como podria hacer para que en una sentencia me recupere por ejemplo desde el registro numero 10 al 20.

Me han dicho que las clausulas LIMIT y OFFSET funcionan en PostergeSQL (o algo asi) y que posiblemente funcionen en access, pero lo he intentado y nada de nada.

Despues he estado probando con la clausula TOP, pero esta solo me recupera desde el registro 1 hasta el numero que le indiques en porcentaje.

Estas pruebas las he hecho desde la vista SQL de access (puesto que la sentencia que le paso al gestor desde la JSP debe de reconocerla perfectamente).

Estoy bastante apuradillo y os agradeceria infinitamente cualquier ayuda que me pudierais dar.
Muchas Gracias a tod@s.

CIAO
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Recuperación de un rango de datos mediante cláusula SQL

Publicado por Alejandro (4142 intervenciones) el 07/06/2023 16:20:20
Hola.

Para recuperar un rango de datos en una base de datos Access, puedes utilizar una combinación de las cláusulas `TOP` y `OFFSET`. Sin embargo, es importante tener en cuenta que estas cláusulas no están directamente disponibles en Access como lo están en otros sistemas de gestión de bases de datos, como PostgreSQL o MySQL.

Una forma de simular la paginación en Access es utilizando una consulta parametrizada junto con las funciones `TOP` e `ID`, donde `ID` representa la columna que contiene identificadores únicos para tus registros. Aquí te muestro un ejemplo de cómo puedes lograrlo:

1
2
3
4
5
6
7
SELECT TOP [CantidadRegistros] *
FROM (
  SELECT TOP [CantidadRegistros + Offset] *
  FROM [NombreTabla]
  ORDER BY [ID] ASC
) AS Temp
ORDER BY [ID] DESC;

En esta consulta, `[CantidadRegistros]` representa el número de registros que deseas recuperar y `[Offset]` es la cantidad de registros que deseas omitir antes de comenzar a recuperar los datos. `[NombreTabla]` es el nombre de la tabla en la que deseas realizar la consulta e `[ID]` es la columna que contiene identificadores únicos.

Por ejemplo, si deseas recuperar los registros del 10 al 20, puedes establecer `[CantidadRegistros]` en 11 y `[Offset]` en 9.

Ten en cuenta que esta solución es una aproximación y puede no ser tan eficiente como las cláusulas `LIMIT` y `OFFSET` en otros sistemas de gestión de bases de datos. Sin embargo, debería permitirte lograr el resultado deseado en Access.

Espero que esta solución te sea útil para implementar la paginación en tu aplicación JSP con Access. ¡Buena suerte con tu proyecto!

Ciao.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar