Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Cambio de Moneda dentro de una consulta (https://www.clubdelphi.com/foros/showthread.php?t=54120)

MaMu 10-03-2008 03:25:48

Cambio de Moneda dentro de una consulta
 
(trabajo con Delphi 7, mySql 4.1 y Zeos)

Yo estoy haciendo una aplicación con una tabla contable DEBE, HABER y SALDO, sin problemas y ya solucionado los inconvenientes de la consulta,
como se puede leer y mi post sobre el asunto http://www.clubdelphi.com/foros/showthread.php?t=54058

Ahora bien, la consulta me ha quedado así, y funcionando perfectamente:

Código SQL [-]
select id_caja, fecha, concepto, cantidad, debe, haber, (debe - haber) as saldo, categoria,  
(
select sum(debe-haber) from caja t where t.fecha<= caja.fecha
) as acumulado
from caja
order by fecha

Pero... lo que quiciera hacer, es poder cambiar de moneda, por ejemplo a dolar.
Yo cuento con una variable tipo Currency o String (StrToCurr o CurrToStr, me da lo mismo) con el valor del cambio a dólar, pero no se como ingresarlo para calcularlo dentro de la consulta, por ejemplo y a groso modo (como para que se entienda la idea nomas...)

Código Delphi [-]
dolar:='2,5';
dolar_SQL:='
select id_caja, fecha, concepto, cantidad, debe, haber, (debe - haber) as saldo, categoria, (debe*'+dolar+') as ddebe, (haber*'+dolar+') as dhaber,
(
select sum((debe-haber) from caja t where t.fecha<= caja.fecha
) as acumulado, (acumulado*'+dolar+') as dacumulado
from caja
order by fecha';

Pero me tira un lindo error cuando paso el numero como variable:

si yo hago

Código Delphi [-]
((debe)*2.5) as dolar

me lo toma valido, pero si hago

Código Delphi [-]
((debe)*'+dolar+') as dolar

ahi me tira error. Porque?


Como puedo hacer para calcular esa consulta pasando DEBE, HABER y SALDO a dolar, desde mi moneda???

Saludos y gracias

MaMu 10-03-2008 04:01:15

Funcionará con

Código Delphi [-]
QuotedStr(dolar)

Digo, porque el tema del separador decimal.

Saludos

MaMu 10-03-2008 04:34:26

Cita:

Empezado por mamu (Mensaje 271926)
Funcionará con


Código Delphi [-]
QuotedStr(dolar)





Digo, porque el tema del separador decimal.

Saludos

Me respondo solo, si, funciona y no tira error, el tema es que solo me toma un numero entero, por lo que lo que haya luego de la coma o el punto, no corre. Asi que, que formato tengo que usar en vez de "QuotedStr" para que me tome un currency???

Saludos again


La franja horaria es GMT +2. Ahora son las 22:02:40.

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