Ver Mensaje Individual
  #4  
Antiguo 07-10-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Como te conectas mediante un TClientDataSet y tomando en cuenta que generalmente por convención en Firebird se se usan los valores 0 y 1 (SMALLINT) como falso y verdradero respectivamente, se me ocurre que podrías lograr lo que buscas mediante un campo agregado (siempre que así tengas definida la columna).

Supongamos que los campos a tomar en cuenta se llaman SUBTOTAL y BOOLEAN, siendo SUBTOTAL el valor a sumar y BOOLEAN que puede tomar los valores 0 y 1 (false/true).

Una opción sería fijar en el TAggregateField la cadena de la propiedad Expresion en : "SUM(SUBTOTAL * BOOLEAN)" eso hará que sólo se sumen los valores de las filas cuya columna BOOLEAN sea igual a 1. Y luego ya podes mostrarlo mediante un TDBEdit por ejemplo.

Para generar un campo calculado en diseño o ejecución revisa este artículo: ClientDataSet Aggregates and GroupState

Te muestro con un ejemplo a que me refiero:



(Usé un TDBGrid y andaba algo haragán así que te debo el detalle del checkbox )

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 08-10-2016 a las 00:36:12. Razón: corregir etiqueta
Responder Con Cita