CONEXAO DE SUB RELATORIOS NO CRYSTAL
Bom dia pessoa!
Para conectar as tabelas no crystal no meu relatorio eu faço assim:
Dim crApp As New CRAXDRT.Application
Dim report As CRAXDRT.report [ô]HOLDS REPORT
Public Sub CarregarRelatorio( strRelatorio As String)
Set report = crApp.OpenReport(strRelatorio)
Dim intI As Integer
[ô]loop nas tabelas
For intI = 1 To report.Database.Tables.Count
report.Database.Tables(intI).ConnectionProperties([Ô]Provider[Ô]) = [Ô]MSDASQL[Ô]
report.Database.Tables(intI).ConnectionProperties([Ô]Data Source[Ô]) = [Ô]Data Source[Ô]
report.Database.Tables(intI).ConnectionProperties([Ô]Password[Ô]) = [Ô]Password[Ô]
[ô]report.Database.Tables(intI).ConnectionProperties([Ô]Data Source[Ô]) = [Ô]Data Source[Ô]
report.Database.Tables(intI).ConnectionProperties([Ô]User ID[Ô]) = [Ô]User ID[Ô]
Next intI
Ate ai tudo bem. Escabeço as conexoes para as tabelas do relatorio, mas dai como acessar o subrelatorio para estabelecer as conexoes la tbm?
Abçs
Para conectar as tabelas no crystal no meu relatorio eu faço assim:
Dim crApp As New CRAXDRT.Application
Dim report As CRAXDRT.report [ô]HOLDS REPORT
Public Sub CarregarRelatorio( strRelatorio As String)
Set report = crApp.OpenReport(strRelatorio)
Dim intI As Integer
[ô]loop nas tabelas
For intI = 1 To report.Database.Tables.Count
report.Database.Tables(intI).ConnectionProperties([Ô]Provider[Ô]) = [Ô]MSDASQL[Ô]
report.Database.Tables(intI).ConnectionProperties([Ô]Data Source[Ô]) = [Ô]Data Source[Ô]
report.Database.Tables(intI).ConnectionProperties([Ô]Password[Ô]) = [Ô]Password[Ô]
[ô]report.Database.Tables(intI).ConnectionProperties([Ô]Data Source[Ô]) = [Ô]Data Source[Ô]
report.Database.Tables(intI).ConnectionProperties([Ô]User ID[Ô]) = [Ô]User ID[Ô]
Next intI
Ate ai tudo bem. Escabeço as conexoes para as tabelas do relatorio, mas dai como acessar o subrelatorio para estabelecer as conexoes la tbm?
Abçs
Eu costumo usar assim:
Set Report = New CrwRelatorio
Report.Database.SetDataSource Conexao.Properties.Item([Ô]Data Source[Ô]).Value
Report.Database.Tables(1).Location = Conexao.Properties.Item([Ô]Data Source[Ô]).Value
[txt-color=#e80000]Report.OpenSubreport([Ô]CrwSubRelatorio[Ô]).Database.Tables(1).Location = Conexao.Properties.Item([Ô]Data Source[Ô]).Value[/txt-color]
Set Report = New CrwRelatorio
Report.Database.SetDataSource Conexao.Properties.Item([Ô]Data Source[Ô]).Value
Report.Database.Tables(1).Location = Conexao.Properties.Item([Ô]Data Source[Ô]).Value
[txt-color=#e80000]Report.OpenSubreport([Ô]CrwSubRelatorio[Ô]).Database.Tables(1).Location = Conexao.Properties.Item([Ô]Data Source[Ô]).Value[/txt-color]
e sem saber o nome do sub relatorio tem como? por exemplo que nem eu fiz no codigo acima, percorrendo buscando a quantidade de subrelatorios e percorrendo ele com o indice?
Não conheço outro jeito...
Eu sempre informo os nomes dos subrelatórios, que afinal de contas não chegam a muitos... O maior que tenho, tem 4 subrelatorios.
Quanto as tabelas, pelo visto voce quer apontar todas as tabelas do db para o teu crystal...
Eu aponto somente as tabelas que uso no relatório e subrelatorio.
Eu sempre informo os nomes dos subrelatórios, que afinal de contas não chegam a muitos... O maior que tenho, tem 4 subrelatorios.
Quanto as tabelas, pelo visto voce quer apontar todas as tabelas do db para o teu crystal...
Eu aponto somente as tabelas que uso no relatório e subrelatorio.
Faça seu login para responder