![]() |
quickreport con query en ejecucion
Ahora tengo otro problema,
Resulta que estoy leyendo manuale sy manuales, y nada.. A ver, yo hago en un query una consulta asi..(en tiempo de ejecucion) tengo varias tablas en la consulta, como la tabla cliente, la tabla articulo, y la tabla familia (donde esta el codigo,nombre,etcc..) codigo articulo,nombre, precioeuros, familia.. pues bien, en la consulta sql que es en tiempo de ejecucion. Donde estan ordenados todos los articulos por familia (y dentro de ellos por nombre de arituclo), es decir, primero los de codigo 1,despues los de codigo 2, etc.. Pues bien, en el beforeprint del qreport, coloco un subdetail con 2 campos qrdbtext, uno para el articulo y otro para el nombre, pero pongo otro campo detail, de familia, y me sale por cada aticulo su familia.. yo quiero que ponga la familia tal (conservas) y debajo me salgan todos los articulos pertenicientes a el.. como puedo pasar eso al informe,?.. Gracias por la ayuda. |
Hace tiempo que no uso QuickReport, pero tienes que agrupar los datos en la consulta sql con "group by familia"
Después (y esto es lo que no recuerdo bien) tienes que añadir un QRBand y especificar que es de grupo, añadiendo ahí el campo "familia" Saludos |
No encuentro la manera, necesito ayuda, si tengo en la consulta sql el group by, pero no me funciona, gracias.Alguna ayudita por favor.:mad:
|
Miento, lo tengo echo con un order by, me salen todos los prodcutos y su familia, y quiero en el report, que me salgan ordenados por familia, y sus productos..
mi consulta sql es la siguiente, a ver si la tengo que cambiar: //SELECT DISTINCT art.num,art.nombre,des.pree,des.prep,des.porcen,art.fam from art,des,fam where (art.NUM=des.ART) and (des.CLI=9) //order by art.fam,art.nombre; |
Pues me parece que no necesitas agrupar. Creo recordar que se usaba un QRBandGroup con un qrdbtext enlazado al campo familia y con eso era suficiente.
Esperemos que alguien usando QuickReport lo confirme.
Saludos |
no, lo siento pero no es suficiente..
no se que estoy haciendo mal, pero necesito ayuda. Gracias. No se si poner la consulta con un order by, o con un group by, pero con order me funciona bien la consulta, pero no logro hacer el qreport, bien, primero el campo familia, y todos sus productos, y asi sucesivamente. TEngo manuales, pero ayudan. |
1.- Tienes que hacer la consulta ordenada por familia.
2.- En el TQuickRep agregas una banda TQRGroup y en la propiedad Expression pones el campo por el que quieres agrupar, en tu caso será algo como Tabla.familia 3.- Añades una banda TQRBand y en la propiedad BandType pones rbDetail. En la banda TQRGroup en donde va la etiqueta con la familia, en la TQRBand pones los datos de los productos. Espero que te sirva Un saúdo. |
No entiendo
No entiendo la última parte:
En la banda TQRGroup en donde va la etiqueta con la familia, en la TQRBand pones los datos de los productos. |
Reporte por Grupos
La banda QRGroup tiene una propiedad Expression ahi colocas el campo(s) por los que quieres que se haga la agrupacion. En tu caso Tabla.Familia, luego puedes colocar unos QRLabels o QRDBLabels para que muestren el nombre o codigo de la familia. Luego en la banda de Detalle colocas los datos de los productos mediante TQRDBtext que apunten a los fields de tu tabla.
Esto te dara un reporte con una estructura similar a: Familia 1 producto 1 producto 2 producto 3 Familia 2 producto 4 producto 5 ... Puedes colocar tambien una banda de GroupFooter para poder mostrar subtotales por grupo, basta con insertar una banda y cambiar su propiedad BandType a rbGroupFooter luego en la banda de Grupo le asignas la propiedad FooterBand para que apunte a tu nueva banda. Espero que sirva. Saludos |
Decidir el número de filas
Pero como le digo que me muestre tantas filas de la query por página???
|
Eso lo hace el QuickReport automáticamente, según las líneas de cada grupo que haya.
Lo normal es hacer un poco más alta la banda rbDetail, o incluso la banda qrGroup, hasta que quepan las líneas que tú quieras. Saludos |
Solamente una línea
El problema que tengo es que solamente me imprime una línea de la query, y yo me gustaría que cogiera todo el ancho del QRDBText hasta el final y si no tiene página nueva, pero no una página nueva por dato.
Como lo hago? |
No acabo de entender lo que ocurre.
En principio, revisa todas las bandas, por si alguna tiene la propiedad ForceNewPage en True. Ponla a False. Si no es eso, explica qué línea es la que imprime, ¿Una de grupo? ¿una linea con el grupo y una sola de detalle? el informe que has creado en tiempo de diseño ¿ocupa más de la mitad del folio? Igual tienes poco espacio para el detalle. Ten en cuenta que el alto de la banda detalle se repite por cada registro que haya. Además cuando cambie de familia, se necesita el alto que ocupe la banda qrGroup más el alto de la banda detalle. Saludos |
Finalmente Manual
Al final he optado por hacerlo manualmente como explica la web que encontre. Grácias:
http://www.foroexperiencia.com/viewtopic.php?f=20&t=134 |
La franja horaria es GMT +2. Ahora son las 07:33:50. |
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