|
Hola:
No es que te expliques mal, es que no nos contestas lo que te hemos preguntado, y entonces hay que ir adivinando, y a veces uno adivina bien, otras mal y otras no tiene ganas de adivinanzas.
¿Qué error exacto te da?
¿Cómo generas los nuevos valores cuando te da el error?
Estás empeñado en el orden del campo llave y eso en este caso no tiene ninguna importancia, a no ser que busques el valor mayor y quieras que esté en el último registro para ir a buscarlo allí, en cuyo caso bastaría con ordenar la tabla por ese campo.
Lo que a mi me parece, es que piensas que por poner un DBNavigator y añadir un registro, va a ir al último registro, va a coger el valor que tiene y va a incrementarlo, y esto no es así.
El valor incrementado lo tienes que generar tu de alguna manera, por el solo hecho de añadir un registro no se va a generar el solo, puedes hacerlo manualmente como tu dices o de una forma automática, con un generador por ejemplo.
Con un generador:
Crea un generador, por ejemplo G_CODIGOMIO
Asignale el valor más alto que tengas en el campo
En el IBDataSet, propiedad GeneratorField pones..
Generator: G_CODIGOMIO
Field: ELQUESEA
Increment by: 1
Apply Event: On New Record
Con esto cada vez que añadas un registro automáticamente se incrementará el último valor en uno y se colocará ese valor en el campo ELQUESEA
Un saludo.
|