تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] تعديل كود في عرض بيانات من جدولين على ريبورت فيور
#1
السلام عليكم 


احتاج تعديل الكود في ريبورت فيور 

حيث الكود يعمل على جلب بيانات من سجل واحد وجدول واحد وانا احتاجه من جدولين 

عندي بيانات عميل وبيانات سيارات وبيانات مستأجر 

احتاج اني اعمل تقرير مستأجر بحيث انه يظهر لي بيانات العميل والسياره المستأجره وبيانات المستأجر فقط 

وتقرير آخر يظهر شامل جميع سيارات العميل 




كود :
 Dim res =
From x In Me.EmployeesDataSet.information
Where x.ID_M = TryCast(InformationBindingSource.Current, DataRowView).Item("id_m")

       If IsDBNull(res(0).Item("name_a")) Then res(0).Item("name_a") = String.Empty

       Form9.ReportViewer1.LocalReport.DataSources(0).Value = res.CopyToDataTable
       Form9.ReportViewer1.RefreshReport()
       Form9.Show()


الملفات المرفقة صورة/صور
       

.rar   test_report1.rar (الحجم : 2.71 م ب / التحميلات : 81)



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#2
اضافة لما سبق
التقرير الأول :
احتاج منه :

الجدول الأول يستخرج منه بيانات المستأجر الحالي لهذا السيارة
الجدول الثاني يسخرج منه بيانات مالك السياره او المستثمر
الجدول الثالث يستخرج منه بيانات هذه السيارة نوعها وموديلها

التقرير الثاني
احتاج منه :

الجدول الأول اسم العميل او المستثمر
الجدول الثاني السيارات وموديلاتها للمستثمر

كما في الصورة المرفقة


وفقكم الله . ما نزلتها الا بعد ما بحث وما عرفت الطريقة .



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#3
يجب تعديل الرابط الموجود الداتاسيت mllsDataSet.xsd
انقر مرتين على خط الرابط الموجود بين الجدولين TB1 وtb2
في نافذة الرابط التي ستظهر بدل بين الطرفين بحيث
يكون TB1 في اليسار عند Parent Table مع إعادة تحديد العمود الخاص به وهو ID
ويكون tb2 في اليمين عند Child Table مع إعادة تحديد العمود الخاص به وهو cars_id_pk

ثم افتح Form1 وحدد الداتاجريد وانقر على السهم الصغير الذي سيظهر في طرفه
وافتح Choose Data Srouce وستلاحظ أن TB1BindingSource بجانبه سهم افتحه وسيظهر tb2_TB1 قم باختياره
وسيتم تلقائيا إنشاء Tb2TB1BindingSource وهو الهدف من هذه الخطوة

في الكود الموجود في زر print أضف السطر التالي تحت سطر Form2.ReportViewer1.LocalReport.DataSources(0).Value
PHP كود :
Form2.ReportViewer1.LocalReport.DataSources(1).Value Tb2TB1BindingSource 
الرد
تم الشكر بواسطة: hglogtd
#4
الله يكرمك بكرمه ويحفظك وشاكر لك سعة صدرك


بجرب بأذن الله وبعطيك النتيجه



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#5
صحيح هذا هو بالضبط يبقى الشرط

البيانات الاساسية تكون ثابته والبيانات الفرعيه تكون حسب العميل من الجدول الاول وبيانات نوع السياره من الجدول الثاني


الله يعطيكم العافيه جميعاً ... احاول فيه بأذن الله يضبط



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#6
مشاركتي السابقة كانت على أساس المرفق الأول قبل أن تقوم بتغييره والذي لم يكن فيه سوى جدولين وفورمين
وبالنسبة للمرفق الجديد وجدت أنك قمت بإصلاح الرابط بين الجدولين TB1 وtb2

عموما أصبح الحل في تلك المشاركة ليس له فائدة، وسأقوم بحذفها بعد قليل

سأحاول إيجاد الحل بناء على المرفق الجديد إن تيسر لي ذلك
الرد
تم الشكر بواسطة:
#7
الله يعطيك العافيه ولاهنت واشكرك ما احب اثقل عليكم وشفت ما احد رد وحاولت اني احط مرفق .

اذا تكرمت اذا لقيت لي حل بحاول افهمها اهم من كل شي لاني وقفت بطريقي وماهي صعبه على عباقره امثالكم ...



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#8
هل من طريقه يا شباب الله يعطيكم العافيه ... بحاول ما عرفت لها



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#9
السلام عليكم و رحمة الله و بركاته


اولاً قم بتصميم استعلام في القاعدة كما يلي 


ثانياً اتبع الخطوات في الصورة



الان من جهة البرنامج اضف هذا الاجراء لديك

PHP كود :
   Private Sub GetSelect()
 
       Using Con As New Data.OleDb.OleDbConnection With {.ConnectionString My.Settings.mllsConnectionString}
 
           Using Da As New OleDb.OleDbDataAdapter("Select * from Q1"My.Settings.mllsConnectionString)
 
               Da.Fill(Me.MllsDataSet.Q1)
 
           End Using
        End Using
    End Sub 
و هذا لزر الطباعة (طباعة تقرير شامل)
PHP كود :
       GetSelect()
 
       Dim res =
 
               From x In Me.MllsDataSet.Q1
                Where x
.id TryCast(TB1BindingSource.CurrentDataRowView).Item("id")


 
       If IsDBNull(res(0).Item("names")) Then res(0).Item("names") = String.Empty

 
       Form2.ReportViewer1.LocalReport.DataSources(0).Value res.CopyToDataTable
        Form2
.ReportViewer1.RefreshReport()
 
       Form2.Show() 

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


صورة عن التقرير



بالتوفيق للجميع.
اللهم لك الحمد كما ينبغي لجلال وجهك و عظيم سلطانك
في حل و ترحال
الرد
تم الشكر بواسطة:
#10
يا جعل والديكم للجنه ولاهنتم جميعاً بطبق الطريقه



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] تعديل بسيط في الطباعة المباشرة فقط ReportViewer sniperjawadino 22 7,422 منذ 4 ساعة مضت
آخر رد: Samo102
  ارجو تعديل فى جملة SELECT new_programer 3 153 14-10-20, 11:50 PM
آخر رد: new_programer
Thumbs Up [SQL] تطبيق عملى لمشروع قاعدة بيانات بSQL محمود بكير 1 103 13-10-20, 03:39 PM
آخر رد: محمد كريّم
  ربط ReportViewer بقاعدة بيانات access عليها password khaled Mohammed 0 58 13-10-20, 02:07 PM
آخر رد: khaled Mohammed
  [VB.NET] برنامج اقساط على الفجوال بيسك 2010 وقاعده بيانات سيكوال سيرفر 2008 shawky ahmed 1 124 12-10-20, 09:12 AM
آخر رد: mmali127
  طريقة تشغيل الكريستال ريبورت على جهاز العميل ! ZaerAllail 6 238 12-10-20, 04:02 AM
آخر رد: ZaerAllail
  [VB.NET] مساعدة لعمل برنامج حضور وانصراف+وقاعدة بيانات shone1 3 219 10-10-20, 01:14 PM
آخر رد: shone1
  [سؤال] مساعدة في إكمال كود 3 أزرار (حذف-بحث-تعديل) HUNTER25 12 581 08-10-20, 02:20 PM
آخر رد: اسامه الهرماوي
Exclamation [سؤال] مشكلة في تشغيل برنامجي عند العميل بسبب الكريستال ريبورت solyH 3 1,415 07-10-20, 05:53 AM
آخر رد: alipro
  [VB.NET] الكريستال ريبورت لاتظهر عندي في الفيجوال بيسك 2015 tarekalsuhairi 1 116 02-10-20, 04:02 PM
آخر رد: Rabeea Qbaha

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


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