کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی
کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

کلینیک فوق تخصصی اکسس ( کاربرد vba در اکسس )

به اشتراک گذاری اطلاعات کسب شده در اکسس از سایت آفیس و سایت های تخصصی خارجی

اقساط وام


تخصیص اقساط وام مشتری بمبلغ 3,800,000 بمدت 36 ماه در جدول LoanDetail ( جزئیات وام دریافتی توسط اشخاص )



105,555.555=36÷3,800,000


105555=36\3,800,000

      باقیمانده ی تقسیم یا  مود با فاصله    !!!     3,800,000Mod36=20


   105000=1000×(1000\(36\3,800,000))

555=1000×(1000\((36\3,800,000)))-(36\3,800,000)


125000=36×1-105000+20+555

3,675,000=35×2-105000


طبق عملیات بالا قسط اول میشود 125000 و قسط دوم تا 36میشود 105000 و بنابراین در جدول LOANDETAIL که شامل CUSTOMERID LOANID LOANNUM LOANDT AMOUNT هست طبق زیر اپند را انجام می دهیم فرم ورود اطلاعات ایجاد اقساط وام FRM_LOAN هست .


 زمان ایجاد اقساط وقتی طبق آیدی مشتری و آیدی وام  که در جدول واسط ایجاد شده در جدول LOANDETAIL رکوردی ثبت نشده و تابع DLOOKUP نال ولیو ( NULL ) را برمی گرداند نتیجتا قسمت دوم در تابع DLOOKUP که FALSE است اجرا شده و قسط اول 125000 اپند میشود و زمان اپند کردن قسط دوم به آخر چون رکورد ایجادشده و دیگر NULL نیست قسمت TRUE اجرا خواهد شد که همان 105000 می باشد اپند در بین حلقه ی FOR.... NEXT قرار می گیرد فرضا اگر کوئری اپند APP_LOANDETAIL باشد میشود : 


DIM I AS INTEGER

FOR I=1 TO ME.PERIOD

DOCMD.SETWARNINGS FALSE

"DOCMD.OPENQUERY "APP_LOANDETAIL

DOCMD.SETWARNINGS TRUE

NEXT


اکسپرژن مربوط به اضاف کردن مبلغ هر قسط در جدول دیتیل اقساط ...  محدودیت تعداد  کاراکتر در اکسپرژن ،  ۱۰۲۴ کاراکتر است .



(IIf ( expr , truepart , falsepart

)Iif

Dlookup("Amount","LoanDetail","CustomerId & LoanId=" & 

(forms!loan!CustomerId & forms!loan!LoanId

,

 (forms!loan!Amount\forms!loan!period)\1000)×1000))

, 

(forms!loan!Amount\forms!loan!period)\1000)×1000))

forms!loan!period×((forms!loan!Amount\formd!loan!period)+

-(forms!loan!Amount\formd!loan!period)\1000)

forms!loan!Amount Mod forms!loan!period+

(




با پیش پرداخت 50,000 



برای AddMonth بدون درنظر گرفتن کانتریا سال کبیسه کافیه توسط  تابعی سال ماه و روز را گرفته و به ماه یک عدد اضافه کنیم در خط بعد اگر ماه از ۱۲ بزرگتر شد ماه یک میشود و سال یکی بدان اضافه خواهد شد روز هم همان در نظر گرفته میشود فقط تنها مشکل اینه که اگر فرضا سالی کبیسه نباشد و کسی ۳۰ بهمن وام گرفته باشد با توجه به تابع بالا قسط اول ۳۰ اسفند میشود درصورتیکه اسفندماه ۲۹ روز ه هست پس سعی کنید بازه ی وام بین ۱ تا ۲۹ آن ماه باشد حتی فرض کنید کسی وامی را ۳۱ شهریور گرفته باشد در اینصورت طبق روش بالا میتوانیم برای رفع این مشکل بگوئیم اگر ماه بزرگتر از ۶ شد و اگر روز بزرگتر از ۳۰ بود همان ۳۰را درنظر بگیرد