![]() |
añadir ,00 a un TQRDBText
tengo un problemilla aver si alguien me puede ayudar...muestro una informacion de una base de datos en un quickreport, usando TQRDBText, el problema es que son valores numericos reales, y me gustaria que si son enteros, me añadiese ,00...
La base de datos es en access y aunque el tipo de dato de la BD, es decimal, cuando el valor que se mete no es real, no guarda ,00...y al mostrarlo no me deja ponerlo....se puede poner en el quickreport...o forzar a access a meter el ,00???? GRACIAS |
En la consulta que hagas, al campo en cuestión, añádele el DisplayFormat:= ,0.00
así añade la coma de millares y el punto decimal con 2 decimales. Saludos |
Tu respuesta me ha sido muy util, muchas gracias, aunque el problema es que solo me sirve para ACCESS...
Yo estoy intentando mostrar unos datos de access en un dbgrid de builder C++. Es decir hago una consulta con un QUERY, y con un datasource lo conecto al DBgrid....el dato que me muestra es un FLOAT, y el problema es que aunque en access me lo muestra bien (1,34 por ejemplo), en el dbgrid es 1,340000000000...) Os pongo unas imagenes aclarativas... http://es.geocities.com/antonio_garcia_web/1.JPG http://es.geocities.com/antonio_garcia_web/2.JPG Alguien podria ayudarme en esto...GRACIAS |
En delphi, doble clic al query en tiempo de diseño , boton derecho, add all fields, ahora haces clic en el campo en cuestion, y por último en su propiedad DisplayFormat añades el ,0.00 que tambien añade la coma de separación de millares. Si solo quieres el separador decimal... 0.00 ;)
Con el dbgrid solo hay un problema, que si editas un campo te deja escribir más de 2 decimales, pero despues al salir del campo te mostrará solo 2 y en la base de datos tambien debe guardar 2. Saludos |
Pues...es que no lo habia entendido bien....pero la cosa es que sigo teniendo problemas....porque no me aparece esa propiedad en el objeto:
http://es.geocities.com/antonio_garcia_web/3.JPG He probado a tomar el campo desde la tabla, desde un query, desde el dbgrid pero no me aparece esa propiedad, relacionada con ese objeto.... Pongo esto para acceder al campo: BD->Consulta->FieldByName("Precio")->DisplayFormat... ->ERROR GRID->Columns->Items[0]->DisplayFormat... ->ERROR Uso Builder c++ 5 Esa propiedad es de alguna otra version??? Como podria ponerlo?? Si puedes ayudarme, me resultaria muy muy util....Gracias |
Según Delphi, esa propiedad está disponible para campos numéricos:
TIntegerField, TLargeintField, TFloatField, TBCDField, TFMTBCDField Por tanto tu campo en la consulta, o en el TTable tiene que ser de uno de esos 5, si C++ te dice que es de otro tipo.... pues no la tendrás. Sin embargo decías que estaba como decimal :confused: |
Pues como te venía diciendo hace 2 posts... :(
Cuando en C++ le das doble clic a un TTable / Tquery, te sale una ventanita, en ella clic con el boton derecho y Add all fields, ahora, verás que se rellena con los campos y de hecho cada uno de esos campos será un TintegerField, TstringField, etc. Haciendo clic en uno de ellos, en el Inspector de objetos debes tener esa propiedad. saludos |
Bueno, no sé que ha pasado pero mi respuesta se ha colado antes que el tuyo, por favor leela.
saludos |
Pues en c++ te pongo lo que tengo....
Propiedades del objeto "Tabla" Código:
In TTable TField* __fastcall FieldByName(const AnsiString FieldName); lo uso de la siguiente manera: Tabla->FieldByName("Campo")->Tipo....En tipo pongo como quiero que me capture el dato.... AsString AsFloat AsInteger AsBoolean Propiedades del campo (Donde deberia estar DisplayFormat...pero nada) Código:
In TField Código:
TField is the common ancestor of all the field components in a dataset. ...pero no se como poder acceder a esa propiedad... Alguna idea??? |
Ok...PERFECT!!! MUCHAS GRACIAS!!
El problema es que yo lo hago todo por codigo, acceso a los campos, tablas, consultas...con lo que el objeto Table o Query, solo lo utilizo para conectar con la BD y seleccionar la tabla. Todo lo demas, acceso a los campos...todo desde codigo...y desde codigo no me salia...pero con tu ultima explicacion ya si me ha salido....y ademas hasta redondea, con lo que me ahorro mi funcion de redondeo...je je je Gracias y lamento haber sido tan pesado!!! |
La franja horaria es GMT +2. Ahora son las 12:45:32. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi