Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 17-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 17-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 17-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
dices que en la tabla ya se está grabando sin decimales... no estarás haciendo algo como....

Tabla.FieldByName('mi campo').AsInteger := mi_numero;
Responder Con Cita
  #5  
Antiguo 17-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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 , eso si siempre con enteros y texto
Responder Con Cita
  #6  
Antiguo 17-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #7  
Antiguo 17-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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


Responder Con Cita
  #8  
Antiguo 17-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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)
Responder Con Cita
  #9  
Antiguo 23-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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
Responder Con Cita
  #10  
Antiguo 23-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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


Responder Con Cita
  #11  
Antiguo 23-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #12  
Antiguo 23-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
creo que hemos posteado los 2 al mismo tiempo
Responder Con Cita
  #13  
Antiguo 23-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #14  
Antiguo 23-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
Probado y todo igual

Valor 0,25 en la base de datos

si pongo 0.## me sale 0
si pongo 0,## me sale 000


Responder Con Cita
  #15  
Antiguo 23-09-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
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
Responder Con Cita
  #16  
Antiguo 23-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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
Responder Con Cita
  #17  
Antiguo 23-09-2003
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Hola, con permiso de los presentes....

Código:
objetos['HACIENDA']:= edit1.text;
a mi me gusta mas hacer:
Código:
objetosHacienda.asfloat := strtofloat(edit1.text)
así accedes al campo persistente directamente.

en cuanto a lo del separador decimal, mira este mensaje anterior
dichoso separador decimal

Espero haber ayudado en lugar de confundir más

Saludos
Responder Con Cita
  #18  
Antiguo 24-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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
Responder Con Cita
  #19  
Antiguo 24-09-2003
cisterpe cisterpe is offline
Miembro
 
Registrado: sep 2003
Posts: 75
Poder: 21
cisterpe Va por buen camino
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
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 19:15:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi