تقييم الموضوع :
  • 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 م ب / التحميلات : 76)



بكم نرتقي ونسأل الله لنا ولكم التوفيق ،،
الرد
تم الشكر بواسطة:
#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
يا جعل والديكم للجنه ولاهنتم جميعاً بطبق الطريقه



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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ممكن كود تقسيم النص على جدولين على سبيل المثال محمد شريف sherf 0 40 15-11-19, 04:28 AM
آخر رد: sherf
  [سؤال] ممكن تعديل على كود جلب نص من ملف خارجي al9atl 5 84 14-11-19, 08:11 PM
آخر رد: asemshahen5
  [نقاش] التعديل علي قاعده بيانات sql عن بعد abo3li8555 1 34 14-11-19, 06:32 PM
آخر رد: asemshahen5
  محتاج تعديل على قاعدة البيانات أكسس sofiane-phy 0 39 12-11-19, 10:21 AM
آخر رد: sofiane-phy
  طلب فى تصدير بيانات 2 داتا جريد فيو الى الاكسل خالد كامل1 1 70 11-11-19, 12:04 AM
آخر رد: ابراهيم ايبو
  ماهي طريقة تغيير لون خلية معينة في الكريستال ريبورت حسب قيمة معينة جيولوجي مبتدئ 3 127 10-11-19, 02:59 PM
آخر رد: baha
  مساعدة في تعديل كود sofiane-phy 10 149 08-11-19, 11:54 PM
آخر رد: ابراهيم ايبو
  حجم قاعدة بيانات اكسس makky 4 145 07-11-19, 01:58 PM
آخر رد: sendbad100
  [سؤال] سؤال يخص تصدير بيانات قادمة من أكسل الى CrystalReport مباشرة paradoxinoo 3 99 07-11-19, 06:59 AM
آخر رد: princelovelorn
  [سؤال] كيف يمكن تعديل خاصية TEXTBOX لتكون تقبل الزمن m.n.hakami 1 103 05-11-19, 04:13 PM
آخر رد: CrazyMe

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


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