Access - nuevo numero de comprobante segun condiciones

 
Vista:

nuevo numero de comprobante segun condiciones

Publicado por Luis (26 intervenciones) el 23/02/2016 03:03:50
Estimados:
En Access estoy creando un pequeño programa de contabilidad (que por ahora sirve para una sola empresa), pero para comenzar esta bien. Mi duda esta en que año tras año estimo los números de comprobantes que se van a ocupar mensualmente en la contabilidad, es decir, en Enero desde el 1 al 100, febrero del 101 al 200, marzo desde el 201 al 350, etc. Estos rango no son iguales en todos los años.
La pregunta es ..¿como puedo lograr que el programa me indique según el mes y el año cual seria el numero de comprobante siguiente a utilizar y me mande un mensaje si el numero esta ocupado..
Agradeciendo la ayuda, les saluda
Luis
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
sin imagen de perfil

nuevo numero de comprobante segun condiciones

Publicado por Enrique Heliodoro (1664 intervenciones) el 23/02/2016 13:27:14
Para trabajar con números (un numero es un dato concreto), trabajar con esa 'precision imprecisa' me parece curioso.

Yo optaría por añadir indicadores de mes y año y seria mas sencillo su manejo (cada mes se comenzaría en cero y sin un final explicito)
Otra opción (dado que Access NO ES Excel) podría ir en la línea de aplicar una formula (comenzar en el numero de mes multiplicado por 200 o 300000000, el numero es lo de menos, la cuestión seria 'segmentar' sin temor a solapamientos)

Con esa formula (y un margen de 300 apuntes/mes):
Enero (mes 1):
comienza en : (Mes -1 * 300) +1 = (1 - 1 * 300) + 1 = 1
Finaliza en : Mes * 300 = 300 * 1 = 300

Febrero (mes 2):
comienza en : (Mes -1 * 300) +1 = (2 - 1 * 300) + 1 = 301
Finaliza en : Mes * 300 = 300 * 2 = 600

....
Noviembre (mes 11):
comienza en : (Mes -1 * 300) +1 = (11 - 1 * 300) + 1 = 3001
Finaliza en : Mes * 300 = 300 * 11 = 3300

Diciembre (mes 12):
comienza en : (Mes -1 * 300) +1 = (12 - 1 * 300) + 1 = 3301
Finaliza en : Mes * 300 = 300 * 11 = 3600

Podemos obtener con facilidad el rango de un mes determinado aplicado las formulas anteriores
Si se utiliza una función de dominio (DMax) en la que se imponga como condición el rango antes calculado, se obtendría el mayor de ese conjunto, añadiéndole una unidad obtendríamos el 'supuesto siguiente en esa serie'
Lo de 'numero ocupado' es poco sostenible si se genera el correlativo siguiente y se da un margen adecuado para que Febrero no solape a un Enero que supero los (en este caso) 300 apuntes (por ejemplo aumentándolos a 400 o 50000000, que ese numero no tiene valor alguno, le llamas 'Pepe' y funciona igual)
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