![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#4
|
||||
|
||||
|
Aquí yo primero me cuestionaría el porqué guardar un campo calculado en la base de datos. Es decir, si el valor de un campo puede ser calculado a partir de otros campos, entonces ¿para qué guardarlo si siempre se puede recalcular?
Delphi ofrece soporte para campos calculados que puedes añadir a un dataset y en los cuales haces el cálculo correspondiente, mismo que se muestra como cualquier otro campo aunque realmente no exista en la tabla física. Vamos a ejemplificar suponiendo que tienes campos campo1 y campo2 de tipo entero en tu tabla y que quieres mostrar un campo resultado con la suma de ambos campos, pero que tal campo no existe en tu tabla. En el editor de campos del dataset añades todos los campos y luego escoges la opción New field: ![]() En las propiedades del nuevo campo escribes el nombre que desees darle y dejas seleccionada la opción Calculated: ![]() Finalmente, en el evento OnCalcFields del dataset pones:
Con esto, tu dbgrid mostrará el campo Resultado como si fuera otro campo de tu tabla y su valor se calculará en automático conforme coloques valores a los otros dos campos. ----------------------------------- Ahora bien; si por cualquier razón debes guardar el campo como parte de tu tabla, entonces tienes que hacer los cálculos tú mismo. Para empezar, no pongas el campo Resultado como ReadOnly porque entonces no te dejará modificarlo de ninguna manera. Usa mejor la columna del dbgrid para hacerlo de sólo lectura. Asigna un mismo evento OnChange a los otros campos y coloca ahí el código de la fórmula (suma en este ejemplo):
// Saludos |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Celdas de un DBgrid | jzk | OOP | 6 | 14-12-2004 14:13:31 |
| Stringrid y sus celdas .... | elbilla | Varios | 0 | 04-10-2004 18:40:15 |
| Celdas en DBGrids | karocs | Conexión con bases de datos | 1 | 31-08-2004 13:24:13 |
| bloquear celdas en un stringgrid | ciscu | Gráficos | 1 | 18-12-2003 18:34:50 |
| bloquear celdas en un stringgrid | ciscu | Varios | 1 | 13-12-2003 04:41:54 |
|