Crystal, informes sobre datasets y subinformes

17/01/2007 - 11:49 por Juan Diego Bueno | Informe spam
Buenas:

He creado un informe Crystal basado en un Dataset fuertemente tipado
que tira de una vista. Para evitar que en el formulario de
visualización me pida el login, simplemente he añadido el dataset, un
tableadapter, he hecho el fill sobre ese tableadapter con la vista del
dataset y con SetDataSource sobre el reportsource le doy como argumento
el dataset.

Funciona, se visualiza perfectamente, y no pide login. Además el doble
de rápido que tomando como fuente de datos la vista desde la base de
datos.

Pero el problema surge al incluir un subinforme dentro de este. El
subinforme lo creo a partir de otro informe tomado del mismo dataset,
pero de otra tabla, obviamente. Me sale la ventana de login incluso
añadiendo un datatableadapter con la tabla de este subformulario...

¿Qué me falta o qué hago mal?

Gracias de antemano, saludos

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
17/01/2007 - 12:18 | Informe spam
¿Estás llamando a SetDataSource para el subinforme? Hay que hacerlo
también...

Slds - Octavio


"Juan Diego Bueno" escribió en el mensaje
news:
Buenas:

He creado un informe Crystal basado en un Dataset fuertemente tipado
que tira de una vista. Para evitar que en el formulario de
visualización me pida el login, simplemente he añadido el dataset, un
tableadapter, he hecho el fill sobre ese tableadapter con la vista del
dataset y con SetDataSource sobre el reportsource le doy como argumento
el dataset.

Funciona, se visualiza perfectamente, y no pide login. Además el doble
de rápido que tomando como fuente de datos la vista desde la base de
datos.

Pero el problema surge al incluir un subinforme dentro de este. El
subinforme lo creo a partir de otro informe tomado del mismo dataset,
pero de otra tabla, obviamente. Me sale la ventana de login incluso
añadiendo un datatableadapter con la tabla de este subformulario...

¿Qué me falta o qué hago mal?

Gracias de antemano, saludos
Respuesta Responder a este mensaje
#2 Juan Diego Bueno
17/01/2007 - 12:37 | Informe spam
Lo había quitado, pero lo tuve puesto y el efecto es el mismo. Esto
es lo que tengo en el evento load del formulario:


vistA_PROYECTOS_PRINCIPALTableAdapter1.Fill(proyectosDS1.VISTA_PROYECTOS_PRINCIPAL);

sqL_HISTORICO_FECHASTableAdapter1.Fill(proyectosDS1.SQL_HISTORICO_FECHAS);
rptProyectosDS2.SetDataSource(proyectosDS1);
rptSubHistFechas1.SetDataSource(proyectosDS1);
crystalReportViewer1.ReportSource = rptProyectosDS2;

Octavio Hernandez ha escrito:

¿Estás llamando a SetDataSource para el subinforme? Hay que hacerlo
también...

Slds - Octavio


"Juan Diego Bueno" escribió en el mensaje
news:
Buenas:

He creado un informe Crystal basado en un Dataset fuertemente tipado
que tira de una vista. Para evitar que en el formulario de
visualización me pida el login, simplemente he añadido el dataset, un
tableadapter, he hecho el fill sobre ese tableadapter con la vista del
dataset y con SetDataSource sobre el reportsource le doy como argumento
el dataset.

Funciona, se visualiza perfectamente, y no pide login. Además el doble
de rápido que tomando como fuente de datos la vista desde la base de
datos.

Pero el problema surge al incluir un subinforme dentro de este. El
subinforme lo creo a partir de otro informe tomado del mismo dataset,
pero de otra tabla, obviamente. Me sale la ventana de login incluso
añadiendo un datatableadapter con la tabla de este subformulario...

¿Qué me falta o qué hago mal?

Gracias de antemano, saludos
Respuesta Responder a este mensaje
#3 Juan Diego Bueno
17/01/2007 - 12:54 | Informe spam
Bueno, he descubierto que el problema está en el linkado entre informe
y subinforme mediante un campo. Si lo elimino, funciona perfectamente.

Aún así, no encuentro la forma de solucionarlo. Si alguien tiene
alguna sugerencia, lo agradecería

Saludos

Juan Diego Bueno ha escrito:

Lo había quitado, pero lo tuve puesto y el efecto es el mismo. Esto
es lo que tengo en el evento load del formulario:


vistA_PROYECTOS_PRINCIPALTableAdapter1.Fill(proyectosDS1.VISTA_PROYECTOS_PRINCIPAL);

sqL_HISTORICO_FECHASTableAdapter1.Fill(proyectosDS1.SQL_HISTORICO_FECHAS);
rptProyectosDS2.SetDataSource(proyectosDS1);
rptSubHistFechas1.SetDataSource(proyectosDS1);
crystalReportViewer1.ReportSource = rptProyectosDS2;

Octavio Hernandez ha escrito:

> ¿Estás llamando a SetDataSource para el subinforme? Hay que hacerlo
> también...
>
> Slds - Octavio
>
>
> "Juan Diego Bueno" escribió en el mensaje
> news:
> Buenas:
>
> He creado un informe Crystal basado en un Dataset fuertemente tipado
> que tira de una vista. Para evitar que en el formulario de
> visualización me pida el login, simplemente he añadido el dataset, un
> tableadapter, he hecho el fill sobre ese tableadapter con la vista del
> dataset y con SetDataSource sobre el reportsource le doy como argumento
> el dataset.
>
> Funciona, se visualiza perfectamente, y no pide login. Además el doble
> de rápido que tomando como fuente de datos la vista desde la base de
> datos.
>
> Pero el problema surge al incluir un subinforme dentro de este. El
> subinforme lo creo a partir de otro informe tomado del mismo dataset,
> pero de otra tabla, obviamente. Me sale la ventana de login incluso
> añadiendo un datatableadapter con la tabla de este subformulario...
>
> ¿Qué me falta o qué hago mal?
>
> Gracias de antemano, saludos
Respuesta Responder a este mensaje
#4 Octavio Hernandez
17/01/2007 - 13:06 | Informe spam
Yo lo tengo más o menos así en un informe con subinforme enlazado y
funciona:

report.Subreports.Item("SubHistFechas").SetDataSource(proyectosDS1)

Slds . Octavio
Respuesta Responder a este mensaje
#5 Juan Diego Bueno
17/01/2007 - 13:20 | Informe spam
Tomo nota Octavio. De todas maneras, repentinamente ha comenzado a
funcionar al re-linkar el campo del informe con el del subinforme... y
no encuentro una explicación clara a esto. En VS2003 también tuve
problemas así, y se solucionaban con cambios... apenas
inapreciables... Siempre me han traido de cabeza, eso desde luego. Por
cierto, ya que estamos... hay alguna forma de ocultar el subinforme si
no tiene registros?. Hablo desde Crystal y teniendo en cuenta que en
cada página habrá un registro del informe principal

Gracias

Saludos

Octavio Hernandez ha escrito:

Yo lo tengo más o menos así en un informe con subinforme enlazado y
funciona:

report.Subreports.Item("SubHistFechas").SetDataSource(proyectosDS1)

Slds . Octavio
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida