none
CRYSTAL REPORT VIEWER: ERRO RRS feed

  • Pergunta

  • Boa tarde galera !

    Copiei o código do Macoratti (abaixo) e está dando o seguinte erro... Índice inválido. (Exceção de HRESULT: 0x8002000B (DISP_E_BADINDEX))   (O código é para filtrar criando parâmetros)

    O erro dá nessa parte... 

    crParameterFieldLocation = crParameterFieldDefinitions.Item("")

    Estou usando VB.NET e Access BD

    Alguém pode me ajudar ?

    Código:

    Private Sub btnGerar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGerar.Click
            If Not txtEstipulante.Text = String.Empty Then
                ' carrega o relatorio desejado
                Dim strReportName As String = "Relatorio"
                '
                'define o caminho e nome do relatorio
                Dim strReportPath As String = "C:\Users\marcos.proenca\Desktop\App Resumo Apólice v2.0 - Login\ResumoAp\ResumoAp\Relatorio.rpt"
                '" & "\" & strReportName & "
                'verifica se o arquivo existe
                If Not IO.File.Exists(strReportPath) Then
                    Throw (New Exception("Relatorio nao localizado :" & vbCrLf & strReportPath))
                End If
                '
                'instancia o relaorio e carrega
                Dim CR As New ReportDocument
                CR.Load(strReportPath)
                '
                ' atribui os parametros declarados aos objetos relacionados
                Dim crParameterDiscreteValue As CrystalDecisions.Shared.ParameterDiscreteValue
                Dim crParameterFieldDefinitions As ParameterFieldDefinitions
                Dim crParameterFieldLocation As ParameterFieldDefinition
                Dim crParameterValues As CrystalDecisions.Shared.ParameterValues
                '
                ' Pega a coleção de parametros do relatorio
                crParameterFieldDefinitions = CR.DataDefinition.ParameterFields
                '
                ' define o primeiro parametro
                ' - pega o parametro e diz a ela para usar os valores atuais
                ' - define o valor do parametro
                ' - inclui e aplica o valor
                ' - repete para cada parametro se for o caso (não é o caso deste exemplo)
                ' Vamos usar o parametro 'cidade'
                crParameterFieldLocation = crParameterFieldDefinitions.Item("")
                crParameterValues = crParameterFieldLocation.CurrentValues
                crParameterDiscreteValue = New CrystalDecisions.Shared.ParameterDiscreteValue
    
                'obtem o valor da caixa de texto
                crParameterDiscreteValue.Value = txtEstipulante.Text
                crParameterValues.Add(crParameterDiscreteValue)
                crParameterFieldLocation.ApplyCurrentValues(crParameterValues)
                '
                ' Define a fonte do controle Crystal Report Viewer como sendo o relatorio definido acima
                CrystalReportViewer1.ReportSource = CR
            Else
                MsgBox("Informe a Estipulante.")
            End If

    Valeu.



    segunda-feira, 14 de dezembro de 2015 14:31

Respostas

  • Mais vc está passando via aplicação o parametro e esse parametro tem que existir no relatório fisico.

    Vá em field explorer vá em parameter field, é assim que vc cria os parametros.

    Veja esse link

    http://www.macoratti.net/08/10/crys_up1.htm


    Junior


    • Editado Junior_luiz segunda-feira, 14 de dezembro de 2015 19:13 errei
    • Marcado como Resposta Markus Proença terça-feira, 15 de dezembro de 2015 16:13
    segunda-feira, 14 de dezembro de 2015 19:12

Todas as Respostas

  • onde está dando o erro ?

    Junior

    segunda-feira, 14 de dezembro de 2015 16:33
  • Nessa parte...

    crParameterFieldLocation = crParameterFieldDefinitions.Item("Estipulante")
    segunda-feira, 14 de dezembro de 2015 16:48
  • Esse parametro tem que ser criado no rdlc no report viewer.

    Vc está passando algum valor para ele ? se não estiver ou ele pode vir com valor nulo, marque a opção no rdlc permitindo que o parametro receba valor nulo, pode ser esse o erro.


    Junior

    segunda-feira, 14 de dezembro de 2015 17:54
  • Mas estou usando Crystal Report Viewer o formato é rpt...

    Estou passando o valor do Crystal Report que nomeei como "Relatorio.rpt", e esse "Relatorio" está puxando Informações de uma tabela no meu bd access.

    Se eu estiver falando Mer!$%@ me diz onde acho essa opção, não manjo mexer com relatório.

    Valeu.

     
    segunda-feira, 14 de dezembro de 2015 18:33
  • Mais vc está passando via aplicação o parametro e esse parametro tem que existir no relatório fisico.

    Vá em field explorer vá em parameter field, é assim que vc cria os parametros.

    Veja esse link

    http://www.macoratti.net/08/10/crys_up1.htm


    Junior


    • Editado Junior_luiz segunda-feira, 14 de dezembro de 2015 19:13 errei
    • Marcado como Resposta Markus Proença terça-feira, 15 de dezembro de 2015 16:13
    segunda-feira, 14 de dezembro de 2015 19:12
  • Deu certo obrigado.

    Valeu.

    terça-feira, 15 de dezembro de 2015 11:51