تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اظهار معلومات اكثر من جدول في crystal Report
#1
السلام عليكم 

قمت بتصميم فاتوره للصيانه وكل شي ماشي كشخ

اقوم بجلب بيانات الصيانة عن طريق ال data source 

الجدول الاول عباره عن الجدول المخزن به معلومات الصيانة phone_fix
والجدول ال ٢  SettingSys هو جدول فيه معلومات المنشئه من الاسم رقم الهاتف الموقع الى اخ ...

قمت بجلب الجداول ال ٢ من ال data source في ال dataset 

وقمت بوضع كل شئ في المكان المناسب، عند التشغيل واستدعاء ال report 
تظهر معلومات الصيانة فقك بدون المعلومات من جدول SettingSys

هذا الكود المستعمل
PHP كود :
Dim ID As String GV.SelectedRows(0).Cells(0).Value

        If Conn
.State ConnectionState.Closed Then
            Conn
.Open()
 
       End If

 
       SQLHistory "SELECT * FROM phone_fix WHERE ID = @ID"
 
       Dim cmd As New OleDbCommand(SQLHistoryConn)
 
       cmd.Parameters.AddWithValue("@ID"ID)


 
       DataSet_phone_fix.Clear()

 
       Dim DataAdapterInvoices As New OleDbDataAdapter(cmd)
 
       DataAdapterInvoices.Fill(DataSet_phone_fix"phone_fix")

 
       Conn.Close()

 
       Dim dataset_sett As New DataSet
        If Conn
.State ConnectionState.Closed Then
            Conn
.Open()
 
       End If

 
       Dim cmd2 As New OleDbCommand("SELECT * FROM SettingSys WHERE ID = @ID"Conn)
 
       cmd2.Parameters.AddWithValue("@ID""1")

 
       dataset_sett.Clear()

 
       Dim DataAdaptersetti As New OleDbDataAdapter(cmd2)
 
       DataAdaptersetti.Fill(dataset_sett"SettingSys")

 
       Conn.Close()

 
       Dim rep As New Fix_phone_bill
        rep
.SetDataSource(DataSet_phone_fix)
 
       rep.SetDataSource(dataset_sett)

 
       Dim frm As New FormPrint
        frm
.CrystalReportViewer1.ReportSource rep
        frm
.CrystalReportViewer1.LogOnInfo(0).ConnectionInfo.Password "123"
 
       frm.ShowDialog() 



الملفات المرفقة صورة/صور
           
الرد
تم الشكر بواسطة:
#2
أنت بحاجة إلى جملة أستعلام واحده فقط للجدوليين
كود :
SELECT phone_fix.id, phone_fix.dd, phone_fix.ff, phone_fix.gg, SettingSys.id AS Expr1, SettingSys.clum1, SettingSys.clum2 FROM phone_fix INNER JOIN  SettingSys ON phone_fix.id = SettingSys.id where phone_fix.id like '1' and  SettingSys.id like '1'
الرد
تم الشكر بواسطة: elgokr , Rabeea Qbaha , Rabeea Qbaha
#3
الخطاء لديك بان الاستعلام منفصل وليس واحد
من ثم بتستدهى البيانات على الهذا الكشل
كود :
       rep.SetDataSource(DataSet_phone_fix)
       rep.SetDataSource(dataset_sett)

عامل زى اللى لو حد قال سمى اسم المشروع
فرحت كتبت اسمه احمد وبعد شوية عملته محمد

تفتكر لما تتسال تانى وحد يقول اسم مشروعك هيكون ايه
تفتكر هتقدر تقول اسمه احمد و محمد ولا الصح هو الاسم الاخير اللى كتب شكلياً

الامر هنا نفس الفكرة لذلك من الاساس انت بحاجة لعمل عمل استعلام واحد للجدولياً معاً
بامكانك ارفاق قاعدة البيانات اذا كانت Access حتى اوضح لك شكل الاستعلام بناءاً للمسميات لديك

واذا كانت قاعدة البيانات من نوع Sql فكل ما عليك عمل قاعدة بيانات من نوع Access 
بها الجدوليا والاعمدة كمثال لما لديك فى قاعدة البيانات Access

لتسهيل الامر وذلك عدم اختلاف اصدارات Sql وبالنهاية ساضع لك الكود طبقاً لنوع قاعدة البيانات التى تعمل عليها

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
#4
(21-11-18, 06:11 PM)elgokr كتب :
الخطاء لديك بان الاستعلام منفصل وليس واحد
من ثم بتستدهى البيانات على الهذا الكشل
كود :
       rep.SetDataSource(DataSet_phone_fix)
       rep.SetDataSource(dataset_sett)

عامل زى اللى لو حد قال سمى اسم المشروع
فرحت كتبت اسمه احمد وبعد شوية عملته محمد

تفتكر لما تتسال تانى وحد يقول اسم مشروعك هيكون ايه
تفتكر هتقدر تقول اسمه احمد و محمد ولا الصح هو الاسم الاخير اللى كتب شكلياً

الامر هنا نفس الفكرة لذلك من الاساس انت بحاجة لعمل عمل استعلام واحد للجدولياً معاً
بامكانك ارفاق قاعدة البيانات اذا كانت Access حتى اوضح لك شكل الاستعلام بناءاً للمسميات لديك

واذا كانت قاعدة البيانات من نوع Sql فكل ما عليك عمل قاعدة بيانات من نوع Access 
بها الجدوليا والاعمدة كمثال لما لديك فى قاعدة البيانات Access

لتسهيل الامر وذلك عدم اختلاف اصدارات Sql وبالنهاية ساضع لك الكود طبقاً لنوع قاعدة البيانات التى تعمل عليها

تحياتى لك
وتمنياتى لك التوفيق


الجدولين عندي لا توجد بينهم علاقة هل هذا يؤثر ؟؟
الرد
تم الشكر بواسطة:
#5
لا يلزم ان يكون فى علاقة 
واذا لزم وتريد عمل علاقة انشاء عمود فى phone_fix
تحت اسم وليكن idSettingSys  ووظيفته اخذ رقم الاى دى الخاص بالبيانات المنشئة من الجدول الثاني

وبكده سيتم تيهسل الامور كلياً
واذا كان الجدول الثاني هو عبارة عن بيانات واحدة فقط وليس متعدد البيانات
فيمكنك ايضاً عمل الاستعلام بدون علاقة بين الجدولين بما ان الاستعالم يبكون عن تحق قيمة ID بجدول SettingSys  لرقم 1
 
فقط ارفق قاعدة بيانات كما وضحت مسبقاً وساضع لك الكود مع صورة للنتائج الاستعلام

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: Rabeea Qbaha , Rabeea Qbaha
#6
 الجدول الثاني هو عبارة عن بيانات واحدة فقط وليس متعدد البيانات

هذه قاعدة بيانات تحمل الجدولين فقط.


الملفات المرفقة
.zip   Database1.accdb.zip (الحجم : 26.04 ك ب / التحميلات : 12)
الرد
تم الشكر بواسطة:
#7
جميل اذاً كل المطلوب هو عرض التقرير كل فرد مستقل

فكل مما عليك استخدام كود الاستعلام على هذا الشكل
كود :
SELECT SettingSys.CenterName, SettingSys.ManagerName, SettingSys.About, SettingSys.SystemPassword, SettingSys.CenterPhone, SettingSys.CenterPhone2, SettingSys.address, SettingSys.Dawn, phone_fix.cust_name, phone_fix.phone_number, phone_fix.div_type, phone_fix.imei, phone_fix.phone_type, phone_fix.problem, phone_fix.parts_price, phone_fix.price, phone_fix.paid, phone_fix.status, phone_fix.fix_date, phone_fix.guar_date, phone_fix.nnote, phone_fix.EmployeeName, phone_fix.parts_b_price FROM phone_fix, SettingSys WHERE phone_fix.ID=1

كل ما سيتم منك هو وضع المسمى الخاص بالقيمة عن رقم 1
وبامكانك ازالة اى عمود غير مرغوب به باستخدامه ليظهر بالاستعلام

الامر الاخر اذا كنت تريد عرض جميع ما فى الجدول مع الربط فتستخدم بهذا الشكل
كود :
SELECT SettingSys.CenterName, SettingSys.ManagerName, SettingSys.About, SettingSys.SystemPassword, SettingSys.CenterPhone, SettingSys.CenterPhone2, SettingSys.address, SettingSys.Dawn, phone_fix.cust_name, phone_fix.phone_number, phone_fix.div_type, phone_fix.imei, phone_fix.phone_type, phone_fix.problem, phone_fix.parts_price, phone_fix.price, phone_fix.paid, phone_fix.status, phone_fix.fix_date, phone_fix.guar_date, phone_fix.nnote, phone_fix.EmployeeName, phone_fix.parts_b_price
FROM phone_fix, SettingSys

لو تلاحظ ان الاثنين واحد ولكن فى الكود الثاني ما اختلف به هو عدم وجود هذه الجملة
PHP كود :
WHERE phone_fix.ID=

اذا تم استخدام الاستعلام الثاني الخاص بعرض الجميع
فكل ما عليك فعله هو مسح اسماء الاعمدة التى غير مرغوب بها بوجودها فى الاستعلام

وبكده سيكون الاستعلام معك بدون اى مشكل
كل ما عليك ستجعل كودك باول المشاركة عبارة عن استعلام واحد
وعند السطر
PHP كود :
      rep.SetDataSource 

ستجعله واحد فقط ويرتبط به الداتا سيت خاصة الاستعلام

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة: Rabeea Qbaha
#8
اخي الجوكر شكرا جزيلا على مجهودك 

للافادة اصبح الكود في هذا الشكل 

PHP كود :
Dim ds As New DataSet
        Dim ID 
As String GV.SelectedRows(0).Cells(0).Value

        If Conn
.State ConnectionState.Closed Then
            Conn
.Open()
 
       End If

 
       SQLHistory "SELECT SettingSys.CenterName, SettingSys.ManagerName, SettingSys.Abot,
        SettingSys.SystemPassword, SettingSys.CenterPhone, SettingSys.CenterPhone2, SettingSys.address,
        SettingSys.Dawn, phone_fix.ID, phone_fix.cust_name, phone_fix.phone_number, phone_fix.div_type,
        phone_fix.imei, phone_fix.phone_type, phone_fix.problem, phone_fix.parts_price,
        phone_fix.price, phone_fix.paid, phone_fix.status, phone_fix.fix_date, phone_fix.guar_date,
        phone_fix.nnote, phone_fix.EmployeeName, phone_fix.parts_b_price FROM phone_fix,
        SettingSys WHERE phone_fix.ID= 3"
 
       Dim cmd As New OleDbCommand(SQLHistoryConn)
 
       cmd.Parameters.AddWithValue("@p1"ID)
 
       ds.Clear()

 
       Dim DataAdapterInvoices As New OleDbDataAdapter(cmd)
 
       DataAdapterInvoices.Fill(ds"phone_fix")
 
       DataAdapterInvoices.Fill(ds"SettingSys")
 
       Conn.Close()

 
       Dim rep As New Fix_phone_bill
        rep
.SetDataSource(ds)

 
       Dim frm As New FormPrint
        frm
.CrystalReportViewer1.ReportSource rep
        frm
.CrystalReportViewer1.LogOnInfo(0).ConnectionInfo.Password "123"
 
       frm.ShowDialog() 
الرد
تم الشكر بواسطة:
#9
الشكر لل والحمد لله
والحمد لله على كل حال

تعليق بسيط فى الكود لديك عند الجزء
PHP كود :
WHERE phone_fix.ID

هل ستجعل رقم 3 ثابت دائماً ام المقصود به ان يكون بهذا الشكل
PHP كود :
WHERE phone_fix.ID= @p1 

لانى ملاحظ وجود تعريف لمسمى الـ Parameters

تحياتى لك
وتمنياتى لك التوفيق
{ وَقُل رَّبِّ زِدْنِي عِلْمًا }
[ كن على يقين من اعمالنا نخطئ ومن اخطائنا نتعلم ولذلك لا شي مستحيل ]

ساهم دائماً فى    لكل من يقوم بالمساهمة
فى حل المشكلة او الاستفسار لديك فالجميع هنا يعمل 
على مساعدة الاخرين لوجه الله وان تحتسب له اجر عند الله


 شرح كيفية عمل قاعدة بيانات تعمل على اكثر من جهاز على الشبكة الداخلية
الرد
تم الشكر بواسطة:
#10
لا طبعا سياخذ ال parameter لكن قمت بالتجربه فقط ولم اعدل الكود وقتها
شكرا جزيلا صديقي
الرد
تم الشكر بواسطة: elgokr


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  منع تشغيل البرنامج اكثر من مره مع توجيه امر الى النسخة الشغاله معاذ_ابراهيم 4 114 18-05-19, 11:53 PM
آخر رد: elgokr
  هل هناك نسخة مكركة من Active report لفيجوال ستوديو ٢٠١٠ haider kh 14 291 03-05-19, 02:53 PM
آخر رد: ابراهيم ايبو
  كيفية استخراج بيانات من اكثر من جدول وطباعتها المتألق9 3 131 25-04-19, 04:21 PM
آخر رد: elgokr
  [VB.NET] تصدير جدول html إلى ملف أكسل صالح حمادي 5 122 25-04-19, 09:18 AM
آخر رد: elgokr
  مقارنة بين قيمتي textbox وحفظ الخطأ في جدول قاعدة بيانات ahmedfa71 0 71 24-04-19, 12:19 PM
آخر رد: ahmedfa71
  خطأ في عملية حفظ محتوى datagridview إلى جدول من قاعدة البيانات ahmedfa71 7 128 23-04-19, 02:17 AM
آخر رد: elgokr
  [سؤال] اخواني انا صممت برنامج vb.net وربطة مع جدول بي sql server 2014 mohamedhota 5 117 12-04-19, 11:14 PM
آخر رد: elgokr
  بحاول اعرف متغير بشكل ده dim rep as new crystal report hedra samir 10 273 21-03-19, 10:34 PM
آخر رد: hedra samir
  [VB.NET] اظهار صفوف معينة من الداتا سيت محمد اسماعيل 6 146 20-03-19, 11:54 PM
آخر رد: محمد اسماعيل
  اظهار بيانات الداتاغريد بالتاكست بكس محمد خيري 10 208 20-03-19, 01:40 AM
آخر رد: محمد خيري

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


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