Necesito numerar los registros de una tabla de Access, pero reiniciando por los subgrupos:

Campo1 Campo2 Campo 3 Orden

A.........  B............ C...............  1

A.........  B............ F...............  2

A.........  B............ M...............  2

B.........  G............ A...............  1

B.........  G............ M ..............  3

B.........  G............ B...............  2

Orden es el campo calculado o que quiero incluir

3 respuestas

Respuesta
2

Quizá te pueda dar una idea. Si tengo una tabla con Continente, país y Ciudad y con ella construyo una consulta a la que le añado un campo Orden como el que ves en la ventana de Zoom

Cuando la abro

Me parece que era lo que querías

¡Gracias! Es lo que estaba buscando.

Pudo resolverlo usando esta función

Public Function NumeroDeOrden(ByVal Dato As Variant) As String
Static lngNumero As Long
Static DatoAnterior As String
If Dato = DatoAnterior Then
lngNumero = lngNumero + 1
Else
DatoAnterior = Dato
lngNumero = 1
End If
NumeroDeOrden = Format(lngNumero, "0")
End Function

Y en una consulta , como argumento concatené 4 campos

Respuesta

No entiendo su pregunta dice "calculado" ¿Qué va a calcular? ¿Qué llama subgrupo?

Otra forma de numerar es siguiendo esta función de JESUS MANSILLA CASTELLS -Mihura- que hace la numeración mucho más rápida. Para el ejemplo se requiere 1 tabla, 1 consulta y 1 función

TABLA INICIAL

Tenemos la tabla inicial, aunque está ordena podría no serlo.

FUNCION PARA ORDENAR

Esta función se guarda en un módulo.

DISEÑO DE LA CONSULTA

RESULTADO DE LA CONSULTA

El resultado es el mismo que le proponen pero es mejor en rendimiento en tablas con gran número de registros, toda vez, que función COUNT() hace más lentas las consultas.

Bueno ya es cuestión de gustos y gracias de paso a Jesús por su aporte. Si quiere el ejemplo puede solicitarlo a [email protected] 

Perdón no es "Función para ordenar" sino "FUNCIÓN PARA NUMERAR"

Respuesta

Germán: La idea de lo que pretendes hacer la veo clara.

Lo que ya no veo tan claro es que son los puntos suspensivos.

Notas: Creo que el A... B... M... debe de tener el Orden 3

¿Como ordenamos  A....... B...... C...... y A.......B.......C....... y otro  A.......B.......C....... etc?

Mi sugerencia es que mires la Ordenación parcial de Jesús Mansilla (un saludo) que tiene en>>

Numerar una consulta por grupos  >> En la Página >>

http://www.accessaplicaciones.com/ejemplos.html 

Un saludo >> JTJ

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas