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