FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Error en campo calculado ?
HOla amigos del foro, tengo una duda, trato de obtener un campo calculado de una consulta realizada
Código:
Select SUM(IMPORTE)from CUEN01 where CCONREFER='N' and cclie='AB001' Código:
Saldo1:=strtofloat(SQLquery.fields[0].AsString); // SQLquery:Tquery Utilizo tablas paradox. Gracias anticipadas y espero sus cometarios |
#2
|
||||
|
||||
una diferencia de casi 4.5 centimos puede ser muy significativa, pero lo único que se puede decir con tan poca información es que seguramente en el motor donde almacenas los datos estos contienen fracciones que dan la suma.
Para finalizar, solo quiero comentar que ninguno de los motores con los que he trabajado presenta problemas para sumar números de esta manera (entre ellos están oracle, firebird, interbase, mysql, SQL Server, y unos cuantos mas). Saludos.
__________________
Juan Antonio Castillo Hernández (jachguate) Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate |
#3
|
||||
|
||||
Disculpen si no fui claro, sucede que tengo 2 consultas, las cuales son strings como son:
Código:
SQLFindKardexclieS1: 'Select SUM(IMPORTE) from CUEN01 where CCONREFER='N' and cclie=' SQLFindKardexclieS2: 'Select SUM(IMPORTE) from CUEN01 where CCONREFER='S' and cclie=' Un ejemplo, tabla : CUEN01 CCLIE IMPORTE CCONREFER ñi008 16.50 N ñi008 16.50 S Mi codigo es el siguiente,utilizo el mismo query para hacer los calculos : Código:
SQLquery:=ObtenerSQL(SQLFindKardexclieS1+chr(39)+Codigoclie+chr(39)); Saldo1:=strtofloat(SQLquery.fields[0].asstring); SQLquery:=ObtenerSQL(SQLFindKardexclieS2+chr(39)+Codigoclie+chr(39)); Saldo2:=strtofloat(SQLquery.fields[0].asstring); if Saldo1=Saldo2 then .............................. Lo raro es que obtengo es que obtengo esto : saldo1:=16.14999926 ------- N saldo2:=16.5 --------S Realizo un bucle realizando el codigo mostrado, pero el error que comento solo ocurre algunas veces........pero esas algunas veces malogran todo los calculos...........que puede ser, se que parece raro.. Espero sus cometarios Última edición por Coco_jac fecha: 16-12-2005 a las 18:36:48. |
#4
|
|||
|
|||
Por lo que veo, estas haciendo calculos con las tablas de SAE de aspel, y me imagino que en paradox. En otros tiempos me toco sacar algunos reportes de dicho sistema, y tenía los mismos problemas, y si mi memoria no me falla lo solucione sumando el redondeo hacia arriba de 2 decimales en el campo importe de cada registro.
Saludos Samantha Jones |
#5
|
||||
|
||||
Muchas gracias, sabes pense que yo estaba loco por estos resultados, nadie me creia......................
|
#6
|
||||
|
||||
Gracias Samantha, eso era, un redondeo hacia arriba de 2 decimales, funciono bien gracias......................
|
|
|
|