PDA

Ver la Versión Completa : Como recuperar autonumerico despues de borrado, cancelado, ect.


IcebergDelphi
18-05-2003, 05:22:35
Hola amigos, quisiera saber como le puedo hacer en un programa de Tickets ,que al agregar me produce numeros consecutivos ( Autonumericos) lo siguiente:

1.-Si el usuario elimina el registro y despues pincha en agregar ,recuperar ese nuemero de Ticket borrado.

2.- Si el usuario Pincho en agregar ( Se genero un nuevo numero de ticket) y despues se arrepintio y dio click en cancelar.
recuperar ese numero que ya no se utilizo, para cuando pinche agregar despues.

estas dudas las he visto en programas de facturas y tickets para que me entiendan mejor.
A mi se me ocurrio un SQL pero hasta ahi me quede.

Select Min(Numfactura) ect.

alguien me podria explicar o mejor si tiene un ejemplo poder pasarmelo.

Muchisimas gracias.


__________________
IcebergDelphi
LIA. Hiber tadeo Moreno Tovilla. INITEC Software



Reportar este mensaje a un moderador | IP: Guardada

marcoszorrilla
18-05-2003, 10:00:32
La única manera de que funcione es huir de los autonuméricos, que por una razón u otra nos van a dejar huecos y los tickets deben de numerarse de forma consecutiva.

En una tabla, pongamos configurarción, guarda el último número de ticket hecho.

Cada vez que hagas uno nuevo carga el último número de ticket en una variable y si se graba, aumentas en uno dicho número en la tabla "configuracion"-

Como generalmente los tickets no se pueden borrar, sino que habría que emitir uno negativo para rectificar con esto ya tendrías resuelto el problema,

Si fuesen facturas, siempre hay que hacer algún arreglo, borrar una....

Entonces tendríamos una opción en el menú del programa para cambiar el contador de facturas, con esto podríamos cubrir un hueco en la facturación, que no sería legal, puesto que tienen que ir consecutivas.

Naturalmente habrá que advertir al usuario que si retrotrae el contador no se olvide de volverlo a su sitio una vez hecho el arreglo.

Un Saludo.

delphi.com.ar
19-05-2003, 17:02:39
Otra posibilidad, muy común en los sistemas grandes, es producir una "baja lógica" de los registros, es decir, marcarlos como borrados.

Saludos!