الفلترة في الجداول باسنعمال الحقول الحسابية (calculated field)
#1
Wink 
السلام عليكم و رحمة  الله وبركاته ،
احتجت إلى  استعمال الحقول الحسابية (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
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
[-] كل من 3 users say قال شكرا ل أبو معاذ على المشاركة المفيدة
  • Imad Ch, h-farid, Delphi4Us
الرد
#2
وعليكم السلام ورحمة الله
لما لا تستخدم الحدث
OnCalcFields
رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ
الرد
#3
(17-02-2016, 10:14 AM)B.M.AbdelAziZ كتب : وعليكم السلام ورحمة الله
لما لا تستخدم الحدث
OnCalcFields

نعم أخي عبد العزيز ، والغرض من هذا الموضوع هو استعمال الحقل الحسابي ، (أي بعد حسابه Tongue )  في الحدث OnCalcFields
و من ثم الفلترة عليه.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#4
بارك الله فيك
إن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
الرد
#5
بارك الله فيك لقد افادني هذا Smile
الرد
#6
(17-05-2016, 08:02 PM)Imad Ch كتب : بارك الله فيك لقد افادني هذا  Smile
الحمد لله رب العالمين.
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
[-] كل من 1 user says قال شكرا ل أبو معاذ على المشاركة المفيدة
  • Imad Ch
الرد


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


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