master détails DataBase in delphi مثال الولاية الدائرة البلدية
درس مهم جدا من دروس البرمجة خاص بربط جداول قاعدة بيانات للحصول على نتائج مترابطة
في هذا الدرس سنأخذ مثال الدولة و الولاية و البلدية
وهذا يعني في قاعدة المعطيات جداول أب لإبن
فلكل دولة عدد من الولايات
و لكل ولاية عدد معين من البلديات
و في هذا المثال عند إختيار الدولة ستعطينا جميع الولايات و عند إختيار الولاية ستعطينا جميع بلدياتها
في هذا لمثال إعتمدنا على قاعدة البيانات أكسس Access
اولا سنرى مخطط مبدئى لقاعدة البيانات عبارة عن MCD مصغر
وعلى الأكسس بعد إنشاء الجداول نستعمل مخطط الربط العلائقي
بعدها نذهب الى الدلفي نأخد مشروع جديد ثم نأخد Data module
نضع فيه مكونات الربط مع قاعدة البيانات وهنا نستعمل مكونات Ado او DBGo
و في الفورم الرئيسي و الوحيد في هذا المشروع نضع المكونات التالية
Dbgrid x 3
Dblookupcombobox x 3
ثم نربط كل Dbgrid مع Datasource الخاصة بكل جدول لنظهر عليها النتائج و ننسق الفورم بإضافة مجموعة من المكونات
مثل Panels
الأن نأتي الى المكون الأول Dblookupcombobox
ونعتمد على الخصائص التالية لنعمل الربط
معرف جدول الدولة keyField = ID_Pays
قد يعجبك ايضا
إسم الدولة ListField = Nom_Pays
الداتا سورس المربوط مع جدول الدول ListSource = srcPays
ونعمل نفس الشئ مع المكونين الثاني و الثالث الخاص بالولاية و البلدية و التعديل على نفس الخصائص
الأن كيف يتم ربط الجداول بالمكونات عن طريق الدلفي
نعود الى مكونات Table وكل مكون مربوط مع جدول من قاعدة البيانات
و في الخصائص نجد
MasterFields = ID_Wilaya
MasterSource = srcWilaya
نحن نعلم أن الربط بين الجداول يتم عن طريق تكرر المفتاح بين الجدولين و بالتالي الربط يتم كالتالي
بين جدول البلدية و جدول الولاية هناك مفتاح مكرر بين الجدولين وهو ID_Wilaya
يكون رئيسي في جدول الولاية و ثانوي في جدول البلدية نختار الإثنين و نعمل الربط
الشرح الكامل يأتيكم ضمن هذا الفيديو
كما يمكنكم تحميل ملفات المشروع من هذا الرابط