SUB REPORT DENTRO DE UM SUB REPORT

NICKOSOFT 01/01/2012 10:20:51
#392224
pessoal, eu sei quase nada de relatorios, nao q eu saiba alguma coisa de outras coisas......
mas pelo menos de 2 formas consigo fazer relatorio e sub, maravilha....
mas agora to com um enrosco, eu to tentando fazer um sub dentro de um sub, e claro, nao to conseguindo nada.....
alguem tem um codigo ou um tutorialzinho meio mastigadinho disso?

FOXMAN 01/01/2012 22:50:57
#392229
Resposta escolhida
Tbem não sou o mestre dos relatórios, mas partindo do principio de que consegue colocar um sub dentro de um relatório, faça o seguinte :

Abra o sub relatório (como se fosse um relatório único) e adicione o sub relatório desejado.Depois abra o relatório mestre e provavelmente o sub relatorio já conterá o sub relatorio 2.

Acredito que deva funcionar.

NICKOSOFT 02/01/2012 15:47:52
#392286
na questao de desenhar o relatorio, eu fiz, mas agora até me surgiu a duvida, se qnd carrego o mestre, o primeiro sub ja vi q carrega, mas nao sei se ta trazendo o filho desse tmb...
agora a questao dos codigos, essa to super perdido em como chamar ou preencher todos
NICKOSOFT 03/01/2012 06:35:13
#392320
quebrando a cabeca, fiz mais testes....
ao inves de apontar pro relatorio pai no chamado do form, eu apontei ao primeiro filho, e ai sim, é mostrado o filho e filho do filho certinho, sinal q to alimentando ambos com o datatable certinho, e a linkagem entre eles esta correta
problema fica qnd eu aponto ao relatorio pai na carga do form, ai apenas o pai e o primeiro filho sao mostrados, devo estar fazendo o codigo errado na tentativa de chamar esse filho do filho, so q alimenta os reports certinho como testei, mas algum detalhe esta errado....

partindo do principio q comprovei q esses data tables estao preenchidos certinho, vejam como to tentando invocar os relatorios....
  
Dim UsuariosDT As DataTable = TabelaUsuarios
Dim PrincipalDT As DataTable = TabelaPrincipal
Dim SecundariaDT As DataTable = TabelaSecundaria

Dim objRpt As New crpUsuarios [ô]pai dos relatorios
Dim subRpt As New crpPrincipal [ô]filho do crpUsuarios

[ô]setando o segundo sub rpt, sendo filho do crpPrincipal
subRpt.Subreports.Item([Ô]crpSecundaria.rpt[Ô]).SetDataSource(SecundariaDT)

[ô](Setando Primeiro do SubReport)
objRpt.Subreports.Item([Ô]crpPrincipal.rpt[Ô]).SetDataSource(PrincipalDT)

[ô]Setando Origem de Dados (Somente depois de setar do SubReport)
objRpt.SetDataSource(UsuariosDT)

[ô]Exibindo Relatório
frmPlanoContas.CRv1.ReportSource = objRpt
frmPlanoContas.CRv1.Refresh()
frmPlanoContas.Show()


o teste q fiz e me mostrou filho e filho do filho foi apenas assim
   
Dim UsuariosDT As DataTable = TabelaUsuarios
Dim PrincipalDT As DataTable = TabelaPrincipal
Dim SecundariaDT As DataTable = TabelaSecundaria

Dim objRpt As New crpUsuarios [ô]pai dos relatorios
Dim subRpt As New crpPrincipal [ô]filho do crpUsuarios

[ô]setando o segundo sub rpt, sendo filho do crpPrincipal
subRpt.Subreports.Item([Ô]crpSecundaria.rpt[Ô]).SetDataSource(SecundariaDT)
subRpt.SetDataSource(PrincipalDT) [ô]passando o DT ao crpPrincipal


[ô](Setando Primeiro do SubReport)
objRpt.Subreports.Item([Ô]crpPrincipal.rpt[Ô]).SetDataSource(PrincipalDT)

[ô]Setando Origem de Dados (Somente depois de setar do SubReport)
objRpt.SetDataSource(UsuariosDT)

[ô]Exibindo Relatório
frmPlanoContas.CRv1.ReportSource = subRpt [ô]chamando o crpPrincipal
frmPlanoContas.CRv1.Refresh()
frmPlanoContas.Show()

mas dessa forma o pai deles nao aparece


pelas minhas buscas na net, é limitacao do Crystal Report nao permitir sub dentro de sub

vi algumas coisas bem por cima de fazer select group, alguem tem uma nocao?
NICKOSOFT 03/01/2012 09:45:54
#392326
como eu disse q busquei e encontrei informacoes q sub dentro de sub nao é suportado pelo crystal report, pesquisei sobre o group
consegui fazer o agrupamento dando o efeito q eu esperava com o sub dentro do sub....
esse é so o primeiro relatorio nesse sistema....ja to pensando nos proximos :(
vejam mais ou menos o q queria, pra terem uma ideia
Tópico encerrado , respostas não são mais permitidas