الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال مستعجل في list box

بدأه nohaa في 26 ديسمبر 2011 · 5 رد · 944 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته انا زي ماحكيتلكم اسوي بمشروع تخرجي وضعت بمشكلة هلا

عندي جدولين وهما جدول الشهيد مع جدول دليل الجبهات والعلاقة بينهم m to n

لان الشهيد قاتل في اكتر من جبهة اي ظهرت عندي كينونة جديدة باسم الجبهات التي قاتل فيه الشهيد

وعند تصميم شاشة الشهيد في عندي مشكلة اني لما اسوي خانة اسم الجبهة اريد اختيار اكتر من خيار لانه قاتل في اكتر من جبهة

فلهدا قلت استخدم DBLookupComboBox1 وعند اختيارها اريد ان تدهب لل DBLookupListBox1 وبعدها يقوم بتخزنهم في جدول دليل الجبهات

في خانة اسم الجبهة اي القائمة اللي في DBLookupListBox1 يخزنها في جدول الجبهات اللي موجوده في sql server 2005

#2

السلام عليكم...

أنت في الحقيقة تتعاملين مع علاقة "مجموعة إلى مجموعة" (Many-to-Many أو M -> M) لأنه - من ناحية أخرى - كل جبهة تكون قد حارب فيها عدة شهداء.

في هذه الحالة نحتاج إلى جدول وسيط (Intermediate Table) يتكون على الأقل من حقلين هما "رقم تعريف الشهيد" (مثلاً MartyrID) و "رقم تعريف الجبهة" (مثلاً FrontID). كما في الصورة المبينة أدناه:

post-28631-073491000 1324928993_thumb.jp

إذا كان الأمر كذلك فأنت بحاجة ربما إلى ListBox عادي (أو ربما StringGrid) لتضعي فيه أسماء و أرقام تعريف الجبهات، لتضاف عند حفظ بيانات الشهيد إلى الجدول الوسيط.

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

نرجو الاستفادة و السلام.

المرفقات
Relations.jpg
1

وَ قُلِ اعْمَلُوا فَسَيَرَى اللهُ عَمَلَكُمْ وَ رَسُولُهُ وَ الْمُؤْمِنُونَ

صدق الله العظيم

#3
najy_zl كتب:

السلام عليكم...

أنت في الحقيقة تتعاملين مع علاقة "مجموعة إلى مجموعة" (Many-to-Many أو M -> M) لأنه - من ناحية أخرى - كل جبهة تكون قد حارب فيها عدة شهداء.

في هذه الحالة نحتاج إلى جدول وسيط (Intermediate Table) يتكون على الأقل من حقلين هما "رقم تعريف الشهيد" (مثلاً MartyrID) و "رقم تعريف الجبهة" (مثلاً FrontID). كما في الصورة المبينة أدناه:

post-28631-073491000 1324928993_thumb.jp

إذا كان الأمر كذلك فأنت بحاجة ربما إلى ListBox عادي (أو ربما StringGrid) لتضعي فيه أسماء و أرقام تعريف الجبهات، لتضاف عند حفظ بيانات الشهيد إلى الجدول الوسيط.

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

نرجو الاستفادة و السلام.

يااخي جدول الشهيد فيه معلومات عالشهيد فقط ولا يوجد فيها قائمة بالجبهات التي قاتل فيها بل موجوده في جدول الجبهات اي كاالتالي

جدول دليل الجبهات فيه رقم الجبهة واسم الجبهة( واسم الجبهة هو دليل بالجبهات موجود فيه اسماء جميع الجبهات سرت وبن وليد ووووووو الخ

اما جدول الشهيد موجود فيه رقم الشهيد واسمه ومعلومات عليه

والعلاقة بينهم m to n

فلهدا خرجت لنا كينونة جديدة باسم الجبهات التي قاتل فيها الشهيد وموجود بها رقم الشهيد ورقم الجبهة وتاريخ الالتحاق بالجبهة

وكل هده الجداول موجوده في sql server 2005 اي لا استطيع استخدام ال list box لانها لا تربط بداتا بيز sql server

والمطلوب الان مني هو تصميم شاشة الشهيد واضافة حقل باسم اسم الجبهة وبجانبها list box وعند ضغط على هده على هده list

تظهر لي قائمة باسماء الجبهات واختار منها الجبهات اللي قاتل فيها الشهيد..

شكرا لك على مجهودك يا اخي وياريت اللي فهم قصدي وعرف الاجابة يجاوبني باسرع وقت

على العموم انت شرحك بالصورة كان صحيح ودقيق للغاية بس كيف استخدم stringgrild اي كيف اربطها بال sql server 2005

#4

مافي احد يساعدني

#5

ارجوكم ساعدوني

#6
nohaa كتب:

يااخي جدول الشهيد فيه معلومات عالشهيد فقط ولا يوجد فيها قائمة بالجبهات التي قاتل فيها بل موجوده في جدول الجبهات اي كاالتالي

جدول دليل الجبهات فيه رقم الجبهة واسم الجبهة( واسم الجبهة هو دليل بالجبهات موجود فيه اسماء جميع الجبهات سرت وبن وليد ووووووو الخ

اما جدول الشهيد موجود فيه رقم الشهيد واسمه ومعلومات عليه

والعلاقة بينهم m to n

فلهدا خرجت لنا كينونة جديدة باسم الجبهات التي قاتل فيها الشهيد وموجود بها رقم الشهيد ورقم الجبهة وتاريخ الالتحاق بالجبهة

وكل هده الجداول موجوده في sql server 2005 اي لا استطيع استخدام ال list box لانها لا تربط بداتا بيز sql server

والمطلوب الان مني هو تصميم شاشة الشهيد واضافة حقل باسم اسم الجبهة وبجانبها list box وعند ضغط على هده على هده list

تظهر لي قائمة باسماء الجبهات واختار منها الجبهات اللي قاتل فيها الشهيد..

شكرا لك على مجهودك يا اخي وياريت اللي فهم قصدي وعرف الاجابة يجاوبني باسرع وقت

على العموم انت شرحك بالصورة كان صحيح ودقيق للغاية بس كيف استخدم stringgrild اي كيف اربطها بال sql server 2005

ان كلام najy_zl صحيح 100%

و الجدول الثالث هو

اقتباس
فلهدا خرجت لنا كينونة جديدة باسم الجبهات التي قاتل فيها الشهيد وموجود بها رقم الشهيد ورقم الجبهة وتاريخ الالتحاق بالجبهة

مواضيع مشابهة