delphi4arab منتديات دلفي للعرب
تغيير تسجيل محدد - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : تغيير تسجيل محدد (/showthread.php?tid=11462)

الصفحات: 1 2


تغيير تسجيل محدد - appakar - 08-08-2021

السلام  عليكم

لدي form1 به جدول  للفئات (رقم الفئة، اسم الفئة)
ال  form 2 به  جدول العمال  (رقم،اللقب والاسم، الفئة)

لنفرض انني قت بملأ معلومات  200 عامل لكن  طرأ  تغيير  في اسم احدى الفئات ل 60 عاملا
المطلوب عند تغيير اسم الفئة في form1 تتغير تلقائيا في form2  مع الإبقاء على أسماء الفئات الأخرى كما هي

جربت هذا الكود لكنه يقوم بتغيير الكل

كود :
procedure TForm5.FormClose(Sender: TObject; var Action: TCloseAction); begin dm.BenefisTable.DisableControls; try   dm.BenefisTable.First;   while not dm.BenefisTable.Eof do   begin     dm.BenefisTable.Edit;     dm.BenefisTable.FieldByName('categ').Value := dbedit2.Text;     dm.BenefisTable.Post;     dm.BenefisTable.Next;   end; finally     dm.BenefisTable.EnableControls; end; end; end.



RE: تغيير تسجيل محدد - delphi17 - 08-08-2021

لزم وضع شرط في منتصف الحلقة قبل السطر هذا
dm.BenefisTable.Edit;
من المفروض هذا الشرط هو الشئ الذي يجمع 60 عامل معا


RE: تغيير تسجيل محدد - appakar - 09-08-2021

كيف يتم ذلك


RE: تغيير تسجيل محدد - seddik_xp - 09-08-2021

إذا كان لمجموع الـ60 عامل نفس الفئة و بإستخدام قواعد التكامل المرجعي في قاعدة البيانات فإنه بمجرد تغيير تسمية الفئة و التي تحمل مفتاح أساسيا يتم وضعه عند إضافة كل عامل لهذه الفئة كمفتاح أجنبي.


RE: تغيير تسجيل محدد - delphi17 - 10-08-2021

(09-08-2021, 12:09 PM)appakar كتب : كيف يتم ذلك

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


RE: تغيير تسجيل محدد - larbiparadox - 10-08-2021

(10-08-2021, 12:45 AM)delphi17 كتب :
(09-08-2021, 12:09 PM)appakar كتب : كيف يتم ذلك

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

هو أعطاك ، أي الفيئة القديمة لـ dm.BenefisTable.FieldByName('categ').Value يغيرها لها برقم الفيئة الجديدة

* الحل قبل التعديل ، نقوم بفلترة القيمة القديمة و بعدها التعديل على الفيئة حسب المثال الذي لديك ، الذي يعدل على الكل اذا قمت بالفلترة قبل التعديل ، سيعدل على السجلات الظاهر فقط
*  أو عن طريق أوامر sql  عن طريق update بواسطة شرط الفيئة القديمة ، هي الاسهل و الاسرع
* الطريقة الاخيرة إضافة شرط الى المثال الذي لديك ي، فحص اذا كانت تساوي قيمة الفيئة القديمة يغير

+ افضل حل و هو الثاني التغيير بكبسة زر  ، اما  الاول و الثالث تكون عملية بطيئة لانه يمررها سطر بسطر


RE: تغيير تسجيل محدد - Mr.DOS - 10-08-2021

سلام عليكم


إقتباس :لدي form1 به جدول  للفئات (رقم الفئة، اسم الفئة)
ال  form 2 به  جدول العمال  (رقم،اللقب والاسم، الفئة)

من المفترض الفورم 2 يكون هكذا :
رقم ، اللقب و الاسم ، رقم الفئة وليس الفئة 

بمعنى : نوع الحقل عددي وهو مفتاح اساسي للجدول الاب1 .

1- عن طريق SQL 
يمكنك التحكم في كل شيئ سواء عمل insert / update ... /delete
او الربط البرمجي join ...

2-من خلال التصميم
وضع علاقة بين الجدولين (اب لابن) 

مثال (اكسس) 

[صورة: cascadeon.gif]


RE: تغيير تسجيل محدد - appakar - 10-08-2021

الإخوة الأفاضل
ممكن الطريقة عن طريق SQL


RE: تغيير تسجيل محدد - Mr.DOS - 10-08-2021

ماهو نوع الحقل (الفئة) في الجدول 2 .


RE: تغيير تسجيل محدد - appakar - 10-08-2021

نوع الحقل (الفئة) في الجدول 2 ""TEXT""