تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
مشكلة في العلاقات بين الجداول...أرجو المساعدة
#1
السلام عليكم و رحمة الله و بركاته..
أتمنى من الأخوة الكرام ، تقديم المساعدة في المشكلة التي واجهتني في البرنامج الذي أعمل عليه ، حيث و قد تعلق العمل عليه بسبب هذه المشكلة ، و التي حاولت أن أجد لها حلاً، لكني لم أجد حتى هذه اللحظة..المشكلة تكمن في العلاقة بين الجداول و هي كالآتي:
لدي جدولان هما (CostumerData) و (CounterData) تم إحضارهما إلى (DataSet) ، الجدول الـ Main (الأب) هو (CostumerData) و الجدول (CounterData) هو الـ Details (الأبن) و قد أنشئت بينهما علاقة حسب الشيفرة التالي:

كود :
[align=left]With ggRdNtDataSet
            .Relations.Add("R1", .Tables("CostumerData").Columns(0), _
                                 .Tables("CounterData").Columns(0), True)
End With[/align]
و قد تم وضع كلا جدول على حده في (Panel) خاصة به ، و تم ربط حقولهما بـ (TextBoxes) لكل حقل على الـ (Panel)، بحيث يمكنني تعبئة حقول الجدول الأب أولاً ، و قد قمت باستخلاص كائن (CurrencyManager) لإدارة هذا الجدول كما في الشيفرة التالية:-
كود :
[align=left]BindControl("Text", "CostumerData.CstmrNo", txtCstmrNo)
        BindControl("Text", "CostumerData.CstmrNm", txtCstmrNm)
        BindControl("Text", "CostumerData.CstmrHPhon", txtCstmrHphon)
        BindControl("Text", "CostumerData.CstmrMblPhon1", txtCstmrMblPhon1)
        BindControl("Text", "CostumerData.CstmrMblPhon2", txtCstmrMblPhon2)
        BindControl("Checked", "CostumerData.IsInBlckLst", chkBlackList)

        gcmCostumerData = pnlNewCstmr.BindingContext(ggRdNtDataSet, "CostumerData") : gcmCostumerData.Refresh()[/align]
حيث أن (BindControl) هو اجراء لتنفيذ عدة مهام ، و قد كررت نفس العملية مع الجدول الأبن ، مع إضافة اثنين (TextBoxes) ـ على الـ (Panel) الخاص بالجدول الأبن ـ تم ربطهما بحقلي الرقم و الاسم في الجدول الأب..بحيث أنه عندما يتم التنقل بين السجلات في الجدول الأب ، يتم فرز السجلات الأبناء الخاصة بسجل جدول الأب فقط مع امكانية الإضافة و التعديل و الحذف للسجلات الأبناء ، لكن هذا لم يحدث ، حيث أن كلاهما يتنقل بين السجلات الخاصة به باستقلالية تامة عن الآخر، فعند الذهاب إلى السجل التالي في الجدول الأب..لا تتأثر السجلات في الجدول الأبن ، مع العلم أني استخدم فقط (TextBoxes) و لم استخدم (DataGridView) لعرض السجلات في الجدول الأبن ، أيضاَ كلا الجدولين الأب و الأبن لهما كائنين (CurrencyManager) خاص بهما و ربط حقول الجدولين بالـ(TextBoxes) صحيح 100%... فهل يمكن إيجاد علاقة بين كائني (CurrencyManager) الخاص بالجدولين من أجل تحقيق التأثير بين الجدولين؟ أو ايجاد الطرقة المثلى لحل هذه المشكلة .. جزاكم الله ألف خير
الرد }}}}
تم الشكر بواسطة:
#2
السلام عليكم و رحمة الله و بركاته..إخوتي الكرام
كنت قد وضعت مشكلتي مع العلاقة بين الجداول كما هو موضح أعلاه ، و بحمد الله ، فبعد أن بحثت في مواقع الانترنت المتخصصة بلغة VB.NET استطعت أن أجد حلاً جذرياً و ناجعاً لها..و أردت أن أضع هذا الحل بين أيديكم للاستفادة..
كانت المشكلة تكمن في الكائن (BindingContext) التابع للحاويات (بالنسبة لبرنامجي كانت الحاوية من النوع "Panel") ، فقمت باستبدال ذلك بكائن من النوع (BindingSource) و عدلت في الشيفرة البرمجية على النحو التالي:

كود :
[align=left]'This block of code belongs CostumerData table.
        gbsCostumerData = New BindingSource
        gbsCostumerData.DataSource = ggRdNtDataSet
        gbsCostumerData.DataMember = "CostumerData"[/align]
أما بالنسبة للجدول الابن فتمت تعديل الشفرة كالتالي:
كود :
[align=left]'This block of code belongs CounterData table.
        gbsCounterData = New BindingSource
        gbsCounterData.DataSource = gbsCostumerData
        gbsCounterData.DataMember = "R1"[/align]
و هكذا انتهت المشكلة و أصبح برنامجي يعمل كما هو مطلوب منه تماماً.. اتمنى للجميع الاستفادة..و تقبلوا خالص التحية
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة في تحزيم البرنامج samawi 2 79 23-04-17, 03:06 AM
آخر رد: samawi
  المساعدة في عمل استعلام قاعدة بيانات sqlserver djelloul 0 68 17-04-17, 07:13 PM
آخر رد: djelloul
  طلب المساعدة عاجلة لو سمحتم djelloul 8 199 05-04-17, 12:48 AM
آخر رد: Abu Ehab
  [VB.NET] مشكلة في كود التعديل والحذف boofa2015 0 166 18-02-17, 01:58 PM
آخر رد: boofa2015
  [سؤال] عندي مشكلة في احتساب الرواتب - مشروع HR dabas 0 153 17-01-17, 10:57 AM
آخر رد: dabas
  مشكلة مع حقل من نوع Money djelloul 2 171 16-01-17, 03:29 AM
آخر رد: مساعدة
  مشكلة في تصميم قاعدة البيانات djelloul 2 287 06-12-16, 12:36 PM
آخر رد: djelloul
  [سؤال] المساعدة في نقل سجلات من جدول الى جدول اخر مهندس حيدر 7 556 13-11-16, 02:16 PM
آخر رد: محمود بكرى
  [C#.NET] مشكلة في استعلام مابين تاريخين abdallah_alashwal 1 285 09-11-16, 12:04 PM
آخر رد: ممدوح
Sad [Acces2007] عاجل ارجو المساعدة لدي مشكلة مع برمجة زر البحث في الاكسس saimon 4 343 24-10-16, 07:54 PM
آخر رد: saimon

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


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