Page 1 of 1

Errores en campos calculados

Posted: Mon Apr 29, 2019 10:59 pm
by XeviCOMAS
Me està ocurriendo un error, y no veo como poder salvarlo...

Bien, en DBFs, me está funcionando correctamente, el tema va por MariaDB

Dispongo de un TDBBrowse y una de las columnas pertenece a un campo calculado
Además, el TDataSet dispone de más campos calculados, como por ejemplo...

miDataSet:AddCalcField( "BASE1", {|| miDataSet:TOTAL - miDataSet:DTO } )


El error que me da, es cuando hago un filter() y no hay ningún registro que cumpla la condición, pues al llegar al campo calculado, en DBF por ejemplo no da error porque es 0, pero en una Tabla MariaDB, lanza error!!!

También ocurre si en el Browse, elimino el ultimo registro o si elimino el único registro...

Alguna ayuda!!!

Estoy haciendo mal los campos calculados???

Gracias por vuestro tiempo.

Re: Errores en campos calculados

Posted: Tue Apr 30, 2019 12:38 am
by gabo1
Hola Xavi
Creo que la unica solución es que valides que el campo "BASE1" exista en el DataSet y que su valor no sea NIL
Saludos!

Re: Errores en campos calculados

Posted: Tue Apr 30, 2019 8:55 am
by XeviCOMAS
Exacto,

Se me vino a la mente esta noche esa solución.
Puesta e implementada perfectamente!!!

miDataSet:AddCalcField( "BASE1", {|| If( miDataSet:TOTAL = Nil, 0, miDataSet:TOTAL - miDataSet:DTO ) } )

Es como si se creara un registro "fantasma" por unos instantes, al eliminar un registro o al hacer un filtro vacio... no se, eso es lo que me viene a la cabeza. En fin, Solucionado!!!

Gracias.