FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Problemas con los campos de una consulta SQL
Hola a todos
Estoy usando C++Builder6 y quiero usar DisplayFormat para que en mi DBGrid, en las celdas cuyos valores son de moneda, me ponga el símbolo de $ y los valores decimales. Estoy usando esto:
Y no me funciona, me dice que no encuentra ese campo(a pesar de que la utilizo luego del ADOQuery1->Open(). El tema es que estoy usando varias tablas en mi consulta y al hacer SELECT debo usar cosas como esta "contratos.monto_cto, clientes.nombre_clte". Intenté usar alias, como "contratos.monto_cto AS monto", pero igual no lo encuentra. Sin embargo, si pongo un SELECT * FROM Tabla1, Tabla2..., si funciona. Al igual que si utilizo una consulta simple a una sola tabla. Cómo pudiera resolver ese problema? Necesito que sea mediante código, porque son muchas consultas, y no deseo usar un TADOQuery para cada una. Saludos Última edición por Neftali [Germán.Estévez] fecha: 04-03-2024 a las 17:10:06. Razón: Añadir TAGs |
#2
|
|||
|
|||
A mi me funciona perfecto así y probé con TNumericField y también:
((TFloatField *)(FDMemTable1->FieldByName("TOTAL")))->DisplayFormat = "$ ###,##0.00"; o así: ((TNumericField *)(FDMemTable1->FieldByName("TOTAL")))->DisplayFormat = "$ ###,##0.00"; |
#3
|
||||
|
||||
Cita:
Seguramente quitando el "contratos."
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#4
|
|||
|
|||
No, no puedo quitar contratos porque es el nombre de una tabla; mi consulta es la siguiente:
Y como dije anteriormente intenté usar ALIAS es la consulta como contratos.timeRest_cto AS timeRest_cto, y no funciona, dce que no lo encuentra. Y necesito hacerlo por código, ya que son muchas consultas y no quiero usar tantos TADOQuerys. Si sustituyo todos los campos de mi consulta por un "*" sí me funciona, pero aparecen otros campos en el DBGrid que no me interesa mostrar, por eso uso ese tipo de consulta. Última edición por Casimiro Notevi fecha: 04-03-2024 a las 21:32:58. |
#5
|
|||
|
|||
Si, como comentó Casimiro, que yo no lo había visto en mi respuesta anterior, es el alias, el resultado del nombre de la consulta de un SQL es siempre sin el alias, prueba que no te cuesta nada y verás que funciona.
En el ejemplo que yo te puse la sentencia es VENTAS.TOTAL |
#6
|
|||
|
|||
Cita:
El problema es que no es un campo de una tabla, sinó una consulta que incluye a varias tablas, es por eso que el nombre del campo es contratos.monto_cto , y no monto_cto solamente. Entonces el problema es que si especifíco el nombre de la tabla junto con el nombre del campo, no me funciona. Solo funciona si quito el nombre de la tabla. Pero así no puede ser. |
#7
|
||||
|
||||
Cita:
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#8
|
|||
|
|||
Pon esto que te comentó Casimiro y cuentas como te fue, manteniendo el alias en la consulta SQL si quieres:
No es quitar el alias de la consulta SQL sino de la linea anterior. |
#9
|
|||
|
|||
Tienen Razón, SÍ Funciona, es que yo estaba copiando y pegando y tenia un error en el componente TADOQuery, estaba usando el que no era.
También estaba ofuscado por la idea de que cómo el builder iba a saber el campo a cual tabla pertenecía, y es que esos campos, los monetarios, no se repiten en otras tablas. Una vez más Gracias a Todos |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Consulta por Multiples campos | steelha | MySQL | 2 | 26-02-2013 16:02:20 |
TClienDataSet Problemas con Campos Blob y Campos Calculados | LEVV | Conexión con bases de datos | 2 | 11-05-2012 02:25:43 |
Consulta en campos Null| | pmtzg | Conexión con bases de datos | 2 | 26-02-2008 02:38:51 |
Consulta en campos memo | Ferran | Tablas planas | 8 | 03-02-2007 13:55:29 |
Campos de consulta con valores NAN | ElDuc | SQL | 1 | 12-09-2005 11:28:59 |
|