none
Uso de dois relatórios dentro de outro usando subreport RRS feed

  • Pergunta

  • Fiz alguns testes onde tenho 2 relatórios dentro de outro, principal e os exibo usando parâmetros do relatório.

    Notei atraves do SQL profiler que ambos os relatórios são executados independente de qual opção eu seleciono no combo, se é o relatório A ou B.

    Existe alguma forma de evitar que o dataset do relatório ou ainda melhor, todo o relatório contido dentro de um subreport em um principal seja executado apenas quando eu fizer alguma ação ?

    quinta-feira, 19 de março de 2009 21:30

Respostas

  • Spitzmann,

    Se não estou enganado, o Reporting Services funciona de acordo com a maioria dos geradores de relatório, quando o relatório principal é carregado todos os elementos e componentes existentes neste relatório são carregados também.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta spitzmann terça-feira, 31 de março de 2009 01:04
    segunda-feira, 23 de março de 2009 12:47
  • Bom dia Spitzman,

    Como Junior falou, todos os 'top level' subrelatorios serão processados. Imagino que você está escondendo seu relatório através da expressão hidden. Uma forma de evitar que a query do subrelatorio nao seja executada é criar um query parameter no seu subreport que seria passado pelo report pai indicando se esse será executado ou não.

    Outra forma seria adicionar um dataregion dummy para cada subreport no seu master report, e filtrar esse dataregion que contem os subeports. Ao fazer isso a instancia que contem o subreport nao sera criada e portanto o relatorio nao sera executado, dessa forma voce nao precisaria alterar os subreports.

    Att
    Boreki


    http://www.boreki.eng.br
    terça-feira, 24 de março de 2009 17:56

Todas as Respostas

  • Spitzmann,

    Se não estou enganado, o Reporting Services funciona de acordo com a maioria dos geradores de relatório, quando o relatório principal é carregado todos os elementos e componentes existentes neste relatório são carregados também.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    • Marcado como Resposta spitzmann terça-feira, 31 de março de 2009 01:04
    segunda-feira, 23 de março de 2009 12:47
  • Bom dia Spitzman,

    Como Junior falou, todos os 'top level' subrelatorios serão processados. Imagino que você está escondendo seu relatório através da expressão hidden. Uma forma de evitar que a query do subrelatorio nao seja executada é criar um query parameter no seu subreport que seria passado pelo report pai indicando se esse será executado ou não.

    Outra forma seria adicionar um dataregion dummy para cada subreport no seu master report, e filtrar esse dataregion que contem os subeports. Ao fazer isso a instancia que contem o subreport nao sera criada e portanto o relatorio nao sera executado, dessa forma voce nao precisaria alterar os subreports.

    Att
    Boreki


    http://www.boreki.eng.br
    terça-feira, 24 de março de 2009 17:56