![]() |
|
كيف أعرض الحقل المحسوب في الإستعلام؟ - نسخة قابلة للطباعة +- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum) +-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3) +--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15) +--- الموضوع : كيف أعرض الحقل المحسوب في الإستعلام؟ (/showthread.php?tid=11055) |
كيف أعرض الحقل المحسوب في الإستعلام؟ - ALG2009 - 09-10-2020 السلام عليكم نفرض أنه عندي جدول به منتوج وإذا كانت الكمية أكثر من 20 أنقص 0.2 من السعر (Id,ProductName,Qty,Price,CalcPrice)ProductsTable
قمت بإضافة حقل محسوب في الجدول وفي الحدث OnCalcFields قمت بالتاليكود : If qty >20 then
CalcPrice:=Price-0.2
else
CalcPrice:=priceما أردته وهو أن أعرض الحقل المحسوب في الفاست ريبورت عن طريق إستعلام هكذا كود : SELECT ProductName,Qty,Price,CalcPrice from ProductsTableولكن الحقل المحسوب لم يظهر في الإستعلام لماذا؟ أو هناك طريقة أفضل لحل هذه المشكلة RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - Delphi4Us - 10-10-2020 وعليكم السلام ورحمة الله يبدوا لي ان كل شئ طبيعي الا جملة الاستعلام الاخيرة غير منطقية فالحقل Calc لا يوجد بجدول البيانات وانما بمكون الجدول طالما الجدول مفتوح اربطه مباشرة بمصدر بيانات الفاست ريبورت ولا تقوم باستخدام مكون استعلام جديد مشكلتك تبدو هنا ارجو ان تكون قد فهمت المقصود RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - ALG2009 - 10-10-2020 ولكن انا أعرض البيانات في الفاست ريبورت عن طريق الإستعلام والذي بدوره أي الإستعلام يقوم بعرض العديد من الحقول من جداول مختلفة مربوطه بـ join كل الحقول ظهرت إلا الحقل المحسوب لا أدري ما المشكل لا ادري إن كانت صحيحة إدخال جملة شرطية في الـ SELECT وهل هي منطقية (10-10-2020, 02:08 PM)Delphi4Us كتب : وعليكم السلام ورحمة الله بالفعل لا يوجد في جدول البيانات وإن وضعته على الفاست ريبورت فيظهر قيمه وحدة للجميع ما الحل في هذه الحالة أو إظهار البيانات بإستعلام غير صحيحة مع العلم اني سمعت انها أفضل من إستخدام الجداول RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - Delphi4Us - 10-10-2020 إقتباس :ما الحل في هذه الحالة الامر بسيط جدا قم بانشاء مكون استعلام يجلب البيانات SELECT ProductName,Qty,Price from ProductsTable واضف فيه حقل الجمع CalcPrice وفي الحدث OnCalcFields ضع الكود الخاص بك If qty >20 then CalcPrice:=Price-0.2 else CalcPrice:=price ونفس المكون استخدمه لمصدر بيانات الفاست ريبورت RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - ALG2009 - 10-10-2020 (10-10-2020, 05:14 PM)Delphi4Us كتب :إقتباس :ما الحل في هذه الحالة جزاك الله خير أخي على المساعدة لقد إستخدمت جملة If فكان الكود هكذا كود : SELECT ProductName,Qty,Price,iff(qty>20,price-0.2,price) from ProductsTableأريد أن أكتب كود صحيح ومنطقي لا أريد أن أبرمج وأن يشتغل الكود ولا يهمني شكل الكود لهذا سألت ووجد الحل و أتمنى أن يكون صحيح ولا يحدث بطئ في حال كانت قاعدة البيانات كبيرة RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - Delphi4Us - 10-10-2020 لا اعتقد ان هناك مشكلة بقاعدة بيانات كبيرة يعني انت استغنيت عن استخدام OnCalcFields واستخدمت الاجراء المذكور للتوضيح فقط RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - ALG2009 - 10-10-2020 (10-10-2020, 08:39 PM)Delphi4Us كتب : لا اعتقد ان هناك مشكلة بقاعدة بيانات كبيرة ما دام الحقل المحسوب لم يظهر قمت بحسابه في الاستعلام وأظنه نفس الشيء كما قلت جزاك الله خيرا RE: كيف أعرض الحقل المحسوب في الإستعلام؟ - Delphi4Us - 11-10-2020 بامكانك مراجعة الدرس التالي ايضا للاخ ابو معاذ فيه طريقة اجراء المجاميع في التقرير نفسه يمكن ان يفيدك https://delphi4arab.net/forum/showthread.php?tid=10092&pid=52035#pid52035 ملاحظة ما يميز استخدام الحدث OnCalcFields هو انه بامكانك اجراء عمليات معقدة |