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

نسخة كاملة : كيف أحسب مجموع في حقل من Dbgrid
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
اولا بوركت الجهود و بارك الله فيكم

لدي مثلا table فيها 5 اعمدة او خانات . و في العمود D اود جمع كل مافيه
للاشارة جربت عدة طرق و بحثث في المنتدى و الله يبارك ي الجميع و لكن اما النتيجة 0 او تظهر لي رسالة خطأ .
و هذا من بين ما جربت و لم ينجح معي :
PHP كود :
var i,j:integer;
sum:Real;
begin
sum
:=0;
for 
i:=0 to tweb.RecordCount do begin
for j:=0 to DBGrid3.SelectedRows.Count-1 do begin
if (i=DBGrid3.SelectedRows.IndexOf(DBGrid3.SelectedRows.Items[j])) then
sum
:=sum+tweb.FieldByName('D').AsFloat;
end;
tweb.Next;
end;

Label5.Caption:=FloatToStr(sum); 
و جزاكم الله خيرا و بوركت الجهود
[INDENT]
وعليكم السلام ورحمة الله وبركاته ،
على حسب فهمي لطلبك ، تريد جمع كل عمود من dbgrid ،أليس كذلك؟
إذا كان كذلك ، فلماذا لا تستعمل SQL ؟

كود :
Select SUM(MyRecord) From My Table

[/INDENT]
أشكرك اخي جزيل الشكر . و بصراحة طلبي جمع عمود واحد فقط للتوضيح
مثلا لدي Tabledz و فيها عمود A/ B/ C/ D/ E/ F .
أود جمع عمود فقط D و الناتج في Edit .

و بارك الله فيكم على المجهودات
توضيح السؤال نصف الجواب
هو انت هنا اي طريقة استخدمتها في ربط الجداول
ADO او Tabel
ايضا لو كان ADO
ماذا استخدمة
ADOTabel او ADOquery
فلكل واحده فيهم طريقه وكود معين مستقل عن الاخر ........... تحياتي .
aghroutsoft كتب :توضيح السؤال نصف الجواب
هو انت هنا اي طريقة استخدمتها في ربط الجداول
ado او tabel
ايضا لو كان ado
ماذا استخدمة
adotabel او adoquery
فلكل واحده فيهم طريقه وكود معين مستقل عن الاخر ........... تحياتي .

بارك الله فيك اخي الفاضل و جزاك الله خيرا
بما ان لكل و طريقة فمن فضلك افدنا بكلتا الطريقتين حتى استفيد اكثر و جزاك الله خيرا
و اسف اتعبتك معي
يمكن عن طريق استخدام الاستعلام التالي
كود :
adodataset1.close; adodataset1.commandtext:='select sum(a+b+c+d+e) from table'; adodataset1.open; edit1.text:=adodataset.field[0].asstring;
بالتوفيق
بارك الله فيك اخي و لكن ابحث عن جمع D فقط

على العموم جربت المحاولة و لم تنجح

PHP كود :
adodataset1.close;
adodataset1.commandtext:='select sum(tts) from client';
adodataset1.open;
edit1.text:=adodataset1.Fields[0].asstring; 

http://cdn.top4top.net/i_79a4ea5fc71.png
السلام عليكم

PHP كود :
procedure TForm1.btnDoSumClick(Sender: TObject);
var
  
i: Integer;
  
sum : currency;
begin
  
if DBGrid1.SelectedRows.Count > 0 then
  begin
    sum 
:= 0;
    
with DBGrid1.DataSource.DataSet do
    
begin
      
for i := 0 to DBGrid1.SelectedRows.Count-1 do
      
begin
        GotoBookmark
(Pointer(DBGrid1.SelectedRows.Items[i]));
        
sum:= sum + ADOTable1.FieldByName('Montant').AsCurrency;
      
end;
    
end;
     
ADOTable2.Edit;
     
ADOTable2.FieldByName('total').AsCurrency:= sum;

  
end
end
; 


PHP كود :
procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
begin
 ADOTable1
.FieldByName('Montant').AsCurrency:=
 
ADOTable1.FieldByName('Prix').AsCurrency*
 
ADOTable1.FieldByName('Qte').AsFloat;
end;

end. 
بوركتم ,, و الا يمكن تطبيق العملية بأقل كود لو سمتحم و الله يجازيكم
كيف اجمع خانة B . كما في الصورة .
علما انو لدي DBgrid . و بأقل كود و شكرا لكم
http://cdn.top4top.net/i_b0fbebf38e1.png
الصفحات : 1 2