المشاركات : 64
المواضيع 23
:
: 1
الإنتساب : Aug 2019
08-08-2021, 02:52 PM
(آخر تعديل لهذه المشاركة: 08-08-2021, 03:05 PM بواسطة appakar.)
السلام عليكم
لدي 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.
المشاركات : 149
المواضيع 23
:
: 107
الإنتساب : Nov 2015
لزم وضع شرط في منتصف الحلقة قبل السطر هذا
dm.BenefisTable.Edit;
من المفروض هذا الشرط هو الشئ الذي يجمع 60 عامل معا
المشاركات : 64
المواضيع 23
:
: 1
الإنتساب : Aug 2019
المشاركات : 89
المواضيع 4
:
: 1
الإنتساب : Jan 2012
إذا كان لمجموع الـ60 عامل نفس الفئة و بإستخدام قواعد التكامل المرجعي في قاعدة البيانات فإنه بمجرد تغيير تسمية الفئة و التي تحمل مفتاح أساسيا يتم وضعه عند إضافة كل عامل لهذه الفئة كمفتاح أجنبي.
المشاركات : 149
المواضيع 23
:
: 107
الإنتساب : Nov 2015
(09-08-2021, 12:09 PM)appakar كتب : كيف يتم ذلك
عطيني الشي المشترك بين 60 عامل الذي تتحدتم عليهم وسوف أقول لك كيف
المشاركات : 522
المواضيع 46
:
: 394
الإنتساب : Sep 2011
(10-08-2021, 12:45 AM)delphi17 كتب : (09-08-2021, 12:09 PM)appakar كتب : كيف يتم ذلك
عطيني الشي المشترك بين 60 عامل الذي تتحدتم عليهم وسوف أقول لك كيف
هو أعطاك ، أي الفيئة القديمة لـ dm.BenefisTable.FieldByName('categ').Value يغيرها لها برقم الفيئة الجديدة
* الحل قبل التعديل ، نقوم بفلترة القيمة القديمة و بعدها التعديل على الفيئة حسب المثال الذي لديك ، الذي يعدل على الكل اذا قمت بالفلترة قبل التعديل ، سيعدل على السجلات الظاهر فقط
* أو عن طريق أوامر sql عن طريق update بواسطة شرط الفيئة القديمة ، هي الاسهل و الاسرع
* الطريقة الاخيرة إضافة شرط الى المثال الذي لديك ي، فحص اذا كانت تساوي قيمة الفيئة القديمة يغير
+ افضل حل و هو الثاني التغيير بكبسة زر ، اما الاول و الثالث تكون عملية بطيئة لانه يمررها سطر بسطر
اللّهمّ فرّج أُموراً ضَاقت بها صُدورنا وعجزت بها حيلتنا وقلّ بها صَبرنا الّلهمّ أَسعِد قلوبنا بما أنتَ أعْلَمُ بِهِ مِنّا
المشاركات : 476
المواضيع 0
:
: 217
الإنتساب : Apr 2011
سلام عليكم
إقتباس :لدي form1 به جدول للفئات (رقم الفئة، اسم الفئة)
ال form 2 به جدول العمال (رقم،اللقب والاسم، الفئة)
من المفترض الفورم 2 يكون هكذا :
رقم ، اللقب و الاسم ، رقم الفئة وليس
الفئة
بمعنى : نوع الحقل عددي وهو مفتاح اساسي للجدول الاب1 .
1- عن طريق SQL
يمكنك التحكم في كل شيئ سواء عمل insert / update ... /delete
او الربط البرمجي join ...
2-من خلال التصميم
وضع علاقة بين الجدولين (اب لابن)
مثال (اكسس)
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
كل من 1 user says قال شكرا ل Mr.DOS على المشاركة المفيدة1 user says Thank You to Mr.DOS for this post
• Delphi4Us
المشاركات : 64
المواضيع 23
:
: 1
الإنتساب : Aug 2019
الإخوة الأفاضل
ممكن الطريقة عن طريق SQL
المشاركات : 476
المواضيع 0
:
: 217
الإنتساب : Apr 2011
ماهو نوع الحقل (الفئة) في الجدول 2 .
الفاشلون نوعان : الأول : فكر ولم يفعل .. والآخر: فعل ولم يفكر
المشاركات : 64
المواضيع 23
:
: 1
الإنتساب : Aug 2019
نوع الحقل (الفئة) في الجدول 2 ""TEXT""