Jump to content


Photo

[RESUELTO] Problema con formato de campo de tipo Moneda


  • Please log in to reply
74 replies to this topic

#21 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2092 posts
  • LocationRepública Dominicana

Posted 02 March 2010 - 02:32 PM

Saludos.

Egostar, prueba con lo siguiente:

1.- Creas los campos de manera persistente en el TSQLQuery.
2.- Asignas tus propiedades (DisplayFormat).
3.- Al TDataSetProvider en Options ponle valor True a poIncFieldProps.
4.- Creas los campos de manera persistente en el TClientDataSet.
5.- Cambia el valor a True en la propiedad Active  del TClientDataSet y luego a False.

Con esos pasos debería de mostrar el formato apropiado.
  • 0

#22 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 02 March 2010 - 02:37 PM

Vuelve a revisar que esté todo correctamente enlazado (no sea que por error tengas el Datasource enlazado con el SQLDataset en lugar de con el ClientDataset, por ejemplo).

Yo he utilizado miles de veces DBX de esta forma, y no he tenido ningún problema con el formato de visualización de los campos en una Grid.

SQLDataset -> DatasetProvider -> ClientDataset (con DisplayFormat en sus campos) -> Datasource -> Grid

Saludos.
  • 0

#23 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 02:40 PM

Saludos.

Egostar, prueba con lo siguiente:

1.- Creas los campos de manera persistente en el TSQLQuery.
2.- Asignas tus propiedades (DisplayFormat).
3.- Al TDataSetProvider en Options ponle valor True a poIncFieldProps.
4.- Creas los campos de manera persistente en el TClientDataSet.
5.- Cambia el valor a True en la propiedad Active  del TClientDataSet y luego a False.

Con esos pasos debería de mostrar el formato apropiado.


Pues no, sigue sin mostrar los decimales, me parece muy extraño, no se si sea algo con el tipo de campo, aunque lo que más raro me parece es que los IBX lo hace bien :s

Salud OS
  • 0

#24 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 02:46 PM

Vuelve a revisar que esté todo correctamente enlazado (no sea que por error tengas el Datasource enlazado con el SQLDataset en lugar de con el ClientDataset, por ejemplo).

Yo he utilizado miles de veces DBX de esta forma, y no he tenido ningún problema con el formato de visualización de los campos en una Grid.

SQLDataset -> DatasetProvider -> ClientDataset (con DisplayFormat en sus campos) -> Datasource -> Grid

Saludos.


Ok está de esta forma

SQLConsumosCOut  -----> DSPConsumosCOut -----> CDSConsumosCOut (con DisplayFormat en sus campos) -----> DSConsumosCOut -----> DBGConsumosCOut

Tal y como lo has mencionado :(

Saud OS
  • 0

#25 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 02 March 2010 - 02:55 PM

Ok está de esta forma

SQLConsumosCOut  -----> DSPConsumosCOut -----> CDSConsumosCOut (con DisplayFormat en sus campos) -----> DSConsumosCOut -----> DBGConsumosCOut

Tal y como lo has mencionado :(


No sé que decirte, esto debería funcionar perfectamente, lo uso a diario.

Si puedes colgar el .pas y .dfm de ese formulario le echaría un vistazo. NOTA: Aunque son las 22:00 y debo salir, pero mañana por la mañana te contesto.

Saludos.
  • 0

#26 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 03:00 PM


Ok está de esta forma

SQLConsumosCOut  -----> DSPConsumosCOut -----> CDSConsumosCOut (con DisplayFormat en sus campos) -----> DSConsumosCOut -----> DBGConsumosCOut

Tal y como lo has mencionado :(


No sé que decirte, esto debería funcionar perfectamente, lo uso a diario.

Si puedes colgar el .pas y .dfm de ese formulario le echaría un vistazo. NOTA: Aunque son las 22:00 y debo salir, pero mañana por la mañana te contesto.

Saludos.


Que tipo de campo utilizas en tu base de datos, yo uso Numeric(10,2), tal vez por ahí esté el problema, no cuelgo el .pas porque está dentro de un proyecto completo, pero voy a hacer una prueba independiente en una base de datos con solo la tabla que nos ocupa y los componentes tal y como los estoy configurando y cuelgo todo.

No me quita el sueño en este momento, puedo continuar con otros asuntos y dejar éste para más adelante, como cuando hacia mis exámenes y no podía con una pregunta. ;)

Salud OS
  • 0

#27 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3486 posts
  • LocationMexico City

Posted 02 March 2010 - 03:49 PM

.....
No me quita el sueño en este momento, puedo continuar con otros asuntos y dejar éste para más adelante, como cuando hacia mis exámenes y no podía con una pregunta. ;)

Salud OS


Ahhhh entonces, de ser así... la respuesta es B :p (y)

Saludox ! :D
  • 0

#28 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 03:52 PM

Ahhhh entonces, de ser así... la respuesta es iBx :p (y)


:shocked: :shocked: :shocked:

Salud OS :)


  • 0

#29 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3486 posts
  • LocationMexico City

Posted 02 March 2010 - 04:08 PM


Ahhhh entonces, de ser así... la respuesta es iBx :p (y)


:shocked: :shocked: :shocked:

Salud OS :)



:undecided: a eso le llamo yo alterar un mensaje a conveniencia...

:p

Saludox ! :D
  • 0

#30 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 04:12 PM



Ahhhh entonces, de ser así... la respuesta es iBx :p (y)


:shocked: :shocked: :shocked:

Salud OS :)



:undecided: a eso le llamo yo alterar un mensaje a conveniencia...

:p

Saludox ! :D


jejeje, es que no quisiera hacerlo con IBX, ya tengo toda la estructura con dbExpress, aunque bueno, que mas dá pasar una noche completa para cambiar todo y listo.

Salud OS
  • 0

#31 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 06:35 PM

Pues aquí esta la prueba de lo que estoy haciendo, a ver si por ahi existe algun error u omisión de mi parte :(

Tendrán que cambiar la ruta de la BD :)

Salud OS

Attached Files


  • 0

#32 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2092 posts
  • LocationRepública Dominicana

Posted 02 March 2010 - 08:07 PM

Saludos.

¿Pues con que versión de Firebird creaste la BD?
  • 0

#33 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 02 March 2010 - 08:16 PM

Saludos.

¿Pues con que versión de Firebird creaste la BD?


Creo que es la 2.1 amigo.

Salud OS
  • 0

#34 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 03 March 2010 - 08:38 AM

Lo siento, no lo puedo probar.

Tengo Firebird 2.0, y no puedo abrir la base de datos que me has enviado.

En todo caso he revisado los componentes y lo veo todo bien, debería mostrarte siempre los decimales.

Me inclino a pensar que te has encontrado con un bug de Delphi. ¿ No tienes actualizaciones pendientes de pasar ?.

Si puedes enviarme un Backup de la base de Datos, en formato "Transportable", miraré a ver si la puedo restaurar en Firebird 2.0, y si puedo probar entonces el programa.

Saludos.
  • 0

#35 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 03 March 2010 - 08:48 AM

Lo siento, no lo puedo probar.

Tengo Firebird 2.0, y no puedo abrir la base de datos que me has enviado.

En todo caso he revisado los componentes y lo veo todo bien, debería mostrarte siempre los decimales.

Me inclino a pensar que te has encontrado con un bug de Delphi. ¿ No tienes actualizaciones pendientes de pasar ?.

Si puedes enviarme un Backup de la base de Datos, en formato "Transportable", miraré a ver si la puedo restaurar en Firebird 2.0, y si puedo probar entonces el programa.

Saludos.


Gracias Marc, voy a revisar si hay alguna actualización que no he instalado aunque creo recordar que esto no me habia pasado, tal vez sea un asunto de la version de mi FB y dbExpress.

Salud OS

Attached Files


  • 0

#36 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 03 March 2010 - 09:28 AM

Hola, no puedo restaurar esa copia de seguridad. La verdad es que hasta ahora nunca había intentado restaurar una base de datos sobre un servidor más antiguo. Me da este error : Expected backup version 1, 2, 3, 4, 5, 6, or 7.  Found 8.

¿ Tienes IB-Expert ?, ¿ puedes subir un script para generar la base de datos ?.

Tienes que ir a Tools -> Extract Metadata, y allí seleccionas la casilla Extract All.

Con eso podré generar una base de datos exactamente igual a la tuya, pero en Firebird 2.0.

Saludos.
  • 0

#37 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 03 March 2010 - 11:44 AM

Hola Marc,

Vaya que si esta muy raro, este es el DDL de esta pequeña base de prueba.



sql
  1. /******************************************************************************/
  2. /*            Generated by IBExpert 2009.08.17 03/03/2010 11:41:41            */
  3. /******************************************************************************/
  4.  
  5. SET SQL DIALECT 3;
  6.  
  7. SET NAMES ISO8859_1;
  8.  
  9. CREATE DATABASE 'LOCALHOST:C:\Proyectos 2009\Test dbXpress\base\dbXtest.fdb'
  10. USER 'SYSDBA' PASSWORD 'masterkey'
  11. PAGE_SIZE 16384
  12. DEFAULT CHARACTER SET ISO8859_1;
  13.  
  14.  
  15.  
  16. /******************************************************************************/
  17. /*                                  Tables                                  */
  18. /******************************************************************************/
  19.  
  20.  
  21.  
  22. CREATE TABLE CONSUMOS (
  23.     FOLIO    VARCHAR(10) NOT NULL,
  24.     FECHA    DATE,
  25.     HORA    TIME,
  26.     IMPORTE  NUMERIC(15,2),
  27.     IVA      NUMERIC(15,2),
  28.     TOTAL    NUMERIC(15,2)
  29. );
  30.  
  31.  
  32.  
  33.  
  34. /******************************************************************************/
  35. /*                                Privileges                                */
  36. /******************************************************************************/
  37.  
  38.  
  39. /* Privileges of users */
  40. GRANT SELECT ON RDB$FORMATS TO PUBLIC;
  41. GRANT SELECT ON RDB$PAGES TO PUBLIC;
  42. GRANT SELECT ON RDB$ROLES TO PUBLIC;



Salud OS
  • 0

#38 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1484 posts
  • LocationMallorca

Posted 03 March 2010 - 12:12 PM

Hola.

Vaya que si esta muy raro, este es el DDL de esta pequeña base de prueba.


No en realidad es comprensible, intento restaurar una copia de seguridad de una base de datos Firebird 2.1 sobre Firebird 2.0.

Bueno, ya he podido probar ese pequeño programa, y en mi sistema funciona perfectamente (Delphi 2007), muestra los importes como debería (en función de mi configuración regional) es decir 12,30 €, 6,00 €, etc. ...

No he modificado ni una coma de tu programa (aparte de la cadena de conexión), así que tiene que ser un bug de tu Delphi (dudo mucho de que sea un problema de Firebird 2.1 o del driver dbExpress, cuando ya tienes los datos en el ClientDataset no importa mucho de donde hayan venido).

¿ No has encontrado una actualización para tu Delphi ?.

Saludos.
  • 0

#39 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 03 March 2010 - 12:16 PM

Vaya, pues será que necesito algún parche, hasta ahora solo he visto updates para delphi9 y dephi10, voy a buscar un poco más a ver si doy con alguno que tenga que ver con mi D2006 que es la versión de mi Turbo Delphi.

Salud OS y gracias por todo el tiempo que me han brindado.


  • 0

#40 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6295 posts
  • LocationArgentina

Posted 03 March 2010 - 01:10 PM

Hola,
Yo uso F1.5, tengo una base de datos de prueba con una tabla y campos Numeric(10,2). Modifico la ruta a la db y listo... intento abrir la conexión y me indica que no puede abrir la dll dbxint30.dll... quizá deba cambiarla por alguna otra... ¿Alguno de ustedes tiene alguna idea, para probar?... yo uso D6.

Saludos,

  • 0




IP.Board spam blocked by CleanTalk.