Access - Validar numeros consecutivos entre dos numeros ( Min - Max )

   
Vista:

Validar numeros consecutivos entre dos numeros ( Min - Max )

Publicado por Percy (37 intervenciones) el 09/08/2013 08:29:21
Buenos días.

Desde gracias por el apoyo que me puedan brindar

Les planteo este gran problema que tengo para validar si está faltando algún número correlativo

Tipo_serie serie correlativo
1 101220 10001
1 101220 10002
1 101220 10003
1 101220 10004
1 101220 10006
2 1320 100
2 1320 101
2 1320 104
2 1320 105
2 1320 106
2 101220 220
2 101220 221
2 101220 224
2 101220 225

Teniendo en cuenta el tipo_serie y serie se debe de hallar que correlativo está faltando..

Ejemplo

De la tabla anterior se debe de crear otra tabla solo con los correlativos que está faltando

Tipo_serie serie Faltante
1 101220 10005
2 1320 102
2 1320 103
2 101220 222
2 101220 223


La otra forma que estaba pensando es la de crear una tabla que autogenere la correlatividad de acuerdo al Min - MAX del campo correlativo; pero teniendo en cuenta el Tipo_serie y serie para luego poder relacionar esta tabla con la tabla principal y hallar los que no coinciden ; y asi tener los correlativos que me faltan en la tabla principal..

Gracis por su ayuda.
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 Neckkito

Validar numeros consecutivos entre dos numeros ( Min - Max )

Publicado por Neckkito (1104 intervenciones) el 11/08/2013 00:00:28
Hola!

Interesante problema...

Echa un vistazo a este ejemplo que te he preparado: http://www.mediafire.com/?2gcyd6dk685f0i6

Lo que tienes que hacer es crear una tabla según la estructura que puedes ver en TFaltantes.

Una vez creada esa tabla sólo tienes que mirar el código asignado al botón.

He utilizado los nombres que has utilizado en tu mensaje. Si no fueran los mismos deberías modificar el código para adaptarlo.

Ya me dirás qué tal.

Un saludo,


http://neckkito.siliconproject.com.ar
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

Validar numeros consecutivos entre dos numeros ( Min - Max )

Publicado por Percy (37 intervenciones) el 15/08/2013 21:10:44
Neckkito.
Disculpa por no contestar a tiempo, pues tuve unos problemas familiares y no pude revisar el archivo que me enviaste hasta el día de hoy.
Déjame decirte que el archivo esta genial, solo tengo una duda.
¿Es importante el orden en el que se encuentran los datos en la tabla Tdatos?
Te pregunto esto porque hizo la prueba agregándole un tipo_serie “7” con el correlativo desordenado (el 10005 antes de 10003), y lo que hace es crear hasta el infinito para el tipo_serie “7” y hasta llega a colgarse.
También hice la prueba poniendo en forma descendente el campo Tipo_serie e igual me genera hasta el infinito y hasta llega a colgarse.
Entonces imagino que antes de correr la aplicación debo de ordenar los datos de la tabla Tdatos o existe otra forma mediante código?
Tipo_serie Serie Correlativo
1 101220 10001
1 101220 10002
1 101220 10003
1 101220 10004
1 101220 10006
2 1320 100
2 1320 101
2 1320 104
2 1320 105
2 1320 106
2 101220 220
2 101220 221
2 101220 224
2 101220 225
7 1320 10000
7 1320 10005
7 1320 10003
7 1320 10007
7 1320 10999

Gracias por tu gentil apoyo....
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
Imágen de perfil de Neckkito

Validar numeros consecutivos entre dos numeros ( Min - Max )

Publicado por Neckkito (1104 intervenciones) el 16/08/2013 19:34:12
Hola!

Efectivamente, partía de la base de que los datos estaban ordenados. Al menos, guiándome por los datos que comentabas en tu pregunta, que sí están ordenados.

La solución al problema de los datos desordenados sería tan simple como:

- En el ejemplo que te pasé, editas el código del botón de comando.
- Buscamos el código que crea la tercera SQL. Es la que está en estas líneas:
...
'Creamos la SQL definitiva
miSql = "SELECT TDatos.Correlativo FROM TDatos" _
& " WHERE TDatos.Tipo_serie=" & .Fields(0).Value _
& " AND TDatos.Serie=" & rstS.Fields(0).Value
...

- Le añadimos una línea de ordenación a la SQL, de manera que te quedé así (la línea de ordenación es la última):

...
'Creamos la SQL definitiva
miSql = "SELECT TDatos.Correlativo FROM TDatos" _
& " WHERE TDatos.Tipo_serie=" & .Fields(0).Value _
& " AND TDatos.Serie=" & rstS.Fields(0).Value _
& " ORDER BY TDatos.Correlativo"
...

Y ahora, en teoría, no debería darte los errores que comentas.

Haz un par de testeos y me comentas, a ver si todo te va bien.

Saludos,

Neckkito
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

Validar numeros consecutivos entre dos numeros ( Min - Max )

Publicado por Percy (37 intervenciones) el 18/08/2013 06:50:02
Excelente..

Nuevamente gracias por tu ayuda.
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