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

ربط حقل من جدول وحقل من جدول آخر في شجرة

بدأه المستفيد1 في 14 أغسطس 2008 · 8 رد · 1,284 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

كل عام وأنتم بخير أساتذتي الكرام

عندي جدولان جدول بأسماء المدرسين وجدول آخر فيه أسماء الطلاب وقمت بعمل العلاقات بينهم عن طريق حقل وسيط وهو رقم الأستاذ في كلا الجدولين

حاولت أن أجعل اسم كل مدرس في شجرة ويكون مرتبط معه في هذه الشجرة أسماء طلابه

ولكن للأسف وجدت أنه يرتبط مع كل أستاذ تلميذ واحد فقط

فكيف أجعل الشجرة تحمل جميع أسماء التلاميذ تحت اسم الأستاذ الخاص بهم

post-157634-1218699097_thumb.gif

________________.rar

حاولت كثيرا قبل أن اسأل، لكن للأسف لم أصل لشيء

وطلب آخر وهو: كيف أجعل الشجرة تبدأ بالترتيب الأبجدي للأسماء

وجزاكم الله خير

#2

:cry: ياريت ياشباب لا تنسوني :cry:

#3

اخى الكريم استخدم

While   .....  >1   Do
begin
..
end;

فهو يفى بالغرض

Comming Soon

#4

السلام عليكم ورحمة الله وبركاته

جزاك الله خيرا أخي Swift

الذي فهمته من إشارتك اللطيفة أنه أكرر هذه التعليمة مع الجدول رقم 1 وكذلك في الجدول رقم 2

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

فقد أسقط الطلاب من رقم 1 إلى رقم 4

وكذلك قام بترحيل طلاب المدرس رقم 2 إلى المدرس رقم 1

وجعل المدرس الأخير بدون طلاب

post-157634-1218822501_thumb.gif

وهذا هو الكود بعد وضع الزيادة فلعلي أني أخطأت في شيء ما

post-157634-1218822516_thumb.gif

أشعر أني اقتربت من الصواب لكن يبدو أني لم أفهم إشارتك كما ينبغي

أرجو منك التوضيح

وجزاك الله خيرا

#5

أين أنتم يا أخواني، أرجو المساعدة

#6

الحمدلله ياشباب ربنا وفقني وفهمت المقصود من إشارة أخي Swift

طبعا بمساعدة بعض الأخوة الأفاضل، وسأكتب الكود في وقت لاحق لأني سأذهب الآن إلى العمل الساعة السادسة صباحا وأنا الآن متأخر عن موعدي

تحياتي لكم جميعًا

#8

السلام عليكم ورحمة الله وبركاته

كما سبق أن أخبرتكم أنه قد ساعدني بعض الأخوة الأفاضل في حل إشكال الكود، مما جعلني أفهم إشارة أخي Swift

والذي ساعدني فيه موجود في الرابط الذي ذكره أخي محمد عبدالعزيز بارك الله فيه

والكود بعد التعديل هو كالتالي:

  var
	N: TTreeNode;
begin
  Table1.First;
  While not Table1.Eof do
	begin
	N:= TreeView1.Items.AddChild(Nil,Table1.Fields[1].AsString);
	Table2.First;
	While not Table2.Eof do
	  begin
	  TreeView1.Items.AddChild(N,Table2.Fields[1].AsString);
	  Table2.Next;
	  end;
	Table1.Next;
	end;
  TreeView1.FullExpand;
end;

وهناك طريقة أخرى أفادني بها بعض الأصدقاء في هذا الرابط

http://www.alepposoft.net/info/showthread.php?t=14587

وهو على النحو التالي:

في حدث الضغط على الزر هذا الكود:

  var
	N: TTreeNode;
	i ,y : integer;
begin
for i:= 0 to ADOTable1.RecordCount -1 do
begin
N:= TreeView1.Items.AddChild(Nil,ADOTable1.Fields[1].AsString);
ADOTable2.Close;
ADOTable2.Open;
for y := 0 to ADOTable2.RecordCount -1 do
begin
	TreeView1.Items.AddChild(N,ADOTable2.Fields[1].AsString);
	ADOTable2.Next;
end;
ADOTable1.Next;
end;
TreeView1.FullExpand;
end;

أما في حدث إنشاء النافذة نكتب هذا الكود:

procedure TForm1.FormCreate(Sender: TObject);
var  Path: String;
begin
try
ADOConnection1.Connected := False;
Path := ExtractFilePath(Application.ExeName) + '\Teachers&STUDENTS.mdb';
ADOConnection1.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;'+
				   'Jet OLEDB:Database Password=123456;Data Source=' +Path +
				';Mode=Share Deny None;'+
				 'Persist Security Info=False;';
ADOConnection1.Connected := True;
ADOTable1.Open;
ADOTable2.Open;
except

end;
end;

أنا سعيد جدا بالكود الأول لأني فهمته بسهولة، أما الكود الثاني فأشعر أنه في حاجة لبعض الشرح

جزاكم الله جميعًا كل خير وكذا كل من ساعدني في هذه المشكلة.

#9

الاخوه الاعزاء الافاضل

هذا برنامج اقوم بعمله وانا فى المراحل البدائيه

من تعلم لغه الدلفى

وارجو منكم مساعدتى فى تعبئه الشجرة الموجوده بفورم باسم

DALEL

الموجود بالمشروع

علما بانى حاولت ان اعدل على الكود ولم استطيع الوصول

فارجو منك مد يد العون لمساعدتى فى ذلك

علما بان الجدول الموجود بقاعده البيانات المطلوب تعبئه الشجره منه هو جدول واحد فقط وليس جدولين والجدول اسمه

asset_ss

وشكرا لكم جميعا

stor_salama.rar

stor_salama.rar

stor_salama.rar

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