تقييم الموضوع :
  • 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 لكل الجداول و لم تضبط معي .. فأضفت داتاسيت ثانية للمحاولة
رغم أنّ جدول البانات العامّة ليس له أي علاقة بالجدوليْن : رأس الفاتورة و جدول بياناتها
إحتراماتي
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] هل يمكن عمل Trigger في قواعد بيانات Access + فيجوال بيسك محمد العامر 2 121 28-07-20, 01:45 AM
آخر رد: محمد العامر
  هل يمكن تحميل اسم قاعدة البيانات في جدول DataGridView أو لست بوكس المهنا 2 130 26-07-20, 11:46 PM
آخر رد: المهنا
  تشغيل برنامج يعمل بقاعدة بيانات sql server mostafa nada 6 267 21-07-20, 06:20 PM
آخر رد: essawq
  طريقه استخدام web browser فى الفيجوال بحيث يعرص فاعده بيانات اكسس خالد كامل1 0 89 20-07-20, 06:13 PM
آخر رد: خالد كامل1
  [درس فيديو] بفضل الله : فيديو+ مشروع حل مشكلة أتاتش قاعدة بيانات SQL SERVER DR.YASER 13 477 20-07-20, 03:36 AM
آخر رد: ابراهيم ايبو
  ما هى طريقه فتح قاعده بيانات موجوده وفتجها على فورم خالد كامل1 6 194 19-07-20, 11:30 PM
آخر رد: خالد كامل1
  [VB.NET] إضافة فروع إلى TreeView freehego 13 558 11-07-20, 02:14 AM
آخر رد: Mohamad Anan
  [VB.NET] ضبط حجم عرض التقرير في Report Viewer محمد العامر 1 139 04-07-20, 06:29 PM
آخر رد: محمد العامر
  مطلوب طريقة طباعة 2 نسخة من تقرير كريستال ahmedramzyaish 3 208 04-07-20, 02:41 AM
آخر رد: عبد العزيز البسكري
  ضبط النص في التقرير DOX.1 2 267 04-07-20, 12:25 AM
آخر رد: DOX.1

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


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