Creacion de numeracion Correlativa Acces vb

Tengo creada una consulta que tiene una columna llamada "cont2"

Esta columna (cont2 ) es una consulta interna que hace la función de una numeroacion correlativa

Es decir si tengo una factura con 2 referencias y cada referencia tiene más de 2 subreferencias entonces las va enumerando ejemplo:

Como vemos en la columna cont2 : va enumerando las Subrefencias de cada referencia

Pero Actualmente me esta fallando la consulta no me esta enumerando bien las Subreferencias adjunto imagen del error : (¿sera por que ya hay varios datos?)

Como se ve en la imagen hay un error al enumerar las subreferncias

Este es el código que yo tengo ... No se en donde esta el error

Gracias por la ayuda

Cont2: (select count([Referencia])from[dbo_FaltantesSubItems] as temp WHERE [temp].[SubReferencia]<=[dbo_FaltantesSubItems].[SubReferencia] and [temp].[Referencia]=[dbo_FaltantesSubItems].[Referencia])

2 Respuestas

Respuesta
1

Lo puede hacer con una función.

DISEÑO DE LA CONSULTA

RESULTADO DE LA CONSULTA

CÓDIGO DE LA FUNCIÓN AUTOR JESUS MANSILLA

'---------------------------------------------------------------------------------------------
' Autor : JESUS MANSILLA CASTELLS -Mihura-
'---------------------------------------------------------------------------------------------
Public Function RT_NumerarParcialSQL(nDato) As Long
'variable que no se pierde entre las distintas llamadas
Static nCONTADOR As Long, nANTERIOR As String
     If IsNull(nDato) Then 'si nDato es nulo: Iniciamos valor
         nCONTADOR = 0
         nANTERIOR = ""
         Exit Function
     End If
     '- si nDato es igual al valor memorizado sumamos 1 al contador
     If nDato = nANTERIOR Then
         nCONTADOR = nCONTADOR + 1
       Else '- iniciamos valor y memorizamos el anterior
         nCONTADOR = 1
         nANTERIOR = nDato
     End If
     RT_NumerarParcialSQL = nCONTADOR
     'Ejemplo de llamada:
     ' SELECT Listado_Recibos_Detalle.Recibo, Listado_Recibos_Detalle.Fecha_hora, RT_NumerarParcialSQL([Recibo]) AS id
     'FROM Listado_Recibos_Detalle
     'ORDER BY Listado_Recibos_Detalle.Recibo, Listado_Recibos_Detalle.Fecha_hora;
End Function

Esta función es excelente y mejor que utilizar subconsulta cuando hay bastantes datos. Observe que se requiere de un valor estático para mantener el contador.

Respuesta
1

No sé si te refieres a que te numere las subreferencias para una misma referencia. Si es ese el caso, si tengo la tabla Tabla1

Y construyo la consulta como

Cuando la abro

La referencia 10309 tiene dos subreferencias, por eso les pone 1 y 2. La referencia 10306 tiene 5, por eso les pone 1,2,3,4, y 5. La referencia 10301 tiene( no puse más registros) 1 por eso le pone un 1.

No sé si era eso a lo que te referías.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas