فیلتر کردن رکوردها
فیلتر کردن رکوردها در Crystal Report
در این فصل، یاد خواهید گرفت که چگونه رکوردها را فیلتر کنید. در دنیای گزارش نویسی، فیلترینگ به "انتخاب رکوردها" یا "record selection" معروف است. record selection پردازشی است که رکوردهای خاصی را داخل گزارش نمایش می دهد.
Crystal Reports برای فیلترینگ، دو ابزار زیر را فراهم نموده است:
- Select Expert: این ابزار به صورت Visual فیلترینگ را فراهم می کند.
- Formula: با برنامه نویسی، فیلترینگ می کنیم. (در مطلب CR Formula درباره فرمول نویسی بیشتر توضیح داده خواهد شد)
در اینجا، کار با Select Expert را فراخواهیم گرفت.
اجازه بدهید، با ایجاد یک گزارش جدید، با مفهوم فیلترینگ، آشنا شویم.
لیست تمام مشتری ها
1- بعد از اجرای Crystal Report، یک گزارش خالی (Blank Report) ایجاد کنید.
2- به پایگاه داده Xtreme.mdb متصل شده و جداول Custumer و Orders را به پنجره Selected Table اضافه نمایید.
اگر بیش از یک جدول به لیست Availble List اضافه کنید، برگه Link ظاهر می شود و به شما اجازه می دهد تا بین جداول، لینک برقرار نمایید. اجازه دهید، ارتباط بین دو جدول بالا را خود Crystal Reports برقرار نماید.
3- روی دکمه OK کلیک نمایید.
4- در نمای Design، فیلد های پایین را در بخش Details قرار دهید.
Customer Name و Region (از جدول Customer) و Order Date (از جدول Orders)
Select Expert
به صورت پیشفرض بعد از ایجاد گزارش، Crystal Report تمام رکوردها را نمایش می دهد. (در بالا تمام مشتری ها، با نواحی و تاریخ سفارش های مختلف لیست شده است)
بندرت، در یک گزارش تمام رکوردها را نمایش می دهیم و معمولاً کاربران می خواهند که، زیر مجموعه ای از رکوردهای یک جدول را ببینند. به عنوان مثال، ممکن است کاربری بخواهد مشتریان یک ناحیه خاص را ببیند و یا مشتریانی که تاریخ سفارش آنها در بازه ای خاص است.
Select Expert به شما اجازه می دهد تا رکوردها را فیلتر نمایید و تعریف کنید که چه رکوردهایی باید در گزارش نمایش داده شوند.
اجازه بدهید، نگاهی به Select Expert بیندازیم و ببینیم چگونه کار می کند.
Select Expert
1- منوی (Report=>Select Expert) را انتخاب نمایید.
Select Expert از طریق نوار ابزار Experts نیز قابل دسترسی است(آیکنی به شکل دست)
2- در پنجره Choose Field مطابق شکل زیر، فیلد Region را انتخاب نمایید.
این پنجره ی Select Expert نیست و شما در ابتدا باید، فیلدی که می خواهید فیلترینگ براساس آن انجام شود را انتخاب نمایید.
نکته: برای نمایش مقادیر داخل فیلدها، از دکمه Browse استفاده نمایید.
3- روی دکمه OK کلیک نمایید.
پنجره Select Expert مطابق شکل زیر ظاهر می شود.
برگه های بالای پنجره Select expert نماینده فیلترهای تعریف شده است. همچنین برگه ای با نام "New' وجود دارد که با کلیک روی آن پنجره Choose Field ظاهر می شود و به شما اجازه می دهد که یک فیلتر جدید تعریف کنید.
هر بار که در Crystal Report فیلتری را تعریف می کنید، باید سه مورد زیر را مشخص نمایید:
- فیلد جدول: فیلدی که فیلترینگ بر اساس آن انجام می شود.
- عملگر مقایسه: بر اساس این عملگر، مقادیر داخل فیلد را با مقداری دیگر مقایسه می کند.
- مقدار مقایسه: یک مقدار ثابت و غیر قابل تغییر
عملگرهای مقایسه (Comparison Operators)
عملگرهای مقایسه ای، دو مقدار را با هم مقایسه می کنند و مقدار True یا False را برمی گردانند.
با توجه به مقادیر بازگشتی، Crystal Report نمایش رکوردها در گزارش را معیین می کند.
جدول زیر، عملگرهای قابل دسترس در Select Expert را نشان می دهد. ستون Data Type، لیست انواع داده ای است که برای مقایسه استفاده می شود.
عملگر مقایسه | توضیحات | Data Type |
---|---|---|
Is Any Value |
تمام رکوردهای داخل رکورد را برمی گرداند. هیچ فیلتری روی رکوردها انجام نمی شود. |
Text, Numeric, Date |
Is Equal To |
تمام رکوردهایی که دقیقاً با مقدار عبارت برابر است را برمی گرداند. |
Text, Numeric, Date |
Is Not Equal To |
تمام رکوردهایی که با مقدار عبارت یکسان نیست را برمی گرداند. |
Text, Numeric, Date |
Is One Of |
تمام رکوردهایی که با یکی از مقادیر مشخص شده لیست شما برابر باشد را برمی گرداند. |
Text, Numeric, Date |
Is Not One Of |
تمام رکوردهایی که مخالف مقادیر مشخص شده لیست شما باشد را برمی گرداند. |
Text, Numeric, Date |
Is Less Than |
تمام رکوردهایی که کوچکتر از مقدار عبارت باشد را برمی گرداند. |
Text, Numeric, Date |
Is Less Than Or Equal To |
تمام رکوردهایی که کوچکتر یا مساوی مقدار عبارت باشد را برمی گرداند. |
Text, Numeric, Date |
Is Greater Than |
تمام رکوردهایی که بزرگتر از مقدار عبارت باشد را برمی گرداند. |
Text, Numeric, Date |
Is Greater Than Or Equal To |
تمام رکوردهایی که بزرگتر یا مساوی مقدار عبارت باشد را برمی گرداند. |
Text, Numeric, Date |
Is Between |
تمام رکوردهایی که بین دو مقدار عبارت شما باشد را برمی گرداند. |
Text, Numeric, Date |
Is Not Between |
تمام رکوردهایی که بین دو مقدار عبارت شما نباشد را برمی گرداند. |
Text, Numeric, Date |
Starts With |
تمام رکوردهایی که با مقدار عبارت شما شروع شود را برمی گرداند. |
Text |
Does Not Start With |
تمام رکوردهایی که با مقدار عبارت شما شروع نشود را برمی گرداند. |
Text |
Is Like |
تمام رکوردهایی که شامل مقدار عبارت شما باشد را برمی گرداند. مقدار عبارت می تواند شامل کاراکترهای wildcard باشد. |
Text |
Is Not Like |
تمام رکوردهایی که شامل مقدار عبارت شما نباشد را برمی گرداند. مقدار عبارت می تواند شامل کاراکترهای wildcard باشد. |
Text |
Formula |
تمام رکوردهایی که دستورالعمل فرمول در مورد آنها صادق است را برمی گرداند. |
Text, Numeric, Date |
ایجاد فیلترینگ
فیلترینگ
1- در پنجره Select Expert، گزینه عملگر مقایسه ای را با "Is Equal To" تنظیم نمایید.
زمانی که این مقدار را انتخاب می کنید، یک لیست کشویی جدید در سمت راست ظاهر می شود و به شما اجازه می دهد تا مقدار مقایسه را انتخاب یا وارد نمایید.
2- مقدار مقایسه را با "TX" تنظیم نمایید.
"TX" مخفف Texas است. می توانید مقدار "TX" را تایپ کنید(بدون کوتیشن مارک)
3- روی دکمه OK کلیک نمایید.
پنجره ای مطابق شکل زیر ظاهر می شود و باید مشخص کنید که Crystal Report داده ها را تازه سازی کند و یا از داده های جاری استفاده کند.
4- روی Refresh Data کلیک کنید.
شما موفق شدید که داده ها را فیلتر کنید و مشتریانی با منطقه "TX" را نمایش دهید.
برداشتن فیلترینگ
در Crystal Report برداشتن فیلترینگ به همان آسانی ایجاد آن است. با توجه به گزارش جاری به صورت زیر عمل نمایید:
حذف فیلترینگ
1- پنجره Select Expert را باز کنید. (Report=>Select Expert)
2- برگه ای که نماینده فیلتر مورد نظرتان است را انتخاب کنید. (Region)
3- روی دکمه Delete کلیک نمایید.
برگه Region حذف می شود.
3- روی دکمه OK کلیک نمایید.
پنجره ی تازه سازی اطلاعات مانند قبل ظاهر می شود.
4- روی Refresh Data کلیک کنید.
شما موفق شدید که فیلترینگ را حذف کنید. حالا تمام مشتریان نمایش داده می شوند.
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 12072