Tengo un DW que contiene 2 campos Clave, Descripción lo que requiero es que al dar una nueva alta me aparezca en el campo folio el numero consecutivo, por ejemplo 0002, lo he intentado de varias formas pero no me funciona. De antemano muchas gracias por tu ayuda. Atentamenta Abraham Avilès L. Mèxico, D.F.
Respuesta de Antonio Garcia
1
1
Antonio Garcia, clipper todas sus versiones (manejo total) power builder todas...
Puedes hacerlo de 2 formas Una colocando en la tabla un campo auto increment. Esto te dará la ventaja que el mismo campo automáticamente aumentara un valor a la siguiente alta o registro nuevo, sin embargo esta solución deberá ser por medio de un campo numero, y en tu pantalla tendrás que darle un formato a la presentación del valor, tienes ventaja pues te olvidas definitivamente del control, y ademas el auto-increment, independientemente de la existencia de los registros, siempre va a generar el siguiente valor inmediato mayor. Por otro lado puedes hacer el mismo control, en una columna del tipo numérico, pero programaticamente, es decir, creas una función en la cual determinas un algoritmo de incremento, por ejemplo haciendo un select de la columna que contiene el valor del ultimo código generado, una vez seleccionado aumentar el valor en 1, y luego generar un update de esta, del valor de dicha columna, la cual deberá estar en una tabla totalmente independiente, de esta forma te aseguras que el valor siempre va a ser el inmediato superior, independientemente de los registro existentes de la tabla que recibe el numero correlativo. Tienes que tener en cuenta que en cualquiera de los dos casos de solución, deberás incluir el manejo de procedimiento transaccional, o lo que es igual a que si cualquiera de las transacciones hechas en un bloque, (por ejemplo puedes tener en un bloque un select, dos insert y un update) emite un error, toda la transacción es rechazada. De lo contrario es aceptada. Espero esto pueda se de utilidad para resolver tu problema