У меня возникла проблема при показе отчета о кристалле с 2 подзаголовками. Оба подзаголовка вытягивают данные из хранимой процедуры.Добавить несколько наборов данных программно для подзаголовков VB.net
Все работает нормально во время разработки. Но во время выполнения Crystal Reports имеет ошибку, считая, что таблица не найдена (вторая таблица), и ничего не отображается в отчетах.
Это аналогичная проблема, которую я хочу, чтобы решить - Crystal Report for Income and Expense wth opening and closing balance
Это мой код - как хранимая процедура имеет один параметр datetime
типа:
Dim DOF As Date = #4/1/2016#
DOF = Format(DOF, "dd/MM/yyyy")
Dim DOT As Date = #4/1/2016# ' Now.Date
DOT = Format(DOT, "dd/MM/yyyy")
Dim DS As Data.DataSet
Dim DA As SqlDataAdapter
Dim s_Sql As String
Dim s_sql2 As String
Dim cmd As SqlCommand
s_Sql = "sp_DailyIncome"
cmd = New SqlCommand(s_Sql, o_con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add(New SqlParameter("@FDate", Format(DOF, "MM/dd/yyyy")))
DA = New SqlDataAdapter
DA.SelectCommand = cmd
DS = New Data.DataSet
DA.Fill(DS, s_Sql)
cmd.Dispose()
s_sql2 = "sp_DailyExpense"
o_Cmd = New SqlCommand(s_sql2, o_con)
o_Cmd.CommandType = CommandType.StoredProcedure
o_Cmd.Parameters.Add(New SqlParameter("@FDate", Format(DOF, "MM/dd/yyyy")))
DA.SelectCommand = o_Cmd
DA.Fill(DS, s_sql2)
Dim rptDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
rptDoc = New rptDailyCashReport
rptDoc.DataDefinition.FormulaFields("SchoolName").Text = "'" & holdSchoolName & "'"
rptDoc.SetParameterValue("@FDate", DOF)
rptDoc.Subreports.Item(0).SetDataSource(DS.Tables(0))
rptDoc.Subreports.Item(1).SetDataSource(DS.Tables(1))
Dim objForm As New ShowReport
objForm.ViewReport(rptDoc, , "")
objForm.ShowDialog()
Вы не наполняя DS1 набор данных, но вы назначаете его в качестве источника данных вашего подотчета –
Пожалуйста, помогите мне получить эту проблему решить. Как ваш комментарий, как исправить мой код? @ F0r3v3r-A-N00b –
проверьте, существует ли SP sp_DailyExpense. Может быть опечатка. –