منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : إضافة بيانات جدول ثالث أثناء طباعة صفحة التقرير
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السّلام عليكم و رحمة الله و بركاته
سادتي الأفاضل
الرّجاء تنويري لحل هذه الإشكالية .. بارك الله فيكم و لكم
لدي جدوليْن : جدول رأس الفاتورة و جدول بيانات الفاتورة
الطباعة تتم على أكمل وجه و الحمد الله
و هذا الكود المستعمل :
كود :
   Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click

       If XtraMessageBox.Show("هل ترغب في طباعة بيانات فاتورة المبيعات الفورية ؟", "رسالة", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = MsgBoxResult.No Then Exit Sub
       Try
           Dim Facture_Code As String = Me.TxtFacturePosCode.Text
           Dim Rept As New XtraPosReport

           Dim Ds As New DataSet

           Dim Invoices_Pos As DataTable = Sql_Globale_Query("SELECT INVOICES_POS_Code , INVOICES_POS_Date , INVOICES_POS_Horaire , INVOICES_POS_Total , INVOICES_POS_Grand_Total , INVOICES_POS_Username From TBL_INVOICES_POS Where INVOICES_POS_Code = '" & Facture_Code & "'")
           Dim Invoices_Pos_Details As DataTable = Sql_Globale_Query("SELECT INVOICES_POS_DETAILS_Code,INVOICES_POS_DETAILS_Items_Code,INVOICES_POS_DETAILS_Items_Name,INVOICES_POS_DETAILS_Items_Quantite,INVOICES_POS_DETAILS_Unite_Price,INVOICES_POS_DETAILS_Total_Price From TBL_INVOICES_POS_DETAILS  Where INVOICES_POS_DETAILS_Code = '" & Facture_Code & "'")

           Invoices_Pos.TableName = "TBL_INVOICES_POS"
           Invoices_Pos_Details.TableName = "TBL_INVOICES_POS_DETAILS"

           Ds.Tables.Add(Invoices_Pos)
           Ds.Tables.Add(Invoices_Pos_Details)
           Ds.Relations.Add(Ds.Tables("TBL_INVOICES_POS").Columns("INVOICES_POS_Code"), Ds.Tables("TBL_INVOICES_POS_DETAILS").Columns("INVOICES_POS_DETAILS_Code"))
           Dim Dt = Ds.Tables(0)
           If Dt.Rows.Count = 0 Then
               XtraMessageBox.Show("لم يتم العثور على بيانات لعرضها في التّقرير", "طباعة التقرير", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
               Exit Sub
           End If

           Rept.DataSource = Ds
           Rept.DataMember = "TBL_INVOICES_POS"
           Rept.DataMember = "TBL_INVOICES_POS_DETAILS"

           Dim Tool_Report As ReportPrintTool = New ReportPrintTool(Rept)
           Rept.CreateDocument()
           Dim Frm As New FrmXtraPrinting
           Frm.DocumentViewer1.DocumentSource = Rept
           Frm.ShowDialog()
           If Conne_2020.State = ConnectionState.Open Then Conne_2020.Close()
       Catch ex As Exception
           XtraMessageBox.Show("خطأ غير متوقّع في عمليّة جلب البيانات", "طباعة التقرير")
       End Try

   End Sub

أريد إضافة بعض البيانات العامّة من جدول ثالث TBL_GENERALE
و المشار إليها باللون الأصفر
و أضفت الكود التالي داخل الكود الأوّل أعلاه .. لتمييزه كتبت أمامه " البيانات العامّة " :
كود :
Private Sub SimpleButton1_Click(sender As Object, e As EventArgs) Handles SimpleButton1.Click

       If XtraMessageBox.Show("هل ترغب في طباعة بيانات فاتورة المبيعات الفورية ؟", "رسالة", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) = MsgBoxResult.No Then Exit Sub
       Try
           Dim Facture_Code As String = Me.TxtFacturePosCode.Text
           Dim Rept As New XtraPosReport

           Dim Ds As New DataSet

           Dim Invoices_Pos As DataTable = Sql_Globale_Query("SELECT INVOICES_POS_Code , INVOICES_POS_Date , INVOICES_POS_Horaire , INVOICES_POS_Total , INVOICES_POS_Grand_Total , INVOICES_POS_Username From TBL_INVOICES_POS Where INVOICES_POS_Code = '" & Facture_Code & "'")
           Dim Invoices_Pos_Details As DataTable = Sql_Globale_Query("SELECT INVOICES_POS_DETAILS_Code,INVOICES_POS_DETAILS_Items_Code,INVOICES_POS_DETAILS_Items_Name,INVOICES_POS_DETAILS_Items_Quantite,INVOICES_POS_DETAILS_Unite_Price,INVOICES_POS_DETAILS_Total_Price From TBL_INVOICES_POS_DETAILS  Where INVOICES_POS_DETAILS_Code = '" & Facture_Code & "'")

           Invoices_Pos.TableName = "TBL_INVOICES_POS"
           Invoices_Pos_Details.TableName = "TBL_INVOICES_POS_DETAILS"

           Ds.Tables.Add(Invoices_Pos)
           Ds.Tables.Add(Invoices_Pos_Details)
           Ds.Relations.Add(Ds.Tables("TBL_INVOICES_POS").Columns("INVOICES_POS_Code"), Ds.Tables("TBL_INVOICES_POS_DETAILS").Columns("INVOICES_POS_DETAILS_Code"))
           Dim Dt = Ds.Tables(0)
           If Dt.Rows.Count = 0 Then
               XtraMessageBox.Show("لم يتم العثور على بيانات لعرضها في التّقرير", "طباعة التقرير", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
               Exit Sub
           End If

           Rept.DataSource = Ds
           Rept.DataMember = "TBL_INVOICES_POS"
           Rept.DataMember = "TBL_INVOICES_POS_DETAILS"

           'البيانات العامّة
           Dim Adp_Generale As New OleDbDataAdapter("SELECT GENERALE_Entreprise,GENERALE_Mobile,GENERALE_Adresse From TBL_GENERALE", Conne_2020)
           Dim Ds_Generale As New DataSet
           Adp_Generale.Fill(Ds_Generale)
           Dim Dt_Generale = Ds_Generale.Tables(0)
           If Dt_Generale.Rows.Count = 0 Then
               Exit Sub
           End If
           Rept.DataSource = Ds_Generale
           Rept.DataAdapter = Adp_Generale
           Rept.DataMember = "TBL_GENERALE"

           'البارامترات
           'Rept.Parameters("Parameter1").Value = Me.TextBox1.Text
           'Rept.Parameters("Parameter2").Value = Me.TextBox2.Text
           'Rept.Parameters("Parameter3").Value = Me.TextBox3.Text

           Dim Tool_Report As ReportPrintTool = New ReportPrintTool(Rept)
           Rept.CreateDocument()
           Dim Frm As New FrmXtraPrinting
           Frm.DocumentViewer1.DocumentSource = Rept
           Frm.ShowDialog()
           If Conne_2020.State = ConnectionState.Open Then Conne_2020.Close()
       Catch ex As Exception
           XtraMessageBox.Show("خطأ غير متوقّع في عمليّة جلب البيانات", "طباعة التقرير")
       End Try

   End Sub

فإذا بمعلومات رأس الفاتورة و بياناتها تختفي تماما .. و تظهر البيانات العامّة فقط

طبعا يمكن جلب البيانات إلى التاكسات بكس و تمريرها كبارامترات لصفحة التقرير
لكن ما أريده هو كيفية إدماج كود البيانات العامة مع الكود الأوّل أعلاه دون استعمال البارامترات
بارك لله فيكم و لكم مقدما و جزاكم خير الجزاء
حضرتك ليه عملت Dataset جديدة لجلب البيانات العامة ؟؟؟
اعتقد انك مسحت DS واستبدلتها ب Ds_Generale
السّلام عليكم و رحمة الله و بركاته
و الله يا طيّب جرّبت بكل الطرق .. ثم الإعتماد على ال DS لكل الجداول و لم تضبط معي .. فأضفت داتاسيت ثانية للمحاولة
رغم أنّ جدول البانات العامّة ليس له أي علاقة بالجدوليْن : رأس الفاتورة و جدول بياناتها
إحتراماتي