الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

جمع الخلايا في الDBGrid ??

مغلق
بدأه أحمد الجفري في 2 أغسطس 2001 · 10 رد · 1,406 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم جميعا ... اخواني اعضاء المنتدى .. اتمنى أن اعرف كيفية حساب الخلاياcells الموجودة في DBGrid اي كيفية اجراء عملية حسابية معينة ... مثلا جمع الخليةالاولى مع الثالثة وهكذا

شاكرا لكم

#2

معقول !!!

الا يعرف احد الحل ؟؟ !!!

#3

أخي العزيز:

بالنسبة لخلايا الـ DBGrid لا يمكن التعامل معها كل على حدة،

ولكن لديك طريقة أخرى للتعامل مهعا وذلك بالتعامل مع الكائن التذي ترتبط فيه هذه الشبكة أقصد TTable أو TQuery وذلك بوضع حلقة While Not Table1.EOF DO وجمع الحقول المعفة ضمن الجدول

مثلا sum := sum + table1.fields[0].value وهكذا بالنسبة للحقول الأخرى ....

أرجو أن يكون الجواب مفيدا

#4

شكرا لك أخي .. ولكن ممكن التوسع في التوضيح لو تكرمت ؟؟

#5

ليكن لديك الجدول 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.

#6

اشكرك اخي mghiath على تعاونك معاي :)

تحياتي

#7

مرحبا غياث :)

#8

عندي الطريقة لكني نسيتها الان لكن سا عطيك طريقة جيدة .

استخدم event الخاصة بالحقول .

متلا لديك الحقول price و qty و total يعني السعر و الكمية و الاجمالي .

تريد حساب الاجمالي عندما يتغير احد الحقلين السعر او الكمية .

تستطيع >لك باستخدام event الخاصة بكل حقل وهي onchange و تكتب الكود الخاص بعملية حساب الاجمالي .

وشكرا

#9

مرحبا أنس

#10

بسم الله الرحمن الرحيم

اولاً اشكر الأخوه الذين قاموا بالرد على اخونا ASP4DB

وخاصة الأخ محمد الغياث

على العموم

فيمكنك اخي ASP4DB بأن تنادي كل خليه بأسمها بواسطة FiledByName

ومن ثم تقوم بالعمليات عليها

مثلاً لديك 3 حقول

الحقل الأول يحمل اسم A

الحقل الثاني يحمل اسم B

الحقل الثالث يحمل اسم C

فستقوم بجمع الحقل الأول و الثاني وسيكون الناتج في الحقل الثالث

فيمكنك ذلك بواسطة هذا الكود :

Table1.FieldByName('C').Asinteger:=Table1.FieldByName('A').Asinteger+Table1.FieldByName('B').Asinteger;

وتقبل اطيب تحياتي اخوك SUM

#11

أشكر الجميع على الرد وخاصا مشرفنا العزيز SUM

تحياتي

هذا الموضوع مغلق.

مواضيع مشابهة