![]() |
Consulta Datos Parciales sql
Hola
Estoy trabajando mucho...... ![]() Estoy tratando de hacer una consulta que me regrese la suma de los totales de las piezas que fabrico, pero esta consulta la ejecuto en un reporte. La consulta funciona, pero no me da los datos parciales, solo los totales. Esta es: Si teneis alguna idea os lo agradezco. A mi no se me enciende el..... ![]() Saludos |
Hola
Para ampliar un poco mas los datos: Asi es como llamo al qreport: Como veis divido la consulta sacando el where y el group by, lo típico nada mas. Saludos |
Hola
Amplio aun mas esto: El reporte genera los datos de las piezas que he fabricado, lo que hace es sumar los datos de acuerdo al tipo de pieza mostrando los materiales y las cantidades de estos. Este es el actual; genera la cantidad de piezas total, en este caso 22. ![]() El asunto es que como es un reporte en el que suma las cantidades contrae todo. Lo que busco es la suma parcial de las piezas por modelo asi:. ![]() Si se os ocurre como hacerlo por aqui estoy. Gracias de antemano. Saludos |
Hola.
Esto me parece que no hay ninguna necesidad de calcularlo en una consulta (puesto que entonces necesitarías dos consultas, una para calcular los datos, y otra para calcular los subtotales). Lo habitual es solo tener la consulta de los datos a mostrar, y añadir una banda de agrupación en el informe, con el sumatorio de las unidades dentro de la agrupación. Yo lo hago continuamente en Fast-Reports y funciona muy bien. En todo caso, si lo quieres calcular en una consulta, ya vas bien encaminado, se trata de un consulta de sumatorio con group by. |
No estoy mucho en tema de reportes, pero iba a sugerir algo parecido a lo que comenta guillotmarc; Me da la impresión de que esos totales deben poder calcularse desde el report mejor que desde la consulta.
De todas formas, ya te digo Carlos, que en esto de Reports no estoy nada al día. |
Hola
Gracias amigos, esto es mas dificil de lo que parece. No quiere caminar, ni por sql ni por el reporte que seria lo mas sencillo. Sigo buscando. Saludos |
Hace poco estuve batallando con ese mismo inconveniente.
como indica guillotmarc, yo tambien lo solucioné en el form del QReport, En algun momento se asigna a una banda un campo de la consulta (por codigo o en las propiedades de la banda) por ejemplo crear una banda tipo TQRGroup llamada TQRPiezas y en su propiedad 'Expresion' colocar el campo por el cual se quiere agrupar, en este caso el campo de Tipopiezas. tambien ayuda que se cree una variable para los datos parciales y en el evento OnPrint del campo que se imprime se inicie a cero la variable que muestra los datos parciales. en un campo 'numpiezas' se estarian sumando los valores. Algo que me dejó dudando (hasta ahora no se porque); la consulta se ordena como le indiquemos pero asi como se obtiene se agrupa, no lo hace de forma global. me explico con un ejemplo: si por alguna razon mi consulta la ordeno por el numero de piezas me resulta: clave descripcion grupos num piezas torn01 descripcion tornillo accesorios 10 torn02 descripcion tornillo 02 accesorios 20 pin01 descripcion pinzas 01 herramientas 30 torn03 descripcion tornilo 03 accesorios 40 el Qreport hará tres grupos; los primeros 2 tornillos, la pinza y el utlimo tornillo. por que esa es la forma en la que encuentra los datos al consultar. independientemente de que los tres tornillos pertenezcan a accesorios y lo correcto sea crear solo dos agrupaciones. lo digo por que eso me dió varios dolores de cabeza y espero que no te este sucediendo. consulta los datos en codigo SQl para ver como regresan las consultas y si es necesario cambia la manera de ordenarlos. :D |
Hola
Gracias por vuestros consejos. Saludos |
Hola
Hoy he terminado de resolver este problema, os cuento. Queria que me salieran los datos parciales, pero, el problema era que dependia del dato que suministraba el query que esta en el reporte, osea, como sacar ese dato si cuando lo captura, lo muestra inmediatamente?. Bien, lo solucione, después de romperme la cabeza, usando el evento AfterScroll del query. Ahi es donde hago el codigo (en un query independiente) para que me muestre el dato. Osea, el reporte ahora tiene dos query y en el unit del reporte coloco el codigo que en realidad es sencillo.
El codigo de la pieza lo saca del adoquery1 y las fechas las saca del form que lo llama. Bueno, lo importante: Gracias a todos por vuestros consejos. Tal vez a alguien mas le suceda algo así y sabrá como resolverlo. Saludos |
La franja horaria es GMT +2. Ahora son las 04:16:48. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi