تقييم الموضوع :
  • 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 ك ب / التحميلات : 9)
الرد
تم الشكر بواسطة:
#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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] تحويل اسم من جدول الى جدول اخر komar 1 34 منذ 6 ساعة مضت
آخر رد: عبد العزيز البسكري
  عرض معلومات ف DatagridView Emam emam 6 174 أمس, 04:46 PM
آخر رد: Emam emam
  مشكلة فى وضع كود جلب معلومات قاعدة البينات Mohamed Magdy 6 138 09-12-18, 08:14 AM
آخر رد: asemshahen5
Exclamation [VB.NET] ملصقات البار كود مع crystal report Rabeea Qbaha 7 129 07-12-18, 03:39 AM
آخر رد: Rabeea Qbaha
  كيف يمكنك فتح اكثر من فورم داخل فورم الرئيسي mostafa zaki 11 8,235 06-12-18, 10:08 PM
آخر رد: PeterGhattas082460
  اظهار اسم فى الكومبوبوكس و حفظ رقم vb2010 6 195 02-12-18, 05:15 PM
آخر رد: vb2010
  اضافة بيانات اكثر من جدول في الكرستال المتألق9 1 60 02-12-18, 04:06 PM
آخر رد: Rabeea Qbaha
  [VB.NET] بحاجة لمساعدة فى اتمام كود عملية حسابية وايضاً كود استعلام لاكثر من جدول السعيدي 14 414 01-12-18, 11:31 PM
آخر رد: السعيدي
  خطأ في كود اظهار الصورة من مجلد بداخل البرنامج aftfm 6 127 01-12-18, 09:15 PM
آخر رد: aftfm
  انقاص الكمية من جدول الاصناف العيدروس 7 166 01-12-18, 02:06 PM
آخر رد: حريف برمجة

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


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