![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Se come los decimales el DBGRID
Pues eso que tengo problemas con el dbgrid de 1 base de datos
Siendo el valor 0,25 o 0,5 siempre me saca 0 en el dbgrid. Tambien tengo el mismo problema para garbar ya que en el edit le pongo 0,25 y en la base de datos queda grabado 0 He visto este hilo en el foro http://www.clubdelphi.com/foros/show...ight=decimales pero no encuentro el "displayformat" del que en el hablan ![]() |
#2
|
|||
|
|||
El campo de tu tabla tiene formato decimal?
El DisplayFormat es una propiedad de los TFields, es decir, de los campos persistentes de una tabla. Para verlos (añadirlos / modificarlos), haz doble clic encima de tu Dataset. Esto hará que te aparezca una pantallita. Clica con el botón derecho y selecciona Add All Fields. Se añadirán todos los campos de tu tabla y, seleccionando uno de ellos, verás sus propiedades y, entre ellas, está el DisplayFormat |
#3
|
|||
|
|||
En la base de datos tengo: ->"HACIENDA" NUMERIC (3,2)
Y he puesto ahora en DisplayFormat 0.## -> solo el numero sin decimales #.##-> solo los mayores de 1 y enteros 0.00 -> los que tienen 0 no salen pero aunque sea 0,25 Hoy estoy un poco mas torpe de lo normal ![]() |
#4
|
|||
|
|||
dices que en la tabla ya se está grabando sin decimales... no estarás haciendo algo como....
Tabla.FieldByName('mi campo').AsInteger := mi_numero; |
#5
|
|||
|
|||
En interbase abro la tabla y me aparece cuando cree la tabla unos valores introducidos via SQL y me aparece 0,25
Cuando abro la tabla via DGBRID me da valor 0. Para introducir datos hago objetos['HACIENDA']:= edit1.text; donde objetos es el nombre de Dataset (Ttable) ![]() Esto me habia funcionado siempre ![]() ![]() |
#6
|
|||
|
|||
chico, te pasan cosas muy raras
![]() (era broma, claro) veamos. Si tu pegas en un form un TIBDataset, un TIBTransaction, un TIBTable, un TDataSource y un TDbGrid (y los unes entre si sin hacer nada más y activas el TIBTable), se te ven los datos bien? Otra pregunta. Qué componentes utilizas (BDE, IBX, DBX,...)? Porque el TDbGrid no se come los decimales así porque si ![]() |
#7
|
|||
|
|||
Soy un chapuzas. Se nota demasiado que soy un novato de cuidao
![]() Yo tengo 1 Tdatasource, 1 Ttable y 1Tdbgrid y ya ta y con esto solo ya el Tdbgrid se come los decimales ![]() ![]() ![]() |
#8
|
|||
|
|||
eso quiere decir que accedes a Interbase mediante BDE. No será problema de configuración de éste?? Revisatela a ver (creo recordar que es en Configuration - System - Format)
|
#9
|
|||
|
|||
Perdon he estado unos dias fuera...
No acabo de entender tu ultima respuesta ![]() me dices que es posible que sea problema de configuracion, de la BDE? Y no se donde encontrar la opcion que me pones ![]() Gracias |
#10
|
|||
|
|||
Bueno creo que he encontrado lo que me decias...
BDE Administrador -> Configuration -> system -> formats Decimaldigits -> 2 Decimalseparator -> . Leadingzeron ->TRUE thousandseparator -> , No tengo ni idea de cual seria la opcion correcta. En interbase las consultas al ser SQL los valores quizas son al reves o sea : Separador para decimal "," y para miles el "." Luego lo mirare, por si acaso lo voy posteando. Gracias ![]() |
#11
|
|||
|
|||
Hola
El administrador del BDE lo tienes en el panel de control o bien en Inicio-Programas-Borland Delphi x-BDE Administrator Dentro del Administrador del BDE, en la derecha tienes 2 pestañas (Databases y Configuration). Ves a la de Configuration y mirate que hay en Configuration-System-Formats-Number-DecimalsDigits |
#12
|
|||
|
|||
creo que hemos posteado los 2 al mismo tiempo
![]() |
#13
|
|||
|
|||
Pues sí, lo hemos hecho los dos al mismo tiempo
![]() Respecto a la configuración que tienes, tiene toda la pinta de que el separador decimal y el de millares tengan que estar invertidos como bien comentas Pruebalo y nos cuentas |
#14
|
|||
|
|||
Probado y todo igual
Valor 0,25 en la base de datos si pongo 0.## me sale 0 si pongo 0,## me sale 000 ![]() |
#15
|
|||
|
|||
Pues ya no se me ocurre nada más
![]() Seguramente será alguna tontería, pero ya no se cual puede ser ![]() Si se me ocurre algo más, te lo comento |
#16
|
|||
|
|||
habria alguna otra manera de conectar a la base de datos???
Por provar a ver si es fallo de la base de datos o de la conexion ![]() |
#17
|
||||
|
||||
Hola, con permiso de los presentes....
![]() Código:
objetos['HACIENDA']:= edit1.text; Código:
objetosHacienda.asfloat := strtofloat(edit1.text) en cuanto a lo del separador decimal, mira este mensaje anterior dichoso separador decimal Espero haber ayudado en lugar de confundir más ![]() Saludos |
#18
|
|||
|
|||
Gracias Lepe, supongo que me servira para cuando intente grabar, de momento estoy todavia intentando leer los datos correctamente
![]() En cuanto al hilo lo tengo que leer mas detenidamente ya que soy un novato de cuidao ![]() |
#19
|
|||
|
|||
Lo he hecho 1 poco siguiendo un libro y no se si esta bien.
He conectado a la base de datos con: IBtable IBdatabase IBtransaction Datasource DBgrid Nuna habia hecho esto. pero al menos con esto en el dbgrid me sale con decimales. preguntas: ¿Esta bien lo que he hecho? ¿Es mejor con estos IB que con los BDE convencionales? ¿Se opera de forma distinta? Gracias ![]() |
![]() |
|
|
![]() |
|