Delphi - Sobre Reportes

 
Vista:

Sobre Reportes

Publicado por Edu Rod (66 intervenciones) el 11/06/2003 19:06:01
Hola a todos y gracias de nuevo por su ayuda...

Tengo una forma en donde tengo que sacar 14 Reportes, todos de la misma base de datos y de la misma tabla. Pero cada Reporte debe cumplir ciertas caracteristicas que yo le indico en el query, Utilizo Report Builder con Query del Bde, todo para la version 7 de delphi.

Mi pregunta es: Tengo que poner 14 componentes de Report Builber, 14 querys y 14 Data source para poder hacer esto??

Yo pienso y se me hace logico que la respuesta sea un No, entonces como puedo optimizar esto???

Gracias Muchachos por siempre se los agradecere...

Edu
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Sobre Reportes

Publicado por mamcx (533 intervenciones) el 13/06/2003 01:56:39
Aunque no uso RB, la idea es la misma..

1- Pon el menor numero de querys posibles. Un buena opcion es usar querys parametrizados. Sin embargo, si en unos se agrupa y en otros no, o el numero de campos entre uno (pe 3) y otro (pj 15) causa un aumento del tiempo de respuesta, tocaria poner varios... Otra alternativa es generar el sql dinamicamente. Por ejemplo tener SELECT * FROM Tabla, pero un informe necesita 2 campos y el otro 5. Asi que usando un solo query, agregar los campos antes de abrirlo y asi sucesivamente:

ej: 'SELECT '+TraerCampos()+" FROM "+TraerTablas()+TraerFiltro()+TraerOrden()+TraerGrupos()

function TraerCampos:String
begin
Result:='Campo1,Campo2' 'Aqui se obtendria dinamicamente de un archivo de configuracion de informe o algo similar

O mejor hacer una clase:

TSQLParser
Campos:TList
OrderBy:TList
Where:TList

Es la idea...

2- Usa un dataset por cada query

3- Conecta el reporte al dataset. Aprovecha las posibilidades de tu reporteador y utiliza su modelo de objetos para hacer cambios. Por ejemplo, en algunos reporteadores en runtime se puede agregar agrupaciones, modificar el orden, etc... con seguridad que con RB se puede...

Asi que la idea es agrupar informes entre categorias (listados, maestro-detalles, cross-tab) armar un informe plantilla para cada uno, entonces si es posible por codigo construirlo o usar las plantillas como punto de partida...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar