[RESUELTO] Funcion SUM en Quickreport
#1
Escrito 07 enero 2010 - 07:38
¿A alguien le paso algo parecido?
#2
Escrito 07 enero 2010 - 07:39
Cuando tengo problemas con los números es lo primero que reviso.
#3
Escrito 07 enero 2010 - 11:05
Otra cosa que se me ocurre, pudiese ser que algún registro tenga un valor nulo y por ahi venga el error.
Salud OS
#4
Escrito 07 enero 2010 - 11:57
Vaya, primera vez que escucho algo como lo que mencionas amigo seoane y como bien dice edualcol perdon eduarcol , habrá que ir sobre el formato numérico.
Otra cosa que se me ocurre, pudiese ser que algún registro tenga un valor nulo y por ahi venga el error.
Salud OS
Lo primero que pensé fue en el null pero como dice que en el resto de las pc trabaja bien lo descarte de primero.
#5
Escrito 07 enero 2010 - 12:10
Salud OS
#6
Escrito 07 enero 2010 - 12:19
Cierto amigo Eduardo, "pequeño" detalle que no tome en cuenta. :$
Salud OS
que no vuelva ocurrir la próxima vez, porque para escribir eso mejor no escribas nada jajaja
#7
Escrito 07 enero 2010 - 12:30
Se me ocurre que al ser un programa de tercero puede que la conexión a la BD y la Tabla respectivamente la haga de forma que no encuentre los valores, por eso aparecerían en cero.
El factor SUM no es influyente de la configuración regional, en tal caso envía un error de (invalid float ......).
Para mi es un problema con la conexión a la tabla de donde obtiene los datos ya que no hay errores.
Saludos
#8
Escrito 07 enero 2010 - 03:36
Y de paso doy algún dato mas. La base esta bien y la consulta sql también, ya que si la ejecuto en un visor de paradox me devuelve una tabla con los datos correctos.
El problema viene del report. Si quito la función SUM se me muestran datos en el report (no la suma por supuesto) pero algo sale, sin embargo cuando vuelvo a colocar la función SUM todo se vuelve a poner a cero.
Este problema me va traer dolores de cabeza. Lo único que se me ocurre es formatear todo y empezar desde cero, pero el equipo donde esta instalado es un servidor proliant con windows server 2003 ... y cualquiera le mete mano a ese bicho :$
#9
Escrito 07 enero 2010 - 04:10
Lo único que se me ocurre es formatear todo y empezar desde cero
Vamos amigo seoane, no seas tan radical
Voy a instalar una pequeña aplicación en una máquina con Windows Server 2003 que tengo en mi casa y probamos a ver si encontramos el problema.
Be right back!!!!
Salud OS
#10
Escrito 07 enero 2010 - 04:44
SUM(db.montototal)???
#11
Escrito 07 enero 2010 - 04:51
Podrías colocar como queda la sentencia sum??
Pues la sentencia SQL devuelve una tabla como esta:
Codigo Stock1 Stock2 1 1.5 1.3 1 2.3 4.6 2 1.2 1.9 3 4.1 0.3
Y en el report agrupo por el Código y la expresión que utilizo es algo asi: SUM(Stock1)
#12
Escrito 07 enero 2010 - 04:53
#13
Escrito 07 enero 2010 - 04:59
Yo también pensé en la configuración regional, pero no pude probarlo esta tarde y ahora mismo aquí es medianoche así que tendré que esperar hasta mañana . En cuanto compruebe la configuración regional te digo algo.insisto en la configuración regional, ya revisaste??
#14
Escrito 07 enero 2010 - 05:07
#15
Escrito 18 enero 2010 - 09:56
De todas formas he revisado mejor todos los informes y creo que mis primeras conclusiones fueron algo precipitadas. Lo primero es que hay un informe que también utiliza la funcion SUM y si que funciona y ademas me he traído uno de los informes a mi ordenador y tampoco va. Ya me estoy volviendo loco.
Y como dice que multitud de ojos ven mas que dos, aqui os dejo los datos del informe que no va.
La consulta es así:
SELECT IdArticulo, Stock AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 99 UNION SELECT IdArticulo, 0 AS Alm1, Stock AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 100 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, Stock AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 101 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, Stock AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 102 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, Stock AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 103 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, Stock AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 104 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, Stock AS Alm7, 0 AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 105 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, Stock AS Alm8, 0 AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 106 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, Stock AS Alm9, 0 AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 107 UNION SELECT IdArticulo, 0 AS Alm1, 0 AS Alm2, 0 AS Alm3, 0 AS Alm4, 0 AS Alm5, 0 AS Alm6, 0 AS Alm7, 0 AS Alm8, 0 AS Alm9, Stock AS Alm10 FROM ":BackOffice:ArtStocksAlmacenes.DB" WHERE IdAlmacen = 108 ORDER BY IdArticulo
Esta consulta nos devuelve para cada articulo varias lineas, una por almacén, en que aparece el stock. En cada linea todos los stocks salen a cero menos el del almacén que corresponde. La idea que se le ocurrió al genio que hizo el informe fue la siguiente
------------------ Cabecera de grupo ------------------ ------------------ Pie de grupo Articulo SUM(Alm1) SUM(Alm2) ..... ------------------
No esta mal y se supone que debería de funcionar, pero sale todo a cero. ¿Se me esta escapando algo?
Y por si no encuentro donde esta el fallo, ¿alguien sabe como puedo modificar la consulta sql para que ya devuelva todo sumado?
#16
Escrito 18 enero 2010 - 10:17
Saludos.
#17
Escrito 18 enero 2010 - 10:47
Digo, a mi me paso una vez y vaya que casi me doy un tiro porque nada me coincidia :$
Salud OS
#18
Escrito 18 enero 2010 - 10:51
Esa es la idea, en la tabla original hay una entrada por cada articulo y almacén. Al hacer los UNION se intenta crear una sola tabla en el que cada linea salgan todos los almacenes juntos. La consulta no creo que este mal, de hecho si la ejecuto en un visor de paradox me devuelve los datos correctos. Eso no quiere decir que la consulta no se pueda mejorar ...por lo que veo en cada consulta veo que Stock lo llaman de forma distinta, no sé tiene algo que ver, o sea, en una lo llama alm8 en otra alm10 y así sucesivamente.
No creo, porque estoy haciendo los cambios en el ordenador del cliente, y solo hay una base, la buena ... ¿quien dijo miedo?¿ No estarás trabajando con la base de datos de desarrollo en lugar de la de producción ?
#19
Escrito 18 enero 2010 - 11:00
#20
Escrito 18 enero 2010 - 11:03
No creo, porque estoy haciendo los cambios en el ordenador del cliente, y solo hay una base, la buena ... ¿quien dijo miedo?
Vaya que eres arriesgado amigo
Salud OS