![]() |
Auto.incrementar
Buenas Tardes
He revisado varios hilos de este tema pero sigo con los mismos problemas, pues no tengo experiencia en el manejo de bases con delphi y esas cosas, por esta razón me quedan muchas dudas al respecto. Tengo una tabla con los siguientes campos, ID, CANTIDAD, P1,P2,P3,P4,P5, P_TOTAL(ESTE DEBE SER LA SUMA DE TODAS LAS P), PUNTOS, VAL_PUNTO, TOTAL(SALE DE MULTIPLICAR PUNTOS Y VAL_PUNTOS), ningun campo puede estar vacio. El campo ID es auto incrementado por un triguer
si ingreso los datos manuales a la base todo funciona bien se auto incrementa sin problema. Cree un formulario con delphi 7 y hago la conexión con la base con los componentes IB, tengo un DBNavigator para crear los registros y recorrer la tabla , para llenar los datos utilizo un Tdbedit, cada uno de estos apunta al campo que le corresponde, el tdbedit del ID esta de solo lectura, lleno los demás campos y al grabar me genera un error en el que me dice que el campo ID debe tener algún valor, este es mi primera duda que debo hacer para que no aparezca este error y se graben los datos en la tabla y el campo ID se auto incremente normalmente, otro cosa es que cuando le de nuevo registro en el DBNavigator me muestre el nuevo numero de registro (ID). lo segundo es como haría para calcula la suma de todos los campos P y me los muestre antes de grabar o refrescar, se puede con un dbedit o me toca cambiar el componente, lo mismo seria para TOTAL, si no utilizo un dbedit despues como grabo los datos en la base cuando le de guardar, ademas tengo un dbgrid donde también puedo ver todos los datos de la tabla. gracias por la ayuda |
Hola yevabas.
Por favor recuerda que una pregunta por hilo: Punto 8 de la guía de estilo. Cita:
Generator Field ->
|
Lo que te recomienda ecfisa es lo que yo hago. Esos trigger después te complican cuando querés modificar algo en la tabla.
No recuerdo si al campo, en este caso ID, tenés que declararlo como required = False. Si vas a seguir trigger, al campo ID tenes que ponerlo en required = false |
Ok muchas gracias voy a intentarlo y les cuento, y disculpas por las dos preguntas en un solo hilo.....
|
Gracias ecfisa lo resolví exactamente como lo dices, perdón por la demora en contestar pero me toco salir de viaje...
Cita:
|
La franja horaria es GMT +2. Ahora son las 13:28:41. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi