PDA

Ver la Versión Completa : generador


novaten
08-04-2005, 22:22:14
tengo un generador en una base de datos firebird 1.5 para usarlo en un campo autonumerico, el caso es que cuando en el form de delphi, hago un registro nuevo y el guarda el autonum como 18, guardo el registro y luego le doy a nuevo y en vez de cubrir cancelo y el siguiente registro que hago ya me genera para el autonum el 20. El caso es que yo quiero que cuando cancele no me sume uno, me dijeron aqui que debia poner el autonum para que lo cubriera before insert, el caso es que entonces en el form no me aparece el numero que va a poner cuando estoy cubriendo el registro nuevo.

Alguien sabria echarme una mano?

Crandel
09-04-2005, 21:29:44
EL tema es complejo, lo primero es saber si realmente es un problema que los numeros no sean consecutivos.
Si no hay problema asunto solucionado.
Si hay problema, podes usar un trigger para insertar el numero, por ejemplo

CREATE TRIGGER BI_TABLA FOR TABLA
ACTIVE BEFORE INSERT AS
BEGIN
TABLA.ID_MOV = gen_id(autonum, 1);
END^


para oder saber el valor de un generador podes usar:

CREATE PROCEDURE VALOR_autonum RETURNS (COD INTEGER)
AS
BEGIN
COD = gen_id (autonum, 0);
END^


espero que te sirva

Suerte