delphi4arab منتديات دلفي للعرب

نسخة كاملة : جمع بيانات قاعدة ABS على أســاس 20 سطــرا في جدول أخر
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله تعالى وبركاته  أردت من خلال هذا البرنامج أن أقوم بعملية جمع في قاعدة بيانات وهي مرفقة ، على أســاس 20 سطر  أو تسجيل من dbGrid  إلى أخر أي جمع المعلومات أو التسجيلات على شكل 20تسجيل في بيانات أخرى  أي من Abstable1 إلى Abstable2  وأكتشفت بعدها أخطاء  ولم أتمكن من إكمال أو تتمة هذا البرنامج الصغير شكرا للجميع وشكرا للمساعدة.
وعليك السلام

في فورم المجاميع غير ;b:=b+1   إلى ;b:=1
شكرا الأخ العربي بارادوكس Larbiparadox لقد فعلت ما أجبتني به لكن لاحل لهذه المعضلة على كل شكرا وألف شكر.
كود :
procedure TForm2.BitBtn2Click(Sender: TObject); var i,ii,iii,iiii:real; b: integer; begin i:=0;ii:=0;iii:=0;b:=1; Form1.aBSTABLE1.Close; Form1.aBSTABLE1.Open; repeat i:=i+Form1.ABSTable1D_pension.AsFloat; ii:=ii+Form1.ABSTable1Pension.AsFloat; iii:=iii+Form1.ABSTable1B_retro.AsFloat; iiii:=i+ii+iii; Form1.ABSTable1.Next; b:=b+1; if b=20 then begin Form1.ABSTable2.Append; Form1.ABSTable2D_pension.AsFloat:=i; Form1.ABSTable2Pension.AsFloat:=ii; Form1.ABSTable2B_retro.AsFloat:=iii; Form1.ABSTable2Total.AsFloat:=iiii; Form1.ABSTable2.Post ; b:=0; end; until Form1.ABSTable1.Eof; if b<>0 then begin Form1.ABSTable2.Append; Form1.ABSTable2D_pension.AsFloat:=i; Form1.ABSTable2Pension.AsFloat:=ii; Form1.ABSTable2B_retro.AsFloat:=iii; Form1.ABSTable2Total.AsFloat:=iiii; Form1.ABSTable2.Post ; end;
أهم شئ كنا ننساه و هو تصفير المجاميع ، إضافة صغيرة لأستاذ عبد العزيز

[صورة: 882286775.png]

كود :
procedure TForm2.BitBtn2Click(Sender: TObject); var i,ii,iii,iiii:real; b: integer; begin i:=0;ii:=0;iii:=0;b:=0; Form1.aBSTABLE1.Close; Form1.aBSTABLE1.Open; repeat i:=i+Form1.ABSTable1D_pension.AsFloat; ii:=ii+Form1.ABSTable1Pension.AsFloat; iii:=iii+Form1.ABSTable1B_retro.AsFloat; iiii:=i+ii+iii; Form1.ABSTable1.Next; b:=b+1; if b=20 then begin Form1.ABSTable2.Append; Form1.ABSTable2D_pension.AsFloat:=i; Form1.ABSTable2Pension.AsFloat:=ii; Form1.ABSTable2B_retro.AsFloat:=iii; Form1.ABSTable2Total.AsFloat:=iiii; Form1.ABSTable2.Post ; b:=0; i:=0;ii:=0;iii:=0 end; until Form1.ABSTable1.Eof; if b<>0 then begin Form1.ABSTable2.Append; Form1.ABSTable2D_pension.AsFloat:=i; Form1.ABSTable2Pension.AsFloat:=ii; Form1.ABSTable2B_retro.AsFloat:=iii; Form1.ABSTable2Total.AsFloat:=iiii; Form1.ABSTable2.Post ; end; end;
الأخ العربي larbiparadox شكرا جزيلا لك فعلا حلت المشكلة لقد قمت بتصحيح الكود ولك كل الشكر كما لايسعني أن أشكر الأخ B.M Abdelazizi على المشاركة ولكم جميعا الشكر بعض الهفوات صادفتني أثناء تحرير الكود وكان بفضلكم الحل شكرا وألف شكر.