2014-07-18

Seleccionar la enésima fila de una tabla en Ms Access

Title Para seleccionar la enésima fila de una tabla en Mc Access, creamos una consulta en Vista SQL. En ella anidamos una consulta dentro de otra, mediante una subconsulta entre paréntesis. Este tipo de consulta no podemos crearla en Vista diseño, necesitamos abrir la consulta en Vista SQL y escribir el código. En el ejemplo seleccionamos la fila 7791.

SELECT TOP 1 *
FROM (SELECT TOP 7791 * FROM Tabla ORDER BY CampoId) AS Tabla
ORDER BY CampoId DESC;
Argumentos:

FROM (SELECT TOP, el número de la enésima fila
FROM, nombre de la tabla
ORDER BY, CampoId, campo autonumérico, identificador de la tabla
AS, alias de la tabla

Explicación

En primer lugar, la subconsulta ordena ascendentemente tantas filas como el número de la fila que queremos seleccionar, 7791 en el ejemplo. La fila objetivo será esa última. Finalmente, la consulta ordena descendentemente el resultado y selecciona solamente la primera fila.

Si nuestra tabla no tiene un campo autonumérico necesitamos crearlo:

Clic con el botón secundario en la tabla y, a continuación, clic en Vista Diseño.
En la Vista Diseño de la tabla, agregamos un campo Autonumérico y guardamos la tabla.
Cerramos la ventana de la Vista Diseño.

Empleamos el método anterior pues Jet SQL en Ms Access no admite ROW_NUMBER, OFFSET o LIMIT.

No hay comentarios:

Publicar un comentario

Nube de datos