06-06-16, 11:43 PM
تحية طيبة
أرجو المعذرة فأنا جديد في عالم البرمجة ولدي مشكلة في إنشاء تقارير Crystal Report في VB.Net
لدي مجموعة من الجداول تشترك جميعها في الحقل DevID وقمت بإنشاء تقرير وقام بإحضار البيانات من الجدول الأول وهي البيانات العامة للجهاز tbldata
أما الجدولين الآخرين فهما يتعلقان بالأعطال tblProblem والملاحظات tblNote
أريد إنشاء التقرير بحيث يظهر البيانات جميعها على الشكل التالي:
الجدول الأول : tbldata هذا الجدول يظهر بيانات محددة ( معلومات الجهاز ) وهنا لا نحتاج إلى جدول على التقرير لأنها بيانات ثابته
الجدول الثاني : tblProblem وهذا الجدول يظهر الأعطال على الجهاز وهي تحتاج إلى أن تكون على شكل جدول لأنها تشكل أكثر من صف واحد
الجدول الثالث : tblNote وهذا الجدول يمثل الملاحظات المسجلة على الجهاز وهي أيضا بحاجة إلى جدول لأنها تشكل أكثر من صف واحد
مع الملاحظة بأن البيانات التي تكون متوفرة دائما هي فقط من الجدول الأول لأنها بيانات ثابته أما الجدولين الأخيرين tblProblem, tblNote ليس شرط بأن يكون موجود فيها بيانات على نفس الجهاز أو الرقم في DevID لان بعض الأجهزة لا تحتوي على أعطال أو ملاحظات
علما أني استخدمت الكود التالي وهو يعمل معي فقط من الجدول الأول
وأنا وضعت هنا جملة الاستعلام للجدولين الثاتي والثالث لملاحظة الحقول المطلوبة في التقرير
Dim ds As New DataSet8
Dim da As New SqlDataAdapter("Select DevID,DevIDCourt, Code_, DevType, SerialNum From tbldata WHERE DevID =" & MDIParent1.txtDevID.Text, conn)
Dim dap As New SqlDataAdapter("Select tblProblem.DevCompany, tblProblem.EmpName, tblProblem.JobPlace, tblProblem.Court, tblProblem.ProbCount, tblProblem.ProbContinue, tblProblem.Statuse_, tblProblem.ProbDate, tblProblem.ProbDet, tblProblem.Maint_By, tblProblem.HwMaint, tblProblem.MaintinanceDate, tblProblem.ReportN, tblProblem.ReportID FROM tblProblem WHERE tblProblem.DevID=" & MDIParent1.txtDevID.Text, conn)
Dim dan As New SqlDataAdapter("Select DevID,tblNote.NoteDate, tblNote.DevNote FROM tblNote WHERE tblNote.DevID=" & MDIParent1.txtDevID.Text, conn)
da.Fill(ds, "dataProbNote")
dv = New DataView(ds.Tables("dataProbNote"))
Dim rpt As New CrystalReport2
rpt.SetDataSource(dv)
Me.CrystalReportViewer1.ReportSource = rpt
Me.CrystalReportViewer1.RefreshReport()
وفي المرفقات شكل التقرير المطلوب حيث أن التقرير في الصورة تم تصميمه على Report Viewer
ويظهر على الصورة مصدر البيانات لكل جدول في التقرير
أرجو المعذرة فأنا جديد في عالم البرمجة ولدي مشكلة في إنشاء تقارير Crystal Report في VB.Net
لدي مجموعة من الجداول تشترك جميعها في الحقل DevID وقمت بإنشاء تقرير وقام بإحضار البيانات من الجدول الأول وهي البيانات العامة للجهاز tbldata
أما الجدولين الآخرين فهما يتعلقان بالأعطال tblProblem والملاحظات tblNote
أريد إنشاء التقرير بحيث يظهر البيانات جميعها على الشكل التالي:
الجدول الأول : tbldata هذا الجدول يظهر بيانات محددة ( معلومات الجهاز ) وهنا لا نحتاج إلى جدول على التقرير لأنها بيانات ثابته
الجدول الثاني : tblProblem وهذا الجدول يظهر الأعطال على الجهاز وهي تحتاج إلى أن تكون على شكل جدول لأنها تشكل أكثر من صف واحد
الجدول الثالث : tblNote وهذا الجدول يمثل الملاحظات المسجلة على الجهاز وهي أيضا بحاجة إلى جدول لأنها تشكل أكثر من صف واحد
مع الملاحظة بأن البيانات التي تكون متوفرة دائما هي فقط من الجدول الأول لأنها بيانات ثابته أما الجدولين الأخيرين tblProblem, tblNote ليس شرط بأن يكون موجود فيها بيانات على نفس الجهاز أو الرقم في DevID لان بعض الأجهزة لا تحتوي على أعطال أو ملاحظات
علما أني استخدمت الكود التالي وهو يعمل معي فقط من الجدول الأول
وأنا وضعت هنا جملة الاستعلام للجدولين الثاتي والثالث لملاحظة الحقول المطلوبة في التقرير
Dim ds As New DataSet8
Dim da As New SqlDataAdapter("Select DevID,DevIDCourt, Code_, DevType, SerialNum From tbldata WHERE DevID =" & MDIParent1.txtDevID.Text, conn)
Dim dap As New SqlDataAdapter("Select tblProblem.DevCompany, tblProblem.EmpName, tblProblem.JobPlace, tblProblem.Court, tblProblem.ProbCount, tblProblem.ProbContinue, tblProblem.Statuse_, tblProblem.ProbDate, tblProblem.ProbDet, tblProblem.Maint_By, tblProblem.HwMaint, tblProblem.MaintinanceDate, tblProblem.ReportN, tblProblem.ReportID FROM tblProblem WHERE tblProblem.DevID=" & MDIParent1.txtDevID.Text, conn)
Dim dan As New SqlDataAdapter("Select DevID,tblNote.NoteDate, tblNote.DevNote FROM tblNote WHERE tblNote.DevID=" & MDIParent1.txtDevID.Text, conn)
da.Fill(ds, "dataProbNote")
dv = New DataView(ds.Tables("dataProbNote"))
Dim rpt As New CrystalReport2
rpt.SetDataSource(dv)
Me.CrystalReportViewer1.ReportSource = rpt
Me.CrystalReportViewer1.RefreshReport()
وفي المرفقات شكل التقرير المطلوب حيث أن التقرير في الصورة تم تصميمه على Report Viewer
ويظهر على الصورة مصدر البيانات لكل جدول في التقرير