تقرير quickreport لقائمة كل شهر
#2
السلام عليكم
أخي لم تحدد ما إذا كنت تستعمل جدول قاعدة بيانات أم لا .. ولكنني سأفترض أنك تستخدم جدول قاعدة بيانات .. وإذا كنت كذلك فهل حقل الشهر هو من النوع الحرفي أم هو رقمي ..
عموما : سأفترض أنك تستخدم حقل الشهر من النوع الحرفي واسمه Month وبعد ذلك ستكون التغييرات بسيطة إذا كان الحقل رقمي

الفكرة هنا أنك ستقوم بفلترة الحدول حسب التحديد المطلوب وباعتبار أن الجدول مربوط بالكويك ريبورت فإن السجلات المحددة فقط هي التي ستظهر ... إذا اللعبة هنا في الفلترة وبإعتبار أن الفلترة متغيرة سيكون الشغل كله على CheckBox
إذا ماعليك فعله هو :
أولا - قم بتعريف متغيرات عامة وهي S , Filter من نوع ٍString و List من نوع TStringList
ثانيا في حدث OnCreate الخاص بالفورم أكتب

كود :
List := TStringList.Create; List.Delimiter := ','; s := '';

ثالثا - حدد CheckBox الأول وقم بكتابة الكود التالي في حدث OnClick الخاص به

كود :
if TCheckBox(Sender).Checked then begin List.Add(TCheckBox(Sender).Caption); s := List.DelimitedText; end else begin List.Delete(List.IndexOf(TCheckBox(Sender).Caption)); s := List.DelimitedText; end; Filter := 'Month = '+StringReplace(s, ',',' Or Month = ', [rfReplaceAll]);

رابعا : وهو الأهم .. قم بتحديد بقية CheckBox ماعدا الأول ثم إقتح قائمة الحدث وأذهب إلى حدث Onclick ولكن لا تقم بالنقر المزدزج عليه ، بل إضغط على المثلث في اليمين لتظهر لك قائمة إختر منها الحدث السابق لـ CheckBox الأول .. سيتم تنفيذ الكود في حدث Onclick الخاص بـ CheckBox الأول عن طريق بقية الـ CheckBoxes

النتيجة أن المتغير الذي أسميناه Filter سيحصل على ChckBox المحددة فقط وبعد ذلك قم بتطبيق نتيجة الاختيارات على الفلتر الخاص بالجدول بهذا الشكل
على افتراض أن مكون الجدول اسمه Table1 وأن لديك زر لإظهار الكويك ريبورت
قبل إظهار الكويك ريبوت ضع هذا الكود

كود :
Table1.Close; Table1.Filtered := False; Table1.Filter := Filter; Table1.Filtered := True; Table1.Open;

بإذن الله ستظهر لك نتائج مرضية
طبعا ستقوم ببعض التعديلات ليظهر التقرير كما بالصزرة

تبقى مسألة حقل الشهر إذا كان من النوع الرقمي .. هنا يمكنك إستخدام CheckBox.tag بدلا من CheckBox.Caption
ماعليك فعله هو لإعطاء tag رقم الشهر بدلا من اسمه وسيشتغل بإذن الله
الرد


الردود في هذا الموضوع
تقرير quickreport لقائمة كل شهر - بواسطة Bachirsoft - 21-02-2015, 06:13 PM
تقرير quickreport لقائمة كل شهر - بواسطة الكاسر الآخر - 21-02-2015, 07:38 PM
تقرير quickreport لقائمة كل شهر - بواسطة Bachirsoft - 22-02-2015, 12:57 AM
تقرير quickreport لقائمة كل شهر - بواسطة Bachirsoft - 23-02-2015, 09:02 PM

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


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