كيف أحسب مجموع في حقل من Dbgrid
#11
السلام عليكم ورحمة الله

اخي الطريقة جد بسيطة ضع dbgrid و Edit في الفورم

واظف button

عدل على خاصية multiselection في option dbgrid

اضف الكود الخاص بالحساب في button

والكود الثاني في خاصيةOncalculate
table
الرد
#12
اسف اتعبتك معي و فضلا اصبري معي و بارك الله فيك
للمعلومية اخي اعمل على دلفي 7 و لقد جربت بتغير multiselect الى true
و في حدث adotable . . CalcFields و ضعت الكود الثاني و في زر button أوامر الحساب
و لكن للاسف النتيجة لا تظهر في Edit .
اخي العزيز في الكود الثاني هي عملية ضرب صح ؟
و لكن اود جمع حقل واحد فقط كما في الصورة .
علما اني جربت الجمع و لم انجح
الرد
#13
PHP كود :
procedure TForm1.btn1Click(Sender: TObject);
var 
  
i: Integer; 
  
sum : currency;
begin
  ds2
.Active := true;
  
sum := 0;
  for 
I := 0 to ds2.RecordCount - 1 do
  
begin
    sum 
:= sum + ds2.Fields[4].AsInteger;
    
ds2.Next;
  
end;
  
edt1.Text := FormatFloat('0.00',(sum));
end;

procedure TForm1.ds2CalcFields(DataSet: TDataSet);
begin
ds2
.FieldByName('Montant').AsCurrency:=
ds2.FieldByName('Prix').AsCurrency *
ds2.FieldByName('Qte').AsFloat;
end;

end. 

ابسط شيئ اعرفه اخي لا حرج


الملفات المرفقة
.rar   DBGrid_Calculating.rar (الحجم : 13.07 ك ب / التحميلات : 53)
الرد
#14
بارك الله فيك اخي على المجهودات و جزاك الله خيرا
و لكن اسمح لي اعيد شرح طلبي مجددا .
طلبي من خلال السورس : كيف اجمع فقط Qte . و النتجية في edit . فقط
وصلت الفكرة .
لو نحسب بألة حاسبة مجموع حقل Qte فقط النتيجة ستكون 36 .
صورة للتوضيح اكثر http://cdn.top4top.net/i_4c33f3f1061.png
علما اني استعمل قواعد ms sql server 2005
و جزاك الله خيرا و الله يكتب اجرك
الرد
#15
[INDENT]
السلام عليكم.

طيب جرب الكود التالي :
كود :
MaQte := 0 ; ADOTable1.First ; While Not ADOTable1.Eof do begin MaQte := MaQte + ADOtableQte.asfloat ; ADOTable1.Next end; edit1.text := FloatTostr(MaQte) ;
َ
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#16
PHP كود :
procedure TForm1.btn1Click(Sender: TObject);
var
  
i,sum1: Integer;
  
sum : currency;
begin
  ds2
.Active := true;
  
sum := 0;
  
sum1 := 0;
  for 
I := 0 to ds2.RecordCount - 1 do
  
begin
    sum 
:= sum + ds2.Fields[4].AsInteger;
    
sum1 := sum1 + ds2.Fields[3].AsInteger;
    
ds2.Next;
  
end;
  
edt1.Text := FormatFloat('0.00',(sum));
  
edt2.Text := IntToStr(sum1);
end;

procedure TForm1.ds2CalcFields(DataSet: TDataSet);
begin
ds2
.FieldByName('Montant').AsCurrency:=
ds2.FieldByName('Prix').AsCurrency *
ds2.FieldByName('Qte').AsFloat;
end;

end. 
الرد
#17
السلام عليكم

تابع شرح فلاشي

موفق
الرد
#18
بارك الله فيك اخي عنتر على المجهودات و الله يجعلها في ميزان حسناتك اخي

و الاخ Mr.DOS جزاه الله كل الخير توصل على الهدف و الله يرحم لك الوالدين دنيا و اخرة

اخي Mr.DOS نجحت بفضل الله ثم بك , فقط لو تخبرني ماهو type حقل QTN .

لانو اصبح يظهر لي مشكل http://cdn.top4top.net/i_7957ea1dff1.png

و جزاك الله خيرا على الشرح الفلاشي و التوضيحات
الرد
#19
وفيك بركة

إقتباس : فقط لو تخبرني ماهو type حقل QTN .

شاهد صورة جدول المثال في وضع التصميم

كود :
http://cdn.top4top.net/i_a0bc3ca53a1.png
الرد
#20
اعتذر على التأخير اخي فقد انتهى اشتراك النت لدي
و بارك الله فيك و قد نجحلت بفضل الله ثم فضلك و فضل الاخوة ايضا Smile
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم