Crystal Reports - Gerando relatórios II 

 

A algum tempo atrás abordei a criação de relatórios no VB.NET usando o Crystal Reports . Veja no link abaixo :

O artigo tratava da geração de um relatório usando uma base de dados Access.

Vamos agora ver como gerar um relatório usando uma base de dados SQL Server usando a versão do Crystal Reports que vem junto com o VS.NET e também como usar a versão mais antiga ,  a 4.6 que veio junto como VB5.

Você vai precisar ter o SQL Server instalado para poder acompanhar este artigo.

1- Gerando um relatório com dados de um DataSet extraído de uma base de dados SQL Server

Inicie um novo projeto no Visual Studio.NET com as seguintes características (sinta-se a vontade para alterar a seu gosto.)

Vamos agora dividir a tarefa em duas fases :

1 - Incluir um DataSet que será usado para preencher o relatório
2-  Incluir um objeto Crystal Reports no projeto que irá gerar o relatório

Gerando o objeto DataSet

Gerando o objeto Crystal Reports e fazendo a conexão com a tabela Clientes

Para poder exibir os dados atuais no relatório , devemos preencher o objeto DataSet com os dados antes de vincular o relatório ao visualizador no formulário Windows. 

Vamos agora incluir o controle CrystalReportViewer na barra de ferramentas no formulário aceitando o nome padrão - CrystalReportViewer1 e definindo a propriedade do controle DisplayGroupTree como False.

Finalmente inclua um botão de comando no formulário e no evento Click inclua o código que irá fazer a conexão com o SQL Server e preencher o dataset com os dados da tabela Clientes.

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim rpt As New CrystalReport1
        Dim conn As SqlConnection
        Dim cmd As New SqlCommand
        Dim da As New SqlDataAdapter
        Dim ds As New DataSet

        Try
            conn = New SqlConnection("data source=JCMSOFT-SC60Q3Q;integrated security=SSPI;" & "initial catalog=Macorati;")
            cmd.Connection = conn
            cmd.CommandText = "Select * from Clientes"
            cmd.CommandType = CommandType.Text

            da.SelectCommand = cmd
            da.Fill(ds, "Customers")

            rpt.SetDataSource(ds)

            CrystalReportViewer1.ReportSource = rpt

        Catch ex As Exception
            MsgBox(ex.Message)
        End Try

    End Sub

 

A conexão é feita com a tabela Clientes do banco de dados Macorati no SQL Server.

O dataset é atribuido ao Crystal Reports usando a propriedade - SetDataSource .

Definimos no visualizador para exibir o relatório na propriedade - ReportSource.

Agora é só você usar os conceitos deste artigo e incrementar seus relatórios no VB.NET.

Até o próximo artigo VB.NET


José Carlos Macoratti