PDA

Ver la Versión Completa : Mostrar siempre 2 decimales


Novás
30-12-2003, 11:06:11
Hola a todos:

Mi problema es que no se como puedo conseguir que, en una consulta sql bajo access me muestre siempre dos decimales a pesar de que sean ambos 0, es decir que me aparezcan siempre los números en el formato x,xx tanto para un número como 1,00 como para uno 1,10 como para 1,11.

He utilizado el Round(total,2) pero como que no hace lo que pido, ha alguién se le ocurre una solución o tengo que codificarlo de otra manera.

Muchas gracias de antemano por vuestra colaboración. ;)

cadetill
30-12-2003, 13:10:56
Para lograrlo basta con que informes con la máscara deseada la propiedad DisplayFormat del TField (campos persistenetes)

Puedes ponerle algo como : DisplayFormat = #,##0.00 con lo que conseguirás los 2 decimales y el separador de miles

Novás
30-12-2003, 13:33:39
Perdón por mi ignorancia pero...

Trabajo con BDE e inserto la consulta de la forma:

Query1.SQL.add(CadenaSql);

Luego de ejecutar esa consulta, ésta se visualiza en un DbGrid.
Mi pregunta es donde accedo a esa propiedad, o acaso estoy haciendo algo de forma incorrecta...

cadetill
30-12-2003, 15:06:12
La consulta siempre es la misma? o almenos devuelve las mismas columnas? si es así, pon la sentencia SQL en la propiedad SQL de la Query, haz doble clic encima del componente y te aparecerá una pantallita. Allí haz clic con el boton derecho y escoge Add All Fields. Con esto creas los campos persistentes, ahora sólo te queda seleccionar el deseado para establecer su propiedad.

Si la consulta no devuelve las mismas columnas, puedes hacerlo por código accediendo a los Fields una vez abierta la consulta


TFloatField(Query1.Fields[1]).DisplayFormat := '#,##0.00';

marcoszorrilla
30-12-2003, 16:12:33
Con permiso de mi amigo Cadetill, propongo 2 métodos más:


TFloatField(Query1.FieldByName('importe')).DisplayFormat := ',0.00';

TFloatField(Query1.FindField('importe')).DisplayFormat := ',0.00';


Como más seguro me quedo con el segundo, se trata de garantizar que el campo existe, y tanto en el primero como en este, evitar que se pueda producir un fallo por un cambio de situación de las columnas de la consulta.

Un Saludo.

cadetill
30-12-2003, 16:25:55
marcoszorrilla comentó:
Con permiso de mi amigo Cadetill, propongo 2 métodos más:

Faltaría más :D ;)

Novás
30-12-2003, 16:29:14
Muchísimas gracias a ambos, he resuelto el problema gracias a vuestra colaboración...

Hasta la próxima