Hola a todos, esperaba responder antes, pero no he tenido tiempo.
Bueno, a continuación paso a responder las preguntas planteadas por Al Gonzalez:
3- la clase del componente devol es
TFMTBCDField.
4- con los campos persistentes ocurre lo mismo .
5- devuelven excepctions del Delphi, a diferencia del
AsVariant que me devuelve el
mismo valor de
AsString.
6- Esto ya lo había intentado y continua el problema independiente del nombre
del campo que se le de.
7- A ver, aquí me voy a detener un poquito más; ejecuté la consulta aplicando un
AVG al campo Devol y para sorpresa mia me mostró bien el valor para el único
Vendedor que tiene valor:
La cantidad de registros del venedor son
24 por lo que
25000/24 = 1041 (truncando
los decimales). Como el resultado lo mostró bien, agrege un valor de
15000 al
campo devol correspondiente a un registro de otro vendedor, ejecuté nuevamente la
consulta y efectivamente el primer valor continuaba mostrandolo bien, pero el nuevo
valor generado lo muestra así:
El segundo vendedor tiene
17 registros por lo que
15000/17=882, pero como Uds.
pueden ver, me lo muestra como
88?.
En vista de todas las pruebas realizadas y según lo conversado yo también
creo que lo más lógico es que el problema esté en el driver como lo dice
Roman con lo cual coincide también Al Gonzalez. Por el momento, para consultas
de éste tipo, me valgo de componentes InterBase (IBDatabase, IBTable...)
que hasta el momento me funcionan bien con ese tipo de consultas.
Recuerden que la idea de quere usar los componentes DbExpress es que,
en el posible e inminente cambio de Base de Datos, las modificaciones al
código y diseño que me correspondan realizar sean mínimos.
Gracias.