Member 10404143 Ответов: 0

Как объединить два отчета в один crystal report in VB.NET


У меня есть 3 таблицы, стажеры, посещаемость и оценки.

Я хочу отобразить отчет о посещаемости стажера в первой части отчета (вверху) и оценки во второй части (внизу). Пожалуйста, помогите, как я могу это сделать? Заранее спасибо. Вот мой код.

Примечание: ошибка заключается в том, что

cr.Subreports = cr2


вложенные отчеты доступны только для чтения

Что я уже пробовал:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
      Try
          If con.State = ConnectionState.Open Then
              con.Close()
          End If
          con.Open()

          Dim sql As String

          Dim prn As String = ComboBox2.Text


          Sql = "SELECT dbo.Trainees.Name, dbo.Trainees.GroupName, dbo.Trainees.IDPic, dbo.Trainees.AName, dbo.FollowUp.prno, " +
                " dbo.FollowUp.cycleno, dbo.FollowUp.mo, dbo.FollowUp.dy, dbo.FollowUp.yr, dbo.FollowUp.code, " +
                " dbo.FollowUp.warnings, dbo.FollowUp.wcategory, dbo.FollowUp.wreason, dbo.FollowUp.A, dbo.FollowUp.B, " +
                " dbo.FollowUp.P, dbo.FollowUp.C, dbo.FollowUp.Q, dbo.FollowUp.L, dbo.FollowUp.V, dbo.FollowUp.S, dbo.FollowUp.totalhrs " +
                " From dbo.Trainees INNER Join dbo.FollowUp ON dbo.Trainees.PRNo = dbo.FollowUp.prno " +
                " Where(dbo.FollowUp.prno = '" + prn + "') "


          Dim da As New System.Data.SqlClient.SqlDataAdapter(Sql, con)

          Dim ds As New DataSet8

          da.Fill(ds, "View_8")

          Dim cr As New CrystalReport10()

          cr.SetDataSource(ds)


          Dim sql2 As String

          sql2 = "SELECT dbo.Grades.PRNo, dbo.Trainees.Name, dbo.Grades.CycleNo, dbo.Grades.Results, dbo.Grades.Remarks " +
                 " FROM dbo.Trainees INNER JOIN dbo.Grades ON dbo.Trainees.PRNo = dbo.Grades.PRNo " +
                 " WHERE(dbo.Grades.PRNo = '" + prn + "') "


          Dim da2 As New System.Data.SqlClient.SqlDataAdapter(sql2, con)

          Dim ds2 As New DataSet16

          da2.Fill(ds2, "View_16")

          Dim cr2 As New CrystalReport55()

          cr2.SetDataSource(ds2)
          CrystalReportViewer1.ReportSource = cr
          cr.Subreports = cr2

      Catch ex As Exception
          MsgBox(ex.Message)
          con.Close()
      End Try
      con.Close()
  End Sub

ZurdoDev

В чем заключается ошибка и какой именно вопрос Вы нам задаете?

Member 10404143

Привет. Я хочу спросить, как я могу объединить два разных отчета crystal в один. Спасибо.

Member 10404143

У меня есть два хрустальных отчета.
1. покажите посещаемость(отсутствие отсутствий с разрешением и без разрешения) стажера
2. Отображать результаты экзаменов за каждый цикл.

У меня есть 3 стола:
1. имя таблицы: стажер (IDNo, имя и т. д. )
2. Посещаемость=имя таблицы: Продолжение (Идно, дата, CodeAbsent и т. д.)
3. название таблицы: оценки (IDNo, CycleNo, результаты, замечания)

В моем коде IDNo это PRNo

Теперь в моем первом отчете crystal он будет отображать информацию о посещаемости (CystalReport10.prt)
IDNo, Имя, Дата, CodeAbsent

второй кристаллический отчет он будет отображать результаты обследования для каждого цикла.
IDNo, Имя, Результат, Замечания.

В моей форме у меня есть 2 comboBoxes, один для IDNo, а другой для цикла No.

Мой код выше не имеет ошибки, если я буду отображать один отчет crystal по одному за раз. но когда я объединяю их, основной отчет-это информация о посещаемости и оценках стажера для вложенного отчета (CrystalReport55.prt).

Вот вам и ошибки:


Собственность BC30526 ошибка 'отчеты' это 'только для чтения'. WindowsApp1 BC30311 значение типа 'CrystalReport55' не может быть преобразовано в 'вложенные отчеты'. WindowsApp1

Пожалуйста помочь. Спасибо.

ZurdoDev

Я не знаю, Кристал, но, может быть, вам нужно построить третий отчет, в котором есть они оба. Но я уверен, что если вы загуглите ошибку, то найдете ответ.

Member 10404143

хорошо, спасибо за ответ.

Member 10404143

Теперь у меня есть ответ!

ZurdoDev

Пожалуйста, опубликуйте что - нибудь в качестве решения, чтобы это больше не показывалось как неотвеченное. Рад слышать, что ты что-то нашел.

0 Ответов