![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
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. |
|
#2
|
|||
|
|||
|
Hola: el error que da es el siguiente:
violation fo primary or uniquey constrart "integ-2" on table "tabla". El generador lo he tenido creado, así como la configuración del ibdataset igual al ejemplo que me pones. Lo que no tengo ni se como se hace es es asignarle el valor mas ato al generador. Un saludo. |
|
#3
|
|||
|
|||
|
Hola:
Si creas el generador sin más el valor que coge es 0 y seguramente por eso te dará el error. Yo lo hago con IBExpert (es muy bueno y gratuito en su versión personal). Te digo los pasos con IBExpert, de otra forma ahora mismo no se hacerlo. Registrar la base de datos, después de registrada doble click para conectarse, aparece la opción generadores, con el botón dcho. sobre él aparece un menú para crear nuevo o si ya existen con doble click sobre el nombre del generador se va pasando a la ventana de la dcha. donde se puede cambiar el valor. Una vez cambiado el valor o el nombre no olvidar compilarlo (botón con rayo amarillo) y Commit para que coja los nuevos valores. Un saludo. |
|
#4
|
|||
|
|||
|
Muchas gracias por todo Fidel.
Es mi gran desconocimiento con interbase. El problema estaba como tu dices en el generador que yo no sabia que habia que asignarle un valor. Lo he hecho con IB_SQL y funciona perfectamente. Un cordial saludo. Agustin. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|