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=11365)



مشكلة تواجهني في هذا الكود - medreg - 22-05-2021

السلام عليكم ورحمة الله تعالى وبركاته
اخواني اساتذتي الكرام
عندما يكون حقل معين فارغ في عدة السجلات استعملت هذا الكود لحدفهم جميعا
لكن الحدف يتم بالضغط عدة مرات على الزر الموجود به الكود حتى يتم حدفهم جميعا
اي كل ضغطة يحزف سجل او سجلين
والمطلوب حدفهم دفعة واحدة
كيف يكون ذالك
الكود المستعمل حاليا هو :
كود :
    DM.Table1.Open;     DM.Table1.DisableControls;     DM.Table1.First;     while not  DM.Table1.Eof do     begin       If DM.Table1Mnt.Value<=0 then DM.Table1.delete;       DM.Table1.Next;     end;     DM.Table1.EnableControls;



RE: مشكلة تواجهني في هذا الكود - takaya5 - 22-05-2021

في عملية الشرط، أنت لم تبين اسم الحقل .... أكتب إسم الحقل المعني


RE: مشكلة تواجهني في هذا الكود - larbiparadox - 22-05-2021

(22-05-2021, 07:37 PM)takaya5 كتب : في عملية الشرط، أنت لم تبين اسم الحقل .... أكتب إسم الحقل المعني

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

في الحقيقة هو وضع الشرط
كود :
DM.Table1Mnt.Value<=0

الطريقة التي تعمل بها كلاسيكية اعمل بـ sql في لمحة تحذف كل شيء بالسرعة

ما عليك سوى إضافة Table Query إلى نافذة DataModule التي تسميها DM و ربطها مع قاعدة البيانات

* هنا سأضع مثال اسم الجدول في قاعدة هو pay  والحقل هو Mnt
* اما المكون  Table_Query الموجود في DM

كود :
with DM.Table_Query do begin sql.clear; sql.add('DELETE FROM pay '); sql.add('where Mnt <= 0'); ExecSQL; end; DM.Table1.Refresh;



RE: مشكلة تواجهني في هذا الكود - محمد عبد العزيز - 22-05-2021

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

عدل كما يلي

كود :
If (DM.Table1Mnt.Value<=0) then DM.Table1.delete else DM.Table1.Next;



RE: مشكلة تواجهني في هذا الكود - ALG2009 - 22-05-2021

وعليكم السلام

جرب هذا   
كود :
DM.Table1.First; repeat       If DM.Table1Mnt.Value<=0 then DM.Table1.delete;       DM.Table1.Next; until DM.Table1.EOF



RE: مشكلة تواجهني في هذا الكود - dialia - 29-09-2021

السلام عليكم
احسن طريقة هي استعمال الفترة
وشكرا.