¿Cómo numerar filas en una consulta de access?

Tengo una consulta que tiene 3 columnas:

Tienda, SKU, demanda

Esta consulta sólo ordena estos datos por SKU, demanda (mayor a menor).

Quiero hacer una consulta aparte que agregue una cuarta columna que numere las filas y quede algo así:

2 respuestas

Respuesta
3

Con permiso de Sveinbjor ;-)

Numerar una consulta por grupos

Creo que la opción que te enlazo es mejor ya que:

- Te vale para cualquier tabla sin necesidad de personalizarla

- Es más eficiente en el acceso a la BD, ya que no tiene accesos añadidos, cuando la respuesta de Sveinbjor realiza una consulta de dominio por cada registro.

Respuesta
1

Una forma de hacerlo, creando una función personalizada:

1º/ Creas un nuevo módulo en tu bd, y en él pegas la siguiente función:

Public Function fncSubOrden(miTienda As String, miSKU As String) As Integer
Dim rst As Recordset
Dim miSQL As String
Dim cuenta As Integer
miSQL = "SELECT Tienda, SKU, Demanda " _
        & "FROM tblTienda " _
        & "WHERE SKU='" & miSKU & "' " _
        & "ORDER BY SKU, Demanda DESC"
Set rst = CurrentDb.OpenRecordset(miSQL, dbOpenDynaset)
rst.FindFirst "Tienda='" & miTienda & "'"
fncSubOrden = rst.AbsolutePosition + 1
End Function

He supuesto que tu tabla se llama tblTienda, si no es así, tendrás que cambiarlo.

2º/ Abre tu consulta en vista diseño, y añade una cuarta columna con este encabezado:

Orden: fncSubOrden([Tienda];[SKU])

Guarda la consulta y ejecútala. Ya tendrás el orden deseado.

Si te da algún error en el diseño de la consulta, cambia el punto(;) y coma por coma (,) para separar los campos en la función.

Te dejo un ejemplo de muestra: http://filebig.net/files/jPyTnX7fwU 

Un saludo.


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas