Access - Detectar falta de correlativo

 
Vista:

Detectar falta de correlativo

Publicado por Marcos (236 intervenciones) el 12/08/2008 19:07:30
Esta consulta la hice en otra oportunidad pero nadie respondió.
Ojalá ahora alguien pueda ayudarme como siempre.
Si tengo una tabla con un campo llamado Nro. Folio, cómo podría, a través de una consulta, formulario o informe, detectar cuando se salta un correlativo. ??
Ejemplo:
Nro. Folio
1
2
3
5
6

Debiese de alguna forma indicarme que existe un salto en el correlativo, siendo el correlativo faltante el 4.
Por favor, si alguien pueda ayudarme.
Gracias.
Marcos.
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

RE:Detectar falta de correlativo

Publicado por kaditano (3 intervenciones) el 12/08/2008 20:58:30
A mi se me ocurren dos formas.
1.- Crearte una tabla con todos los correlativos posibles y relacionar esa tabla con la que le pueden faltar correlativos, y seleccionar los que tengan nulo el "CORRELATIVO" en la segunda tabla.

2.- Por VBA, te creas un modulo para leer la tabla 1 registro a registro, guardas en una variable el "correlativo", lees el siguiente registro y lo comparas con el anterior y si es mayor de 1 es que falta el correlativo, entonces en una tabla nueva te vas creando el correlativo que falta, que será el registro anterior+1

Algo farragoso, pero el que da lo que tiene... no está obligado a más.
Salud2
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

RE:Detectar falta de correlativo

Publicado por Enrique (1299 intervenciones) el 12/08/2008 21:28:12
Hola Marcos:
El caso es que como ya he dicho en alguna ocasión, ya está casi todo inventado en programación VBA. Usando la función fCounter de M. Afán de Ribera, puedes conseguir lo que necesitas fácilmente. Te paso un pequeño ejemplo que he confeccionado de forma rápida y que usa dicha función, para que te hagas una idea:

http://es.geocities.com/ensolva/Descargas/Varios/EjemplofCounter.zip

Como verás, además de obtener el primer número libre en la Tabla mediante la pulsación de un botón, también puedes teclearlo y pulsar Intro, aunque en este caso si ya existiera, impide que se duplique a pesar de ser Indexado CON duplicados en la tabla. A ver si hay suerte y te sirve.

Fíjate que en el Módulo, al principo, se hace alusión al autor de dicha Función y es conveniente conservarla por respeto al mismo.

Un saludo
Enrique
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

RE:Detectar falta de correlativo

Publicado por Marcos (236 intervenciones) el 13/08/2008 15:15:38
Les quiero agradecer a los dos por sus respuestas. Lo que dice Kaditano es lo que también me había imaginado y estaba en eso.
Pero lo que me envió Enrique es sencillamente muy bueno. Lo adaptaré para lo que necesito y obviamente agradecer al autor Juan M. Afán de Ribera.
De todas formas y como información adicional les digo que para evitar que no se produzcan errores en el ingreso del Nro. Folio en el evento después de actualizar de ese control puse este código y que ayuda bastante. Esto sumado al control que tendré con lo que me han enviado, queda perfecto.

Private Sub NroFolio_AfterUpdate()
If Me.NroFolio.Value - 1 <> Me.Ultimo.Value Then
MsgBox "DEBE INGRESAR NRO. DE FOLIO CORRELATIVAMENTE...", vbCritical, "INGRESE EL FOLIO CORRECTO"
End If
End Sub

Nota: Ultimo es un Cuadro de Texto que en el origen de control tiene =DÚltimo("NroFolio","Consulta de Pedidos")

Gracias a todos.
Marcos
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