كيف يتم حساب عمود حقل حسابي بدون استخدام while
#11
اخ عبد الجليل كلامك صحيح وهذه طريقة صحيحة .. ولكن انا كنت اود ان استخدم هذا الحقل الحسابي وادخاله في استعلام .. عندي بعض الاستفسارات مثلاً **** ارصده الزبائن التي تزيد عن قيمة معينة مع وجود هذا الحقل الحسابي لم اتمكن بادخال هذا الحقل الحسابي في ادخاله للاستعلام .. هل من طريقة .. شكراً لك
الرد
#12
للأسف لا أعتقد أنه يمكن الإستعلام عن حقل لا يوجد في الجدول ( فهو ينشئ في الذاكرة 'مثل الحقل الحسابي المستعمل في هذه الحالة')
ربما توجد طريقة الله أعلم ؟

بالتوفيق
الرد
#13
إقتباس :ولكن انا كنت اود ان استخدم هذا الحقل الحسابي وادخاله في استعلام ..
الحقل الحسابي غير موجود بالجدول لانه محسوب (Calculated Field) وبالتالي لا يمكن الاستعلام عنه من الجدول:
http://www.delphi4arab.net/forum/showthread.php?tid=983
إلا إذا قمت بتطوير كائنات تستجيب للاستعلامات...
كبديل هناك مكونات تسحب تلقائيا مجموع الحقول الحسابية مثل QuantumGrid لـ DevExpress
الرد
#14
السلام عليكم :
الاخ عبد الجليل ، كاش وحد الاخوة في المنتدى انا على وشك التوصل للحل لكن مطلوب الدعم منكم
حيث قرأت في احد المنتديات الاجنبية انه يمكن ان نعمل View وانشاء حقل حسابي واستخدامه من جديد في استعلام من خلال ال view ولكن لم اتوفق في تنفيذ الجملة واليكم الطريقة :

كود :
CREATE VIEW TABLEVIEW AS SELECT TABLE.*, DATE() - TABLE.[DATE ADDED] AS AGE FROM [Table];
هنا يتم توليد حقل حسابي وهو العمر Age ، حيث يمكن استخدامه في كويري جديد بهذا الشكل

كود :
SELECT * FROM TABLEVIEW WHERE AGE > 30

انتظر مساعدتكم ولكم الشكر
الرد
#15
أي محرك/ rdbms تستخدم؟
الرد
#16
السلام عليكم و رحمة الله

يستخدم الأكسس

في الأكسس لا تسمى View بل تسمى Query / Requete

يمكن إنشائها برمجيا مثال
كود :
ADOCommand1.CommandText := 'CREATE VIEW MyCustomers AS SELECT datediff("yyyy",Birthday,DATE()) AS Age, * FROM customers'; ADOCommand1.Execute;
كما يمكن إنشائها من الأكسس

كما في الصورة
[صورة: queryf.jpg]

و من ثم يمكن التعامل معها كالتعامل مع الجداول ( و تستهلك أقل من 1 كيلو من حجم القاعدة لأنها مجرد إستعلام ) .

بالتوفيق
الرد
#17
الاخ كاش واحد ، الاخ عبد الجليل شكراً جزيلاً لكم .. لم انجح في تجاوز مشكلتي ولكن افادتي ايضاً هذه الطريقة .. ساحاول احلل المشكلة تحليل ثاني .. شكراً لكم
الرد


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


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