اسف اتعبتك معي و فضلا اصبري معي و بارك الله فيك
للمعلومية اخي اعمل على دلفي 7 و لقد جربت بتغير multiselect الى true
و في حدث adotable . . CalcFields و ضعت الكود الثاني و في زر button أوامر الحساب
و لكن للاسف النتيجة لا تظهر في Edit .
اخي العزيز في الكود الثاني هي عملية ضرب صح ؟
و لكن اود جمع حقل واحد فقط كما في الصورة .
علما اني جربت الجمع و لم انجح
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;
بارك الله فيك اخي على المجهودات و جزاك الله خيرا
و لكن اسمح لي اعيد شرح طلبي مجددا .
طلبي من خلال السورس : كيف اجمع فقط Qte . و النتجية في edit . فقط
وصلت الفكرة .
لو نحسب بألة حاسبة مجموع حقل Qte فقط النتيجة ستكون 36 .
صورة للتوضيح اكثر http://cdn.top4top.net/i_4c33f3f1061.png
علما اني استعمل قواعد ms sql server 2005
و جزاك الله خيرا و الله يكتب اجرك
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;