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

نسخة كاملة : الفلترة في الجداول باسنعمال الحقول الحسابية (calculated field)
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم و رحمة  الله وبركاته ،
احتجت إلى  استعمال الحقول الحسابية (calculated field) لاستعمالها في الفلترة ، بحثت عنها ، وبعد أن وجدتها واستعملتها و فرحت بها .
وضعتها هنا ليستفيد منها من يحتاج إليها.
برجاء أن لا يكون الموضوع مكرر Tongue 
في الحدث OnFilterRecord التابع لل    (Table , Query)

شرط بسيط :

كود :
procedure TForm1.DataSet1FilterRecord(DataSet: TDataSet;  var Accept: Boolean); begin  Accept := (DataSet1.FieldByName('CF').Value = comp); end;

حيث أن   CF  هو اسم الحقل الحسابي.
dataSet1  هو اسم للمكون الذي تستعمله في جلب المعطيات table أو Query
شرط متعدد:
كود :
procedure TForm1.DataSet1FilterRecord(DataSet: TDataSet;  var Accept: Boolean); begin  Accept := (DataSet1.FieldByName('CF').Value = comp) and                ((DataSet1.FieldByName('Dates').Value = '01/01/2016') or                 (DataSet1.FieldByName('Dates').Value = '01/02/2016'); end;

مع الملاحظة أن الحدث OnFilterRecord   لن يتم استدعاؤه إلا إذا كان الخاصية Filtered   لها القيمة True.

دعواتكم. Cool
وعليكم السلام ورحمة الله
لما لا تستخدم الحدث
OnCalcFields
(17-02-2016, 10:14 AM)B.M.AbdelAziZ كتب : [ -> ]وعليكم السلام ورحمة الله
لما لا تستخدم الحدث
OnCalcFields

نعم أخي عبد العزيز ، والغرض من هذا الموضوع هو استعمال الحقل الحسابي ، (أي بعد حسابه Tongue )  في الحدث OnCalcFields
و من ثم الفلترة عليه.
بارك الله فيك
بارك الله فيك لقد افادني هذا Smile
(17-05-2016, 08:02 PM)Imad Ch كتب : [ -> ]بارك الله فيك لقد افادني هذا  Smile
الحمد لله رب العالمين.