|
Hola.
Tu problema está en que el nuevo código se genera directamente en la base de datos (mediante un trigger), y el Dataset Delphi no se entera de que el campo ha cambiado.
Para que vuelva a leer el valor del campo, y se dé cuenta del cambio, tendrás que hacer un Refresh del Dataset.
NOTA : Puedes probar a poner la propiedad AutoGenerateValue del campo persistente, a arAutoInc, para indicarle que ese campo es asignado por la base de datos, y debe volver a leerlo. Aunque en algunos sistemas esto no funciona, no sé que tal irá con FibPlus y Firebird.
Yo lo que hago es no calcular esos campos mediante un Trigger, sinó que obtengo el nuevo valor mediante un procedimiento almacenado (IBExpert te puede crear automáticamente este procedimiento), y lo asigno al campo desde Delphi. Así el Dataset en Delphi siempre tendrá el valor que le hemos asignado manualmente, y no tienes que refrescarlo para que vaya a buscar el nuevo valor.
Saludos.
__________________
Marc Guillot (Hi ha 10 tipus de persones, els que saben binari i els que no).
|