السلام عليكم جميعا ... اخواني اعضاء المنتدى .. اتمنى أن اعرف كيفية حساب الخلاياcells الموجودة في DBGrid اي كيفية اجراء عملية حسابية معينة ... مثلا جمع الخليةالاولى مع الثالثة وهكذا
شاكرا لكم
السلام عليكم جميعا ... اخواني اعضاء المنتدى .. اتمنى أن اعرف كيفية حساب الخلاياcells الموجودة في DBGrid اي كيفية اجراء عملية حسابية معينة ... مثلا جمع الخليةالاولى مع الثالثة وهكذا
شاكرا لكم
معقول !!!
الا يعرف احد الحل ؟؟ !!!
أخي العزيز:
بالنسبة لخلايا الـ DBGrid لا يمكن التعامل معها كل على حدة،
ولكن لديك طريقة أخرى للتعامل مهعا وذلك بالتعامل مع الكائن التذي ترتبط فيه هذه الشبكة أقصد TTable أو TQuery وذلك بوضع حلقة While Not Table1.EOF DO وجمع الحقول المعفة ضمن الجدول
مثلا sum := sum + table1.fields[0].value وهكذا بالنسبة للحقول الأخرى ....
أرجو أن يكون الجواب مفيدا
شكرا لك أخي .. ولكن ممكن التوسع في التوضيح لو تكرمت ؟؟
ليكن لديك الجدول Table1 التالي وفيه الحقلين التاليين
sum, amount وتريد أن تجمع كلا الحقلين فتكون الشيفرة
كما يلي:
var s1, s2 : integer; begin s1:=0; s2:=0; while not table1.eof do begin s1 := s1 + table1.fields[0].value; s2 := s2 + table1.fields[1].value; table1.next; end;
في النهاية الآن أنت تملك المجموع للحقل الأول في s1
والمجموع للحقل الثاني في s2.
اشكرك اخي mghiath على تعاونك معاي :)
تحياتي
مرحبا غياث :)
عندي الطريقة لكني نسيتها الان لكن سا عطيك طريقة جيدة .
استخدم event الخاصة بالحقول .
متلا لديك الحقول price و qty و total يعني السعر و الكمية و الاجمالي .
تريد حساب الاجمالي عندما يتغير احد الحقلين السعر او الكمية .
تستطيع >لك باستخدام event الخاصة بكل حقل وهي onchange و تكتب الكود الخاص بعملية حساب الاجمالي .
وشكرا
مرحبا أنس
بسم الله الرحمن الرحيم
اولاً اشكر الأخوه الذين قاموا بالرد على اخونا ASP4DB
وخاصة الأخ محمد الغياث
على العموم
فيمكنك اخي ASP4DB بأن تنادي كل خليه بأسمها بواسطة FiledByName
ومن ثم تقوم بالعمليات عليها
مثلاً لديك 3 حقول
الحقل الأول يحمل اسم A
الحقل الثاني يحمل اسم B
الحقل الثالث يحمل اسم C
فستقوم بجمع الحقل الأول و الثاني وسيكون الناتج في الحقل الثالث
فيمكنك ذلك بواسطة هذا الكود :
Table1.FieldByName('C').Asinteger:=Table1.FieldByName('A').Asinteger+Table1.FieldByName('B').Asinteger;
وتقبل اطيب تحياتي اخوك SUM
أشكر الجميع على الرد وخاصا مشرفنا العزيز SUM
تحياتي
هذا الموضوع مغلق.