none
Criar relatorio no cristal reports sem conexão ao banco de dados via obdc RRS feed

  • Pergunta

  • Por acaso alguem sabe cria relatório no cristal reports que não utilize a conexão ao banco de dados via OBDC?

    Já procurei na internet mais não achei nada que fosse referente a vb.net, só C#

    Grata


    Rebeca bjs
    quinta-feira, 18 de novembro de 2010 16:44

Respostas

Todas as Respostas

  • Como voce quer fazer o seu relatorio?

    Escrever manualmente o codigo?

     


    Just Be Humble Malange!
    quinta-feira, 18 de novembro de 2010 17:33
  • Rebeca,

    Veja se este artigo te ajuda em algo:

    http://www.macoratti.net/vbn3_cr1.htm


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quinta-feira, 18 de novembro de 2010 17:44
    Moderador
  • Bem para eu acessar eu faço assim:

    Crio um cristal com os campos no local que deve ser

    Crio um data set com a tabela com os dados que eu preciso

    depois o form aonde vai ter esse cristal

    e uma classe (base para todos os relatórios que eu possuo)que funciona dessa forma

     

        Public Function exibeRelatorioResultados() As Integer

            exibeRelatorioResultados% = False

            Dim lobjFrmRelatorios As New Form1

            Dim lobjRpt As New CrystalReport1

     

            'cria um DataSet

            Dim dtsResultados As New DataSet

            'cria um DataTable com o nome da tabela criada no xsd

            Dim dtbResultados As New DataTable("inventario")

            'cria array para armazenar os campos do DataReader, array com 6 elementos

            Dim ArrObjResultados(1) As Object

     

     

            'adiciona as colunas DataTable

            dtbResultados.Columns.Clear()

            dtbResultados.Columns.Add("T49_ID_CONTAGEM_INVENTARIO")

            dtbResultados.Columns.Add("T12_ID_LOCAL_ARMAZENAMENTO")

     

    'Chama a classe que contem o sql que bsuca os dados que eu quero

            objRs = objConn.executaDataSet(objSQL, objSQL.idSelLocalArmazenamentoListagemInventarioPodeSerGerado, bean)

     

            'Verifica se retornou algum resultado na busca

            'Se retornou o resultado, aiguinifica que o local de armazenamento já possui

            'uma lista de inventário em aberto

            'Então o usuário não pode gerar nenhuma outra lista até que a atual seje cancelada ou

            'o seu processo seje encerrado(o inventário foi confirmado pelo usuário)

            If objRs.Tables(0).Rows.Count <> 0 Then

                Dim rs As DataRow

                For Each rs In objRs.Tables(0).Rows

                    ArrObjResultados.SetValue(rs.Item("T49_ID_CONTAGEM_INVENTARIO"), 0)

                    ArrObjResultados.SetValue(rs.Item("T12_ID_LOCAL_ARMAZENAMENTO"), 1)

     

                    dtbResultados.Rows.Add(ArrObjResultados)

     

                Next

                objRs = Nothing

     

     

            End If

     

     

            'adicionar DataTable no DataSet para exibir no relatório

            dtsResultados.Tables.Add(dtbResultados)

     

            lobjRpt.SetDataSource(dtsResultados)

     

            lobjFrmRelatorios.Tag = lobjRpt

            'Definimos o banco e a senha para o relatório para que no modo de execução 

            'estes dados não sejam solicitados

            'lobjRpt.SetDatabaseLogon(gobjAutomacaoProvasInfo.PIX_USUARIO_CONEXAO$, gobjAutomacaoProvasInfo.PIX_SENHA_USUARIO_CONEXAO$)

            'Definindo cabeçalho do relatório

            'Criamos no modo de designer do Crystal Reports os "Parameter Fields" e abaixo atribuimos valores

            lobjRpt.SetParameterValue("pstrNomeRelatorio", "RELATÓRIO DE RESULTADOS")

     

            'Quais botões não serão visualizados na tela do crystal

            lobjFrmRelatorios.CrystalReportViewer1.ShowExportButton = False

            lobjFrmRelatorios.CrystalReportViewer1.ShowRefreshButton = False

            lobjFrmRelatorios.CrystalReportViewer1.ShowCloseButton = False

            lobjFrmRelatorios.CrystalReportViewer1.DisplayGroupTree = False

            lobjFrmRelatorios.CrystalReportViewer1.ShowGroupTreeButton = False

     

            lobjRpt.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.Portrait

            lobjFrmRelatorios.ShowDialog()

            lobjRpt.PrintOptions.PaperOrientation = CrystalDecisions.[Shared].PaperOrientation.DefaultPaperOrientation

     

            exibeRelatorioResultados = True

        End Function

    Se vc percebeu, o data set é manual e assim eu não preciso usar o OBDC pois aonde vai ser usado o sistema, não vai ser possível configurar o OBDC nas máquinas dos usuários.

    Teria uma forma de fazer toda essa configuração sem a necessidade de ser manual como assima (como é feito quem usa OBDC)?

     


    Rebeca bjs
    quinta-feira, 18 de novembro de 2010 17:52
  • Eu nao entendi bem a sua pergunta: http://www.dbforumz.com/create-data-source-VB-code-ftopict4552.html

    E veja esta dica tambem:  http://www.codemaker.co.uk/it/tips/ado_conn.htm

     


    Just Be Humble Malange!
    quinta-feira, 18 de novembro de 2010 18:24
  • Eu nao entendi bem a sua pergunta: http://www.dbforumz.com/create-data-source-VB-code-ftopict4552.html

    E veja esta dica tambem:  http://www.codemaker.co.uk/it/tips/ado_conn.htm

     


    Just Be Humble Malange!

    Bem é o seguinte:

    No site do Marcoretti, ele ensina você a usar o cristal report para gerar o acesso ao banco de dados, sem a necessidade de você fazer o código de forma manual.

    Tudo é a base do clique arrasta e algumas configurações que o seu relatório está pronto.(veja o artigo http://www.macoratti.net/vbn3_cr1.htm)

    O que acontece que na hora de buscar os dados no banco de dados, pela forma que ele ensina, esse acesso é feito via ODBC , e esse tipo de acesso tem que ser configurado em cada máquina que ira ter o acesso ao banco de dados ou então no sistema você tem que "mostrar"  ao relatório aonde está o banco de dados.

    Como não vai ser configurado o ODBC nas máquinas dos usuários (pois o programa não é WEB) e não é permitido pela a empresa informar o local aonde está alocado o banco de dados na forma que está no artigo acima, acabei fazendo uma solução muito manual para criar os relatórios, (como mostrado em uma resposta anterior).

    Então com isso a minha pergunta seria, teria como eu fazer esses relatórios na forma como é mostrado no artigo acima, sendo que eu não posso acessar o banco de dados na forma como foi descrito acima?

    Eu já dei olhada nesses artigos, mais meu inglês é péssimo sem contar que eu só sou programadora novata em conexão com o banco de dados.

    Grata


    Rebeca bjs
    quinta-feira, 18 de novembro de 2010 19:17
  • Rebeca,

    Onde você viu que no artigo do Macoratti ele utiliza ODBC para retornar os dados? Naquele artigo ele utiliza OleDb...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quinta-feira, 18 de novembro de 2010 19:27
    Moderador
  • Rebeca,

    Onde você viu que no artigo do Macoratti ele utiliza ODBC para retornar os dados? Naquele artigo ele utiliza OleDb...


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    Desculpa eu enrolei o meio de campo quando escrivi essa parte

    "O que acontece que na hora de buscar os dados no banco de dados, pela forma que ele ensina, esse acesso é feito via ODBC , e esse tipo de acesso tem que ser configurado em cada máquina que ira ter o acesso ao banco de dados ou então no sistema você tem que "mostrar"  ao relatório aonde está o banco de dados."

    O que eu quis dizer é que ele pede que você indique ao progama aonde está a base e esqueci de mencionar que outra forma que eu conheço é pelo ODBC . :P

    Sorry.... :'(

    E como eu disse eu não tenho como mostrar o local aonde está a base da forma de como está mostrando no artigo dele.

    Foi mal mesmo pelo engano :P


    Rebeca bjs
    quinta-feira, 18 de novembro de 2010 19:46
  • @Bequi

    Conseguiste resolver o seu problema?

     


    Just Be Humble Malange!
    quinta-feira, 25 de novembro de 2010 22:13
  • @Bequi

    Conseguiste resolver o seu problema?

     


    Just Be Humble Malange!

    Ainda não.

    Eu ainda tenho que fazer esses relatórios da forma que eu descrevi em uma das minhas repostas.

    O relatório é feito mais a forma de como é feito da muito trabalho.

    Muito manual ainda.

    Gostaria de ter uma forma de fazer mais simples.

    Mais eu acho que não tem :(


    Rebeca bjs
    sexta-feira, 26 de novembro de 2010 11:33
    • Marcado como Resposta Bequi sexta-feira, 3 de dezembro de 2010 13:38
    quinta-feira, 2 de dezembro de 2010 14:21
  • Prezado(a),

    Estou migrando seu post para o fórum de Geração de Relatórios.

    Por favor, das próximas vezes que for postar alguma dúvida referente a esse assunto, poste por lá.

    Obrigado.


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima
    quinta-feira, 2 de dezembro de 2010 14:58
    Moderador
  • Prezado(a),

    Estou migrando seu post para o fórum de Geração de Relatórios.

    Por favor, das próximas vezes que for postar alguma dúvida referente a esse assunto, poste por lá.

    Obrigado.


    André Alves de Lima
    Visite o meu site: http://www.andrealveslima.com.br
    Me siga no Twitter: @andrealveslima

    Ok

    Pode deixar.


    Visitem os meus blogs: www.planetabrasileiro.blogspot.com www.programacaoegames.blogspot.com Rebeca bjs
    sexta-feira, 3 de dezembro de 2010 13:37
  • Olá @Bequi!

    Segue um thread que poderá lhe ser útil: http://social.msdn.microsoft.com/Forums/pt-BR/vscsharppt/thread/60231b2c-4cc5-4171-814b-294c49377d9a

     

    Att.

    Desculpe mais nenhum desses artigos me servio. Eu faço da forma como eles dizem, muito manual, gostaria de algo mais prático.

    Quem sabe algum dia isso exista :'(


    Visitem os meus blogs: www.planetabrasileiro.blogspot.com www.programacaoegames.blogspot.com Rebeca bjs
    • Marcado como Resposta Bequi sexta-feira, 3 de dezembro de 2010 13:40
    sexta-feira, 3 de dezembro de 2010 13:40