Ir al contenido


Foto

[RESUELTO] Problema con formato de campo de tipo Moneda


  • Por favor identifícate para responder
74 respuestas en este tema

#21 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 02 marzo 2010 - 02:32

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
  • 1.484 mensajes
  • LocationMallorca

Escrito 02 marzo 2010 - 02:37

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 02:40

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 02:46

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
  • 1.484 mensajes
  • LocationMallorca

Escrito 02 marzo 2010 - 02:55

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 03:00


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
  • 3.486 mensajes
  • LocationMexico City

Escrito 02 marzo 2010 - 03:49

.....
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
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 03:52

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


:shocked: :shocked: :shocked:

Salud OS :)


  • 0

#29 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 02 marzo 2010 - 04:08


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
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 04:12



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
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 06:35

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

Archivos adjuntos


  • 0

#32 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 02 marzo 2010 - 08:07

Saludos.

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

#33 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 02 marzo 2010 - 08:16

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
  • 1.484 mensajes
  • LocationMallorca

Escrito 03 marzo 2010 - 08:38

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 marzo 2010 - 08:48

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

Archivos adjuntos


  • 0

#36 Marc

Marc

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.484 mensajes
  • LocationMallorca

Escrito 03 marzo 2010 - 09:28

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 marzo 2010 - 11:44

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
  • 1.484 mensajes
  • LocationMallorca

Escrito 03 marzo 2010 - 12:12

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
  • 14.448 mensajes
  • LocationMéxico

Escrito 03 marzo 2010 - 12:16

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
  • 6.295 mensajes
  • LocationArgentina

Escrito 03 marzo 2010 - 01:10

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.