مجموع قيم حقل من النوع Currency !!!
#1
السلام عليكم
أحاول استعمال تعليمة SQL لإظهار مجموعة أحد الحقول، إذا كان هذا الحقل من النوع "رقمي" (Integer) فالنتيجة تظهر بشكل عادي باستعمال
كود :
SELECT SUM( NumField ) ...
أما إذا كان الحقل من النوع "عملة" (Currency) فتبقى الخانة فارغة :confused: ، فهل استعمل شيء مثل:
كود :
var Total: Currency; begin Total := 0; With Table1 Do Begin DisableControls; First; While Not Eof Do Begin total:=total+FieldByName('NumField').AsCurrency; Next; End; EnableControls; End; ShowMessage(CurrToStr(total)); end;
واستغني عن Query أم هناك حل؟
شكرا كثيرا.
الرد
#2

استعلام SUM يعمل بشكل عادي مع اي حقل من نوع عملة Currency
ان لم تظهر النتيجة فالسبب شيئ اخر، راجع جيدا ما كتبته في برنامجك
فان لم تجد الخطا ارفق هنا جزء من الجدول ومثال كيفية استعلامك
والسلام عليكم
الرد
#3
بارك الله فيك
بعد التحقق ظهر أن المشكلة ليست بسبب أن الحقل Currency بل لأنه محسوب تلقائيا في الحدث OnCalcFields، والحل ألا نكتب شيء مثل
كود :
SELECT SUM( Total ) ...
إذا كان Total = PrixUnit * Qt
ونكتب عوضا عنه شيء مثل
كود :
SELECT SUM( PrixUnit * Qt) ...
فهل صحيح أنه لا يمكن SUM لحقل محسوب مسبقا في OnCalcFields أم أن في الأمر شيئا !!!
الرد
#4

Sum تحسب اي حقل (موجود) بالجدول
قي حالة OnCalcFields فان الحقل غير موجود بالجدول لانه محسوب "champ calculé"
والسلام عليكم
الرد
#5
بارك الله فيك،اتضحت الفكرة، في الحقيقة صار لي زمان لم أبرمج في DataBase نسيت أشياء كثيرة Big Grin
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم