просмотрщик отчетов Crystal Неверный параметр

Я попытался передать параметр в программу просмотра отчетов Crystal Report. но это показывает, что параметр неверен.

Dim rpt As New ReportDocument

        rpt.FileName = My.Application.Info.DirectoryPath & "\MAuditList.rpt"
        Dim paramDV As New ParameterDiscreteValue()

        paramDV.Value = frmMachine.machine
        rpt.ParameterFields("@mchno").CurrentValues.Clear()
        rpt.ParameterFields("@mchno").DefaultValues.Clear()
        rpt.ParameterFields("@mchno").CurrentValues.Add(paramDV)
        paramDV.Value = frmMachine.batch - 1
        rpt.ParameterFields("@batch").CurrentValues.Clear()
        rpt.ParameterFields("@batch").DefaultValues.Clear()
        rpt.ParameterFields("@batch").CurrentValues.Add(paramDV)
        paramDV.Value = InpStdPt
        rpt.ParameterFields("@Points").CurrentValues.Clear()
        rpt.ParameterFields("@Points").DefaultValues.Clear()
        rpt.ParameterFields("@Points").CurrentValues.Add(paramDV)
        paramDV.Value = OvrPoints
        rpt.ParameterFields("@ovrpt").CurrentValues.Clear()
        rpt.ParameterFields("@ovrpt").DefaultValues.Clear()
        rpt.ParameterFields("@ovrpt").CurrentValues.Add(paramDV)

        Form1.CrystalReportViewer1.ReportSource = rpt
        Form1.Show()</code>

any error in these code??


person OMG    schedule 13.06.2011    source источник


Ответы (1)


Вы должны назначить параметры своему объекту отчета, а затем назначить объект отчета вашему CrystalReportViewer.

Попробуйте что-то вроде этого:

'Create report object and load the report
Dim rpt As New ReportDocument()
rpt.FileName = My.Application.Info.DirectoryPath & "\MAuditList.rpt"

'Set the Parameters
Dim paramDV As New ParameterDiscreteValue()
paramDV.Value = "Parameter Value"
rpt.ParameterFields("@ParameterName").CurrentValues.Clear()
rpt.ParameterFields("@ParameterName").DefaultValues.Clear()
rpt.ParameterFields("@ParameterName").CurrentValues.Add(paramDV)

'Assign the report object to the Viewer Report Source
Form1.CrystalReportViewer1.ReportSource = rpt
Form1.Show()
person codingbadger    schedule 13.06.2011
comment
я пытаюсь объявить отчет, но он показывает ошибку. он показывает красное подчеркивание под отчетом () - person OMG; 13.06.2011
comment
@OMG: Вам, вероятно, потребуется Import пространства имен Crystal. Попробуйте эти два Import CrystalDecisions.CrystalReports.Engine и Import CrystalDecisions.Shared - person codingbadger; 13.06.2011
comment
я добавил их b4, мне нужно добавить любую ссылку?? - person OMG; 13.06.2011
comment
@OMG: вам нужно будет сослаться на библиотеки DLL. Что такое сообщение об ошибке? - person codingbadger; 13.06.2011
comment
@OMG: Извините, должно быть ReportDocument - person codingbadger; 13.06.2011
comment
я изменил отчет на отчет-документ. но он показывает, что ссылка на объект не установлена ​​​​на экземпляр объекта в строке rpt.ParameterFields(@mchno).CurrentValues.Clear() - person OMG; 13.06.2011
comment
@OMG: Какую ошибку вы получаете? Это ошибка ссылки на объект или неверный параметр? Имена параметров должны точно совпадать с именами в CrstalReport. - person codingbadger; 13.06.2011
comment
сообщение об ошибке: Ссылка на объект не указывает на экземпляр объекта. Я проверил имя параметра, имя параметра правильное. - person OMG; 13.06.2011
comment
@OMG: я только что создал тестовое приложение, и оно отлично работает. Путь к отчету указан правильно? А у вас есть права на открытие отчета? Попробуйте скопировать отчет в локальный каталог приложения в качестве теста. - person codingbadger; 13.06.2011