ALIMENTAR UM SUB RELATORIO CR DO VS2008

NICKOSOFT 31/05/2010 12:23:18
#343374
pessoal, é o seguinte, tenho um relatorio q esta aparecendo os dados das empresas certinho, so q abaixo de cada empresa tem o sub relatorio dos socios q fazem parte da mesma, e nao sei como carregar esse relatorio corretamente com os dados, na verdade esta ficndo em branco nao to conseguindo nada de informacoes neles....entre as duas tabelas existe o codigo da empresa q faz a relacao entre a empresa e os socios o codigo q tenho no form onde tem o crystel report view é esse
nunca alimentei um sub relatorio entao to totalmente perdido

Citação:

Private Sub frmRelatorioEmpresas_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
PreviewRelClientes(CarregarListaClientes(StrRelatorio))
End Sub
Private Sub PreviewRelClientes(ByVal oTable As DataTable)
[ô]
[ô]visualizar o relatório [Ô]rptCustomer.rpt[Ô] utilizando a função CarregarListaClientes()
[ô]
Try

[ô]1 passo: definindo o relatório a ser visualizado (ReportPath)
Dim crReportDocument As New Empresas

[ô]2 passo: definindo o DataSource do relatório
crReportDocument.SetDataSource(oTable)

[ô]3 passo: visualizando o relatório...
CRV1.DisplayGroupTree = False
CRV1.ReportSource = crReportDocument

Catch ex As Exception
MsgBox(ex.Message)

End Try

End Sub

Public Function CarregarListaClientes(ByVal strCountryName As String) As DataTable

[ô]definindo a string de conexão do banco de dados
[ô]Dim strConexao As String = _
[ô]ConfigurationManager.ConnectionStrings([Ô]SQLServerCompact[Ô]).ToString
Dim strConexao As String = [Ô]Data Source=[Ô] & My.Application.Info.DirectoryPath & [Ô]\dados.sdf[Ô]
Dim oConn As New SqlCeConnection(strConexao)

Dim strSQL As New StringBuilder
Dim oTable As New DataTable()
Dim oCmd As SqlCeCommand = Nothing

Try

[ô]abrindo conexão com o banco de dados.
oConn.Open()

strSQL.Append(StrRelatorio)
[ô]definindo os parâmetros do SqlCommand
oCmd = New SqlCeCommand(strSQL.ToString, oConn)
oCmd.CommandType = CommandType.Text
[ô]oCmd.Parameters.Add(New _
[ô]SqlCeParameter([Ô]@CountryName[Ô], SqlDbType.NVarChar)).Value = strCountryName

[ô]carregando os dados do banco de dados
Dim oDataReader As SqlCeDataReader = _
oCmd.ExecuteReader(CommandBehavior.CloseConnection)

[ô]carregar o DataTable com base no DataReader
oTable.Load(oDataReader)

Catch ex As Exception
MsgBox(ex.Message)

Finally

[ô]liberando os objetos
oConn.Dispose()
oConn = Nothing

End Try

Return oTable

End Function

NICKOSOFT 05/06/2010 20:07:21
#344016
ja fiz, agora ficou uma duvida enorme, pq o banco e os relatorios tem q estar no mesmo caminho q eu projetei na maquina cliente pra rodar sem problemas, se muda o caminho, pede senha qnd abre o form do relatorio
Tópico encerrado , respostas não são mais permitidas