delphi4arab منتديات دلفي للعرب
مجموع حقل بالجدول - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : مجموع حقل بالجدول (/showthread.php?tid=12923)



مجموع حقل بالجدول - hamam2025 - 01-05-2025

السلام عليكم
نرجو من الاخوة افادتي في اشكال بتطبيقي حيث قمت بعمل فلترة بين تاريخين و نجح الامر و لكن الاشكال أردت مجموع حقل معين بالجدول و اظهاره
https://e.top4top.io/p_3408ygcr71.png


RE: مجموع حقل بالجدول - larbiparadox - 02-05-2025

(01-05-2025, 06:18 PM)hamam2025 كتب : السلام عليكم
نرجو من الاخوة افادتي في اشكال بتطبيقي حيث قمت بعمل فلترة بين تاريخين و نجح الامر و لكن الاشكال أردت مجموع حقل معين بالجدول و اظهاره
https://e.top4top.io/p_3408ygcr71.png


إقتباس : Query.SQL.Text := 'SELECT SUM(m2) AS Total FROM YourTableName ' +
'WHERE date_s BETWEEN :StartDate AND :EndDate';

// تحويل النص من Edit إلى تاريخ
Query.Parameters.ParamByName('StartDate').Value := StrToDate(Edit1.Text);
Query.Parameters.ParamByName('EndDate').Value := StrToDate(Edit2.Text);

Query.Open;

if not Query.FieldByName('Total').IsNull then
TotalAmount := Query.FieldByName('Total').AsFloat
else
TotalAmount := 0;



RE: مجموع حقل بالجدول - أبو معاذ - 02-05-2025

وعليكم السلام و رحمة الله وبركاته.
إذا كنت تستعمل sql ، فالحل مثلما قال به أخونا العربي،
أما إذا كنت لا تستعمل sql، فاستعمل حلقة while

PHP كود :
Sum := 0;

While 
not adotable.eof do
Begin
Sum 
:=sum +adotabletotal.float;
Adotable.next;
End; 



RE: مجموع حقل بالجدول - hamam2025 - 02-05-2025

(02-05-2025, 09:37 AM)larbiparadox كتب :
(01-05-2025, 06:18 PM)hamam2025 كتب : السلام عليكم
نرجو من الاخوة افادتي في اشكال بتطبيقي حيث قمت بعمل فلترة بين تاريخين و نجح الامر و لكن الاشكال أردت مجموع حقل معين بالجدول و اظهاره
https://e.top4top.io/p_3408ygcr71.png


إقتباس :  Query.SQL.Text := 'SELECT SUM(m2) AS Total FROM YourTableName ' +
                      'WHERE date_s BETWEEN :StartDate AND :EndDate';
   
    // تحويل النص من Edit إلى تاريخ
    Query.Parameters.ParamByName('StartDate').Value := StrToDate(Edit1.Text);
    Query.Parameters.ParamByName('EndDate').Value := StrToDate(Edit2.Text);
   
    Query.Open;
   
    if not Query.FieldByName('Total').IsNull then
      TotalAmount := Query.FieldByName('Total').AsFloat
    else
      TotalAmount := 0;

شكرا جزيلا اخوتي الكرام الكود 100/100


RE: مجموع حقل بالجدول - الفجر الابيض - 02-05-2025

وعليكم السلام ورحمة الله

مررت من هنا واردت ترك تعقيب بسيط
اذا كانت البيانات ليست كثيرة فكل الحلول تؤدي الى افغانستان
ولكن ..!
استعمال SQL هو اتصال بقاعدة البيانات وعملية جديدة غير مبررة لان البيانات عندك اصلا ووقتها استخدام Do While تكون انسب
فقط مع وضع بالاعتبار حركة مؤشر موقع السجل يجب Table.DisableControl وبعد الانتهاء EnabledControl
وايضا يوجد حل ثالث وهو الذي تقدمه اغلب المكونات مثل FireDac وهو استخدام Aggregate Fields


RE: مجموع حقل بالجدول - hamam2025 - 02-05-2025

(02-05-2025, 06:23 PM)الفجر الابيض كتب : وعليكم السلام ورحمة الله

مررت من هنا واردت ترك تعقيب بسيط
اذا كانت البيانات ليست كثيرة فكل الحلول تؤدي الى افغانستان
ولكن ..!
استعمال SQL هو اتصال بقاعدة البيانات وعملية جديدة غير مبررة لان البيانات عندك اصلا ووقتها استخدام Do While تكون انسب
فقط مع وضع بالاعتبار حركة مؤشر موقع السجل يجب Table.DisableControl وبعد الانتهاء EnabledControl
وايضا يوجد حل ثالث وهو الذي تقدمه اغلب المكونات مثل FireDac وهو استخدام Aggregate Fields

السلام عليكم
بارك الله في مروركم الجميل و لكن اخي لدي اشكال بذات السياق في حالة جمع نفس الحقل و لكن الفلترة بحقلين مختلفين ليس بتاريخ فقط و لكن بالتاريخ و الصندوق جزاكم الله كل خير


RE: مجموع حقل بالجدول - الفجر الابيض - 09-05-2025

الفلترة بحقلين

كود :
Table.filtted:=false Table.filtter:='filedname1=4444 and filedname2=5555' Table.filtted:=true

تجمع بين الحقول وتفصل بينهم بالعبارة and كما تفعل مع جمل Sql