![]() |
|
في حالة ربط جدول بأخر - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : في حالة ربط جدول بأخر (/showthread.php?tid=1724) الصفحات:
1
2
|
في حالة ربط جدول بأخر - medreg - 26-02-2010 اولاً السلام عليكم ورحمة الله تعالى وبركاته اتقدم بأحر التهانيء بمناسبة الإحتفال بمولد سيد البشر سيدنا ونبينا وحبيبنا وقرة أعيننا محمد إبن عبدالله رسول الله صلى الله عليه وعلى آله وصحبه والرضى على من تبع ملتهم أجمع اللهم صلي وسلم عليه وسلم اللهم اجعلنا من الحار يصين التشبث بسنة هذا النبيء واجعلنا يا الله من السامعين القول واتباع احسنه أما بعد ندخل في الموضوع الدنيوي لقد ربطت جدول بجدول أخر (قاعدة البيانات بارادوكس واحيانا استعمل ابسوليت) الجدول الأول وهو Table2 هذا الجدول يحتوي على خمس حقول RB_CD من نوع String RB_BS من نوع Float SP1 من نوع Float SP2 من نوع Float SP3 من نوع Float SP4 من نوع Float SP5 من نوع Float والجدول الثاني هو Table1 هذا الجدول يحتوي على PS_CD من نوع SMALLINT PS_LB من نوع sTRING RB_CD من نوع string PS من نوع sTRING RB_BS من نوع flOAT MT_PS من نوع fLOAT المشكل أو المطلوب هو ااني بمجرد ما اعطي القيمة للحقل RB_CD الموجود بالجدول Table1 تظهر قيمة RB_SB الموجودة في الجدول Table1 من الجدول Table2 يعني اذا كانت القيمة المعطات في الحقل Table1RB_CD.value تساوي 1/04 يبحث في الجدولTable2 على هذه القيمة ويعطيني قيمة الحقل RB_SB التابعة لها ويضعها في الحقل Table1RB_SB.value ونفس الشيئ بالنسبة للحقل SP الموجود في Table1 إذا كانت قيمة الحقلtable1SP.value تساوي 1 يقوم بإظهار قيمة الحقل SP1 من Table2SP1.value إذا كانت قيمة الحقلtable1SP.value تساوي 2 يقوم بإظهار قيمة الحقل SP2 من Table2SP1.value وهكذا من دون ان استعمل الكود في زر على ان يكون هذا الكود بعد الضغط على مفتاح Enter بالديبيقريد وللتوضيح اكثر المثال بالمرفق في حالة ربط جدول بأخر - medreg - 27-02-2010 السلام عليكم يا شباب 8مشاهدات للمرفق والموضوع من مجموع 12 زيارة للموضوع ولا أحد يجيب على السؤال او الطلب إن كان السؤال غير مفهوم فاخبروني ماه الغير مفهوه في السؤال واجيب عليه حتى تتضحة المسالة ونسهل عملية الرد على الموضوع ومن اراد ان يناقشني في الموضوع من خلال السكيب فهذا عنواني على السكيب medreg2009 في حالة ربط جدول بأخر - chehrour - 27-02-2010 ما هو المشكل هل تريد ربط جدول مع جدول في حالة ربط جدول بأخر - medreg - 27-02-2010 chehrour كتب :ما هو المشكل هل تريد ربط جدول مع جدول مشكور على الرد يا اخي المشكل ليس في ربط الجدول بجدول آخر المشكل يكمن في عندما اضع القيمة 1/04 في الحقل RB_CD في Table1 و أضغط على زر Enter في DBGrid2 التابع ل Table1 يأتي بقيمة الحقل RB_BS من Table2 الى الحقل RB_BS الموجودة في ال Table1 عندما اضع القيمة 2/04 في الحقل RB_CD في Table1 و أضغط على زر Enter في DBGrid2 التابع ل Table1 يأتي بقيمة الحقل RB_BS من Table2 الى الحقل RB_BS الموجودة في ال Table1 وعندما اضع القيمة 1 في الحقل SP في table1 وأضغط على الزر Enter في DBGrid2 التابع ل Table1 يأتي بقيمة الحقل SP1 من Table2 الى الحقل MT_SP الموجودة في ال Table1 وعندما اضع القيمة 2 في الحقل SP في table1 وأضغط على الزر Enter في DBGrid2 التابع ل Table1 يأتي بقيمة الحقل SP2 من Table2 الى الحقل MT_SP الموجودة في ال Table1 إن شاء الله اكون قد وفقت في التوضيح في حالة ربط جدول بأخر - medreg - 27-02-2010 للتوضيح أكثر لقد عملت سابقًا قبل ان ارفق الملف هذا الكود كود : procedure TForm1.DBGrid2Enter(Sender: TObject);
begin
table1.Edit;
table1RB_SB.Value:=Table2RB_SB.Value;
if table1SP.Value=1 then Table1MT_SP.Value:=table2SP1.value;
if table1SP.Value=2 then Table1MT_SP.Value:=table2SP2.value;
if table1SP.Value=3 then Table1MT_SP.Value:=table2SP3.value;
if table1SP.Value=4 then Table1MT_SP.Value:=table2SP4.value;
if table1SP.Value=5 then Table1MT_SP.Value:=table2SP5.value;
table1.Post;
end;
end.لكن ما ابحث عنه هو كود يوفر علي تكرار العملية يعني من دون ان اكتب كل القيم كما ورد في الكود مثلا ابحث عن كود الي هو يبحث على ما يساوي القيمة المراد استدعائها في حالة ربط جدول بأخر - medreg - 27-02-2010 medreg كتب :للتوضيح أكثر تم التعديل على المرفق ولكن ما ابحث عنه هو كود يوفر علي تكرار العملية يعني من دون ان اكتب كل القيم كما ورد في الكود مثلا ابحث عن كود الي هو يبحث على ما يساوي القيمة المراد استدعائها في حالة ربط جدول بأخر - Rover - 27-02-2010 تفضل أخي .. ولكن انصحك بتغيير التعاريف الى اسماء واضحة و تنظيم ترتيبب الحقول في الجداول و ال DBGrid المشروع المعدل مرفق .. PHP كود : procedure TForm1.DBGrid2KeyPress(Sender: TObject; var Key: Char);بالتوفيق ان شاء الله .. في حالة ربط جدول بأخر - medreg - 27-02-2010 rover كتب :تفضل أخي .. مشكور هذا هو الغرض المطلوب في حالة ربط جدول بأخر - chehrour - 27-02-2010 حولت البرنامج وفمت بما يلي :
احذف كل كود BitBtn1Click ماعدا table1.Post; تصبح كمايلي:
كود : procedure TForm1.BitBtn1Click(Sender: TObject);
begin
table1.Post;
end;كود : procedure TForm1.Table1BeforePost(DataSet: TDataSet);
VAR a:string[3];
begin
table2.Locate('RB_CD',table1RB_CD.Value,[loCaseInsensitive]);
table1RB_SB.Value:=table2RB_SB.Value;
a:='SP'+FloatToStr(table1SP.Value);
table1MT_SP.Value:=table2.FieldValues[a];
end;في حالة ربط جدول بأخر - chehrour - 27-02-2010 حولت في البرنامج وقمت بما يلي : احذف كل كود BitBtn1Click ماعدا table1.Post; ]تصبح كمايلي: PHP كود : procedure TForm1.BitBtn1Click(Sender: TObject);واضقت Table1BeforePost تصبح كمايلي PHP كود : procedure TForm1.Table1BeforePost(DataSet: TDataSet); |