FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Quickreport, unir dos informes
Hola a todos, sé que quickreport da la opción de unir dos informes en uno solo pero por más que busco no encuentro documentación acerca de cómo poder hacer esto. ¿Alguien sabe cómo?? Gracias
|
#2
|
||||
|
||||
Busca en la ayuda por TCompositeReport.
Se trata de crear un composite y después añadir los informes: (vagamente): Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
|||
|
|||
algo faltará que no consigo ver, me sale el composite vacío
|
#4
|
||||
|
||||
Según he visto por el foro, (que hay bastante sobre el compositeReport) tienes que poner a true la propiedad PrintifEmpty de cada informe.
Por supuesto tendrás que abrir las consultas o tablas de donde saques los datos para cada informe, parece obvio, pero igual se olvida. Aquí tienes una guía rápida, supongo que habrás hecho eso mismo, o muy parecido. Edito: en tu carpeta de delphi\demos tienes varios ejemplos de QR3 y uno en concreto del compositeReport Por mi parte, nunca he usado el CompositeReport, así que no puedo darte más información. Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#5
|
|||
|
|||
Composite Report : problema!
Hola... también estoy con un problema con el composite, pero un poco diferente. Les cuento: tengo 3 formularios A, B y C
A: se llama desde el menu y se eligen alumno y curso al que pertenece para mostrar en los reports los examenes q rindio y notas B: es llamado por A y contiene un quick report con varios datos tomados de la BD. Ademas contiene el composite report C: contiene otro quick report que quiero adosar al reporte en A. Hago lo siguiente, en el Form A cuando hace click en el botón para ver el reporte: // FORM A procedure tFormA.ButtonClick(Sender...){ if(FormB=nil) then Application.CreateForm(TFormB, FormB); } // FORM B procedure tFormB.FormCreate(Sender...){ // ... tomo datos de la BD QRCompositeReport.Preview; // ... } procedure TFormB.QRCompositeReportAddReports(Sender..); begin with (QRCompositeReport.Reports) do begin Add(QuickRenFormB); Add(FormC.QuickRenFormC); end; end; En la línea de código marcada en rojo es en la cual tengo problemas, porque mi form C es nil, no está creado aún. Intenté varias cosas como crearlo antes del preview del composite pero solo me muestra el form C y luego cuando intenta hacer el preview me da error. Nunca creo los formularios hasta que los necesito, y luego los destruyo, Sé cuál es el error pero no sé cómo solucionarlo y no sé cómo se suelen manejar uds en la creación de forms Agradeceré muchísimo su ayuda!!! Espero que entiendan el resumido código que puse y sino no duden en preguntar! |
#6
|
|||
|
|||
Error
Estoy intentando el ejemplo de Lepe 1º y me da el error:
[Error] Polizas.pas(2712): Undeclared identifier: 'TCompositeReport' Al declarar Var c:TCompositeReport; Tengo que llamar alguna 'Uses'? Llamo a Printers y tampoco. Uso QR 3.0.5 Saludos Chavi |
#7
|
|||
|
|||
Error
Estoy intentando el ejemplo de Lepe 1º y me da el error:
[Error] Polizas.pas(2712): Undeclared identifier: 'TCompositeReport' Al declarar Var c:TCompositeReport; Tengo que llamar alguna 'Uses'? Llamo a Printers y tampoco. Uso QR 3.0.5 Saludos Chavi |
#8
|
||||
|
||||
Hola chavi, yo lo hago de la siguiente forma:
- Tengo un formulario para cada informe a incluir en el Composite. - Tengo un formulario con el Composite. (en el uses deben estar los anteriores) - Tengo un formulario principal con un botón, en el cual: a) - Creo los forms a utilizar en el composite b) - En cada formulario puse un procedimiento público, para que rellene el Dataset que le corresponda y lo llamo después de crear el form correspondiente c) - Llamo al Composite para que genere el informe completo d) - Cuando vuelve de imprimir, cierro los Dataset e) - Elimino los forms El composite, en su procedimiento solo tiene: Y el evento OnClick del botón de form principal (es un poco largo, pero bueno) Espero que te sirva Saludos Salvica |
#9
|
||||
|
||||
Además de crear el FormC, tendrás que abrir las consultas,
Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#10
|
|||
|
|||
Persiste el Error
Lo siento pero me sigue saliendo el error.
[Error] Prueba.pas(2742): Undeclared identifier: 'QRCompositeReport' Este desarrollo lo tengo en D5, será que no soporta el CompositeReport? Ya no se que pensar, pues cualquier alusión a él me da error. Tendré que incluir alguna otra librería en Uses? Gracias y saludos Chavi |
#11
|
||||
|
||||
Cuando tengas un error de ese tipo, busca en la ayuda de delphi (o de QuickReports en este caso) para saber donde está declarado.
O bien, añades un Form nuevo, dentro de éste añades el CompositeReport de la pestaña QReport, y te fijas en los "uses" nuevos que ha añadido. En este caso te falta el uses QuickRpt. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#12
|
|||
|
|||
Desde donde lo llamo
Perdona pero es la primera vez que utilizo este componente. A ver si me aclaro; yo tengo dos Reports, uno en cada formulario distinto, luego tengo otro form a parte desde el que tengo un boton de impresión, que llama a uno, otro o los dos reports juntos, por lo que quiero hacer esto. Estoy intentando hacer esto en el form del boton desde el que se hace la llamada.
var c:TQRcompositeReport; begin c := TQRcompositereport.create(self); c.Reports.Add(FrmListPoliza.QRPoliza); c.Reports.Add(FrmCondicionesPoliza.QRListado); c.Preview; end; Tengo que incluir el componente TQRcompositeReport en cada uno de los form que contienen los Report que quiero unir? Gracias y Saludos Chavi |
#13
|
||||
|
||||
No. El compositeReport es un mecanismo para poder añadir 3, 4 o 20 QuickReports en 1 solo (Al igual que tienes 1 combobox, pero puedes tener 20 elementos en la lista desplegable).
Tienes 2 informes llamados A y B, cada uno en un form (no tienes por qué tener esos forms, en File -> new -> QReport, añades un QuickReport sin tener que añadir un form donde incrustarlo). Ahora tienes el FormC donde añades el qrCompositeReport y ahí tendrás que hacer un uses de los otros dos, es decir:
Ahora estas creando el qrComposite por código, pero en la paleta QReport tienes el componente, lo pegas en tu Form y ya te olvidas de crear y/o liberar. En tu carpeta de delphi\Demos debes tener ejemplos de QuickReport versión 2 y 3, (son algo complejos) pero seguro que te ayudan en algo. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#14
|
|||
|
|||
Lo voy a probar así
Muchísimas gracias por tu explicación.
Voy a probarlo y ya te comentaré. Saludos Chavi |
#15
|
|||
|
|||
No se que hago mal
Esto es lo que hago al pulsar el botón de imprimir desde el Form que llamo a los que quiero unir. Saber que al imprimir uno a uno funciona correctamente desde aqui.
Puse el QrCompositeReport en este Form. Veis algo que yo no vea? procedure TFrmPolizas.TBtnImprimirClick(Sender: TObject); var Valores: tInifile; ImprCGPolizas : String; begin Valores := TIniFile.Create('DatosGestion.ini'); ImprCGPolizas := Valores.ReadString('Polizas', 'Condiciones_Generales', '0'); Valores.Free; // Procedimiento para cubrir valores ImprimirPoliza; QrCompositeReport.Reports.Clear; QrCompositeReport.Reports.Add(FrmListPoliza.QRPoliza); QrCompositeReport.Reports.Add(FrmCondicionesPoliza.QRListado); QrCompositeReport.Preview; end; Gracias por todo Chavi |
#16
|
||||
|
||||
El que ha hecho mal las cosas soy yo. Ya dije que no he usado nunca el Composite, y entendí mal el funcionamiento.
Al parecer tienes que hacerlo así: El evento OnAddReports salta cuando se va a realizar el OnPreview del Composite, y se le debe decir en ese evento los informes que debe añadir. ... La verdad no se parece a la forma de trabajar de Delphi, así que no resulta nada intuitivo . Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#17
|
|||
|
|||
Funcionó
Ahora si
Muchas gracias por todo Saludos Chavi |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Unir imagenes jpg | alain | Gráficos | 6 | 09-04-2008 22:10:29 |
Unir dos informes - Crystal Reports | TONIAM | Impresión | 2 | 04-07-2006 16:18:57 |
Unir dos DBgrids | Nbull | Conexión con bases de datos | 2 | 02-02-2006 09:19:00 |
Unir tres qry | alcides | SQL | 6 | 11-07-2005 17:34:33 |
Unir Columnas | vtdeleon | SQL | 4 | 15-06-2005 00:34:49 |
|