برای رتبه بندی در اکسس از چه روشهایی می توان استفاده کرد و اصلا به چه دردی می خورد و چه جاهایی کاربرد دارد ؟
رتبه بندی در اکسس با استفاده از شرط :
- فرض می کنیم فایل اکسسی داریم که حاوی یک جدول به نام tblSale است
- جدول فوق دارای دو فیلد به نامهای زیر است:
- فیلد salesMan برای نگهداری نام فروشنده ها و salesAmount برای مقدار فروش
حالا می خواهیم یک کوئری ایجاد کنیم با شرایط زیر
هر دو فیلد جدول tblSale وجود داشته باشد
یک ستون اضافه هم ایجاد کنیم با نام Rating
در ستون Rating باید به صورت خود کار برای شروط زیر اعمال شود
- فروش 0 تا 5 برابر حرف D
- فروش 6 تا 10 برابر حرف C
- فروش 11 تا 15 برابر حرف B
- و فروش 16 تا 20 هم برابر حرف A قرار بگیرد .
توضیحاتی در مورد رتبه بندی در اکسس
این قابلیت در برنامه هایی نظیر مدیریت مدرسه در اکسس و … کاربرد دارد .
قبلا در مورد IIF در اکسس مطلب داشته ایم و میتواند به حل این مسئله کمک کنید .
برای حل این چالش اکسس دو راه وجود دارد.
هر دو روش را آفیس باز انجام داده است و در تصویر زیر قابل مشاهده است .
فایل اکسس را دانلود کرده و سعی کنید که انجام دهید و راه حل را در دیدگاهها بنویسید.
روش اول استفاده از تابع IIF به صورت تو در تو
شکل کلی تابع IIF در اکسس
استفاده از تابع همونطور که توی شکل هم مبینید خیلی سادست مثال زیر رو ببینید :
IIF(saleAmount>=15,"A","B")
در کد بالا گفتیم اگه میزان فروش بزرگتر مساوی 15 بود حرف A و در غیر اینصورت B رو نمایش بده .
حالا اگه تو آرگومان سوم به جای B از یک تابع IIF دیگه استفاده کنیم چی میشه؟
IIf([salesAmount]>=15,"A",IIf([salesAmount]>=10,"B",IIf([salesAmount]>=5,"C","D")))
شاید ویدیو آموزشی بیشتر کمکتون کنه که در انتهای آموزش قرار داره
روش دوم استفاده از تابع Switch اکسس
شکل کلی تابع Switch اکسس
تابع Switch از آفیس 2007 به بعد به اکسس اضافه شده
در تابع Switch هر شرط به صورت جداگاه بررسی می شود و اگر برقرار نباشد به سراغ شرط بعدی می رود
هر کدام از شروط در تابع Switch برقرار باشد ، ادامه شرطها بررسی نخواهد شد.
Switch([salesAmount]>=15,"A",[salesAmount]>=10,"B",[salesAmount]>=5,"C",[salesAmount]>=0,"D")
نتیجه تابع بالا مشابه IIF در اکسس هست و می بینید که خلاصه تر و قابل درک تر می باشد.
اما شما می توانید با استفاده از ایجاد فرم در اکسس و همچنین خاصیت قالب دهی شرطی به فرم با نتیجه زیر برسید.
سلام اگر بخواهیم در کویری سطر هایی که داده ندارند را یک مقدار مانند ۰ دهیم راهش چیست؟
سلام
باید از کوئری آپدیت استفاده کنید
در این مورد از تابع NZ نمیشه استفاده کرد؟
استاد عالی بود. ممنون
سپاسگزارم خیلی کمکم کرد
با سلام. ممنون بابات آموزش مفید. فقط یه سوال اینکه اگه تعداد شرط ها زیاد شود خطاهای you intered is too complex میده . مثلا یه ستون داریم مدل دستگاه و یک ستون ضریب هر دستگاه که ثابت است. اگر تعداد دستگاهه 20 عدد باشد و بخواهیم وقتی مدل دستگاه وارد شد ضریب آن دستگاه خودکار وارد شود چه باید کرد؟؟ ممنون میشم پاسخ بدید. سپاس
با سلام فایل دانلود کجا قرار دارد ممنون
با سلام . ممنون بابت اموزش ها . سوالی داشتم خواهشا راهنمایی بفرمایید اقای بحری . تعداد زیادی عدد متوالی پشت سرهم دارم که میخوام تک تکشون در کنار یک عدد ثابت در یکی از خونه های یک صفحه که به قسمت های مساوی تقسیم شده قرار بدم باید چکار کنم با تشکر لطفا راهنمایی کنید
سلامباتشکر از مطالب بسیار ارزنده شما میخواستم راهنمایی بفرمایید چگونه میتوان در یک گزارش که از کوئری گرفته میشود شرطی مبنی بر اینکه اگر عدد مورد نظر بیش از صفر بود نشان داده شود در غیر اینصورت عدد صفر منظور شود
سلایا بد از IIF استفاده نمائید
سلام جناب بحری
من با آموزش های شما تا حدودی اکسس و یاد گرفتم یک برنامه صندوق خانوادگی نوشتم میخوام تو فرم شرط بزارم اگه از کد عضویت 100 استفاده کردم فقط خانه های مورد نظر فعال باشد و اگر از کدهای عضویت دیگر استفاده کردم فقط خانه های مربوط به 100 غیر فعال شود امکانش هست چنین شرطی بزارم
سلام استاد بحری عزیز عالی بود
اگر بخواهیم سطر مربوط به یک امتیاز مثلا A کل سطر را به یک رنگ دلخواه دربیاریم چه باید کرد؟