با سلام
من هم یه طرحی مثل این برای امتیاز بندی واریزیها از طریق کوئری داشتم، و تا حدودی هم پیش رفتم ولی الان فایلش رو دم دست ندارم بزارم، پیشنهاد میکنم شما کلیه امتیاز واریزیها رو حساب کنید و بالاترین امتیاز رو درنظر بگیرید. یه سری پیشنهاد دارم که شاید در طراحی کوئری بدرد بخوره:
1- حتما تو جدول یک فیلد منحصر بفرد از نوع Auto Number مثلا [ID] و یک فیلد تاریخ بصورت 8 رقمی [Tarikh] داشته باشید.
2- روش امتیاز دهی رو میشه مثل بانکها استفاده کرد مثلا هر 100000 تومان هر روز یک امتیاز با توجه به تاریخ واریز.
3- یک کوئری از جدول واریزی با فیلتر کد شخص بسازید و علاوه بر فیلدهای جدول مثل id و تاریخ و مبلغ واریز ،یک فیلد ترکیبی [ID] & [Tarikh] با فرمت تعداد کارکتر یکسان برای همه رکوردها داشته باشید. البته از ID هم میشه به تنهایی استفاده کرد ولی اگه اولش تاریخ باشه شما اگه واریزیهای رو جلو عقب ثبت کنید در موقع sort کردن به ترتیب تاریخ مرتب میشه
4- توابع تاریخ شمسی رو هم داشته باشید و در کوئری یک فیلد تفاوت تعداد روز تاریخ واریز با تاریخ فعلی رو ایجاد کنید.
5- یک فیلد امتیاز هم در کوئری بسازید و در اون میتونید فیلد تعداد روز را در مبلغ واریز با توجه به هر 100 تومن یک امتیاز ضرب کنید مثلا اگه واریزی 1 خرداد 200000 تومن بوده و 5 خرداد 150000 واریز شده . امتیاز این تا 10 خرداد بصورت زیر محاسبه میشه: برای رکورد 1 خرداد 200000/100000 ضرب تعداد 10 روز، 20 امتیاز و برای رکورد 5 خرداد، 7.5 امتیاز محاسبه میشه که اگه ازین جمع بگیریم جمعا 27.5 امتیاز خواهد شد. و شما بعدا میتونید بر مبنای بالاترین امتیاز هر شخص عمل کنید
6- گاهی شما باید از چندین کوئری استفاده کنید که هر کدوم بر مبنای کوئری قبلی ساخته شده
حالا نمدونم چقدر تونستم منظورم را برسونم