Ver Mensaje Individual
  #1  
Antiguo 26-09-2007
Avatar de Gabo
[Gabo] Gabo is offline
Miembro Premium
 
Registrado: mar 2007
Ubicación: Murcia (España)
Posts: 684
Reputación: 18
Gabo Va por buen camino
Valor en celda de DBGrid según código en base de datos

Tengo un DBGrid donde despliego los pagos que ha hecho un cliente. Allí muestro datos como la fecha del pago, el monto y la forma de pago.

Para desplegarlo utilizo un TIBQuery con la siguiente consulta:

Código SQL [-]
SELECT PAGO_CODIGO, PAGO_FECHA, PAGO_MONTO, PAGO_FORMAPAGO, 
FROM PAGO WHERE CLIENTE_CODIGO=:cliente

El tema es que en el campo PAGO_FORMAPAGO almaceno un caracter que me indica la forma de pago, donde:

0 indica un pago en efectivo
1 indica un pago por transferencia
y así sucesivamente...

Debido a lo ya explicado, en el DBGrid me aparece el caracter respectivo, pero yo quiero que me aparezca lo que representa.

Tengo entendido que los DBGrid no proveen de ningún recurso para cambiar el valor en el momento de desplegarlo y por lo tanto todo cambio debe ser en la consulta. ¿O me equivoco?

¿Es posible hacer el cambio en el DataSource o más bien debo cambiar la consulta SQL?

Sabría hacer la consulta si el significado de PAGO_FORMAPAGO está en otra tabla, y podría solucionarlo con algo así:

Código SQL [-]
SELECT PAGO.PAGO_CODIGO, PAGO.PAGO_FECHA, PAGO.PAGO_MONTO, FORMAPAGO.FORMAPAGO
FROM PAGO, FORMAPAGO WHERE PAGO.CLIENTE_CODIGO=:cliente AND PAGO.COD_FORMAPAGO=FORMAPAGO.COD_FORMAPAGO

Pero, ¿cómo podría cambiar esa primera consulta SQL sin crear una tabla nueva?

Nota: Utilizo Interbase 6.0

Gracias a todos de antemano....
__________________
Saludos,
Gabo

A menos que se indique lo contrario, el código estará hecho en C++Builder.
Responder Con Cita