تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
إضافة بيانات جدول ثالث أثناء طباعة صفحة التقرير
#1
السّلام عليكم و رحمة الله و بركاته
سادتي الأفاضل
الرّجاء تنويري لحل هذه الإشكالية .. بارك الله فيكم و لكم
لدي جدوليْن : جدول رأس الفاتورة و جدول بيانات الفاتورة
الطباعة تتم على أكمل وجه و الحمد الله
و هذا الكود المستعمل :
كود :
   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

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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 145 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [سؤال] أتمنى اجابة وافية:عمل برنامج بقاعدة بيانات SQL دون حاجة تثبيت SQLSERVER dr.programming 6 657 19-03-24, 08:56 AM
آخر رد: سلامه محمد11
  استعلام select عن مجموعة بيانات Adel27213 1 215 15-03-24, 01:11 AM
آخر رد: justforit
  تعديل بيانات عمود DataGridView دفعة واحدة مصمم هاوي 2 200 05-03-24, 08:27 PM
آخر رد: مصمم هاوي
  [VB.NET] تحديث بيانات فى كلاس من جدول سيكوال asdfar1977 6 196 26-02-24, 01:07 AM
آخر رد: asdfar1977
  كيفية جمع أرقام عمود فى الداتا جريد فيو بناءاً على بيانات معينة heem1986 5 241 25-02-24, 11:26 PM
آخر رد: heem1986
  [C#.NET] طباعة بيانات داتا جرد فيو h2551996 0 95 25-02-24, 02:31 PM
آخر رد: h2551996
  [VB.NET] معرفة بيانات الجهاز محمد بوقزاحة 1 328 21-02-24, 11:44 PM
آخر رد: AHMED213
  كيفية انشاء سكريبت لقاعدة بيانات من خلال الكود heem1986 1 214 20-02-24, 12:00 AM
آخر رد: Kamil
  كيفية تنفيذ أمر عرض بيانات من فورم ثان مصمم هاوي 7 339 19-02-24, 12:28 AM
آخر رد: مصمم هاوي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم