Crear un Informe con un SubInforme en SSRS

Hace unos dias recibí un comentario en unos de mis posts sobre SSRS, el caso es que me preguntaban como hacer un reporte con un subreporte. Como creo que puede ayudarle a alguien en un futuro lo pongo como un post aquí.Para poder hacer el ejemplo necesitamos dos reports, uno (rpt) que hará de report principal y otro (subrpt) de subreport que irá incluido en el principal. Para este ejemplo utilizaré dos tablas, una llamada tbl_autor con un solo campo llamado autor y otra tbl_titulos con autor, título y dvd.

Para el rpt utilizaré la consulta: SELECT Autor FROM tbl_Autor y para el subrpt: SELECT Titulo, DVD FROM tbl_Titulos Where Autor = @UnAutor. Con esto ya tenemos creado nuestros dos reports. Ahora en el primero creamos dentro de la tabla creada una nueva fila y añadimos el subreport(subrpt) a la fila creada.



Ya tenemos el informe creado, pero ahora nos queda pasarle al subrpt el parámetro necesario. En este caso será el autor que nos rellenará el subrpt con las filas según este campo. Nos situamos en la nueva fila donde metimos el subrpt y de damos botón derecho y propiedades. Una vez aquí nos situamos en la pestaña parámetros y seleccionamos el parámetro y el campo que lo va a rellenar.


 


 

Ea, pues ya está nuestro informe preparado, ahora podemos ver un preview.


 


 Espero que os sea de utilizad.

Un Saludo

Sin categoría

12 thoughts on “Crear un Informe con un SubInforme en SSRS

  1. hola buenos días.
    tengo varios problemas con los subreports:
    1- al poner un code en visual basic dentro del subreport necesito saber q significa Me.Report, creo q es como un this pero no estoy segura….

    2- necesito saber el número de páginas de los subreport en el report principal para poder hacer un índice, y el problema es q el globals!TotalPages sólo se puede usar en las cabeceras o pies, pero los subreport no ejecutan dichas partes, entonces no se como sacar el número de páginas totales del informe en el body…

    alguna idea????
    muchas gracias, es un poco urgente, por si me pudierais contestar pronto.
    gracias de todas formas.

  2. Hola lulaila,

    No sé si borre tu comentario por erro, te lo pongo por aquí:

    “1- al poner un code en visual basic dentro del subreport necesito saber q significa Me.Report, creo q es como un this pero no estoy segura….”

    Si es como el this de C#, pero donde me hablas de poner el código, pero no te hace falta ponerlo [;)].

    “2- necesito saber el número de páginas de los subreport en el report principal para poder hacer un índice, y el problema es q el globals!TotalPages sólo se puede usar en las cabeceras o pies, pero los subreport no ejecutan dichas partes, entonces no se como sacar el número de páginas totales del informe en el body…”

    La idea que se me ocurre es un tanto rara y sin problarlo antes no se que decir, pero bueno, ahí va, jejeje. Se trata de que añadas una caja de texto oculto, un parámetro y asignarle en esa caja el valor total de páginas. Luego obtener ese parámetro desde el report principal.

    Espero no llegar muy tarde, escribís muchos comentarios(que no me importa que lo hagáis [:)]) y con el tiempo que tengo, no puedo contestar a todos.

    Un Saludo

  3. Hola,

    Tengo un problema al llamar a otro reporte diferente en tiempo de ejecucion. Cuando es local lo soluciono pero cuando es de forma remota no… el metodo para el llamado local de otro reporte en tiempo de ejecucion que utilizo es

    RptViewerData.LocalReport.DataSources.Clear();

    pero si es Remoto no encuentro algún metodo asi cuando actualizo el control no me funciona, no me sale inf. solo la barra donde sale un link Change Credentials. (todo es independiente tengo un metodo donde le cambio las credenciales y los parametros es del mismo servidor y son las mismas credenciales)

    Espero que me puedas ayudar.

    Gracias…

  4. Hola Carlos A,

    Te explico una cosita, la sentencia RptViewerData.LocalReport.DataSources.Clear(); lo que hace

    es borrar la fuente de datos de un informe y no llamar a un subinforme.
    Probablemente no tengas el informe en el mismo sitio de donde lo llamas desde el informe. Me

    refiero a si estás con informe y subinforme.
    Para el tema de las credenciales, se los puedes pasar tú al reportviewer tal como explico en

    este otro post:

    http://geeks.ms/blogs/fdiaz/archive/2007/06/06/configurando-seguridad-desde-el-reportviewer.as

    px

    Un Saludo

  5. Respuesta para el sabro,

    Los informes servirán para quién le encuentre la necesidad. Yo escribí este post para explicar como funcionaba, si

    no te gusta lo siento. En cuanto a lo de ‘os’, no se que quieres decir.

    Un Saludo

  6. Buenos dias

    hice un reporte utilizando una matriz pero necesito mostrar datos adicionales a una de las columnas por eso le agregue un sub reporte cuando se ejecuta muestra todos los datos correctamente pero cuando se exporta a Excel el sub reporte no lo muestra en su lugar indica “Los informes integrados en celdas de tabla o matriz se omiten.”

    existe alguna forma de que muestre la matriz con el sub reporte?

    Gracias

  7. tengo un reporte creado en reporting services es una matriz con un sub reporte integrado dentro de la misma todos los datos son mostrados correctamente pero cuando se exporta a Excel el sub reporte no lo integra. No se si es que la matriz no permite integrar un sub reporte.

    Gracias

  8. Hola Roxana,

    Creo que el mensaje que te muestra es muy claro [:(]. Aún así, no puedo darte más datos, porque no he probado el ejemplo que me indicas. Aunque si he de decirte que lo he leido en los comentarios alguna que otra vez.
    Si encuentro alguna solución la postearé [;)].

    Un Saludo

  9. Buena tarde Fran
    Cree un informe con una tabla que contenia en cada columna diferentes subreportes, pero al tratar de exportarlo a excel me generaba el siguiente mensaje:
    “Los informes integrados en celdas de tabla o matriz se omiten.”

    Una solucion que encontre era pasar los subreportes a una lista. Cuando se tiene un solo subreporte funciona bien pero cuando tengo varios me muestra una hoja bien y la siguiente en blanco (en pdf), aunque la exportacion a excel se soluciona… que puedo hacer?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *