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

نسخة كاملة : مجموع حقل بالجدول
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم
نرجو من الاخوة افادتي في اشكال بتطبيقي حيث قمت بعمل فلترة بين تاريخين و نجح الامر و لكن الاشكال أردت مجموع حقل معين بالجدول و اظهاره
https://e.top4top.io/p_3408ygcr71.png
(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;
وعليكم السلام و رحمة الله وبركاته.
إذا كنت تستعمل sql ، فالحل مثلما قال به أخونا العربي،
أما إذا كنت لا تستعمل sql، فاستعمل حلقة while

PHP كود :
Sum := 0;

While 
not adotable.eof do
Begin
Sum 
:=sum +adotabletotal.float;
Adotable.next;
End; 
(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
وعليكم السلام ورحمة الله

مررت من هنا واردت ترك تعقيب بسيط
اذا كانت البيانات ليست كثيرة فكل الحلول تؤدي الى افغانستان
ولكن ..!
استعمال SQL هو اتصال بقاعدة البيانات وعملية جديدة غير مبررة لان البيانات عندك اصلا ووقتها استخدام Do While تكون انسب
فقط مع وضع بالاعتبار حركة مؤشر موقع السجل يجب Table.DisableControl وبعد الانتهاء EnabledControl
وايضا يوجد حل ثالث وهو الذي تقدمه اغلب المكونات مثل FireDac وهو استخدام Aggregate Fields
(02-05-2025, 06:23 PM)الفجر الابيض كتب : [ -> ]وعليكم السلام ورحمة الله

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

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

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

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