تغير محتوى ComboBox تبعاً لتغير محتوى ComboBox أخرى
#1
السلام عليكم
بعد البحث في المنتدى لم أجد المطلوب

المطلوب: عندي قاعدة بيانات بها جدولين بعلاقة تشاركية أب - ابن

وفي الفورم وضعت 2 ComboBox وقمت بملء الأولى بمحتوى الأب

فالمطلوب عند اختيار أحد عناصر ComboBox الأولى يتغير محتوى عناصر ComboBox الثانية تبعا للأولى

الجدول 1 (رقم الأب، اسم الأب)
الجدول 2 (الرقم م، الاسم م، رقم الأب)
الرد
#2
وعليكم السلام

الامر بسيط
الابن ثم الاب
PHP كود :
ComboBox2.ItemIndex:=ComboBox1.ItemIndex; 

والعكس نفس الشيء
الاب ثم الابن
PHP كود :
ComboBox1.ItemIndex:=ComboBox2.ItemIndex; 
حتى وان كنت على الطريق الصحيح ان لم تتقدم سوف يدهسك من خلفك
الرد
#3
السلام عليكم
صح عيدكم وكل عام وانتم بخير
يبدو أنه لم يتم فهم السؤال
على العموم وجدت طريقة بعد المحاولات العديدة أفيدكم بها وهي كالتالي:
1- أقوم بملء ComboBox1 أو DBComboBox حسب ما نريد بمحتوى الأب كالتالي:
PHP كود :
While not ADOTable1.Eof do
begin
DBComboBox1
.Items.Add(ADOTable1.FieldByName('NomPrograme').AsString);
ADOTable1.Next;
end; 
هذ في الحدث عند فتح النموذج

2- نقوم بالاستعلام من الجدول الثاني حسب رقم الفصل:
بعد إدراج ADOQurey حيث أولا نكتب في SQL الخاصة بالـ ADOQurey التعليمات التالية:
PHP كود :
select NART
from ARTICLE
where NCHPT
=:x 

في الحدث عند التغيير للـ DBComboBox الأولى نكتب التالي
PHP كود :
//
ADOQuery1.Active:=true;
ADOQuery1.close;
ADOQuery1.Parameters.ParamByName('x').Value:=strtoint(ComboBox3.Text);
ADOQuery1.open;
// 
ComboBox4.Clear;
While 
not ADOQuery1.Eof do
begin
ComboBox4
.Items.Add(ADOQuery1.FieldByName('NART').Value);
ADOQuery1.Next;
end; 
الرد
#4
الأخ alouma
بامكانك استعمال المكون DBLookupComboBox
فهو يقوم بتنفيذ ما تريده دون الحاجة لفلترة البيانات كلما تم تحديد سجل أب جديد فيكفي تحديد الخصائص
المطلوبة
الرد
#5
mk1968 كتب :الأخ alouma
بامكانك استعمال المكون dblookupcombobox
فهو يقوم بتنفيذ ما تريده دون الحاجة لفلترة البيانات كلما تم تحديد سجل أب جديد فيكفي تحديد الخصائص
المطلوبة

بارك الله فيك
صحيح لقد تحقق معي ذلك أيضا
شكرا
الرد


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


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