- Katılım
- 29 Ocak 2008
- Mesajlar
- 30
- Excel Vers. ve Dili
- office 2007
- Altın Üyelik Bitiş Tarihi
- 01.06.2018
Aşağıdaki vb koduna nasıl sorgu ve form hazırlanabilir. Yardımcı olursanız çok memnun olacağım.
Kod:
Public Function GecikmeZammi(tur As String, date1 As Date, date2 As Date, borc As Currency) As Currency
'tur İşlem türünü, date1 tahakkuk tarihi 01.09.2007 veya fatura tarihi 17.09.2007, date2 ise ödeme tarihini, borc ise ödenmesi gereken miktarı gösteriyor
Dim ay, gun As Integer
Dim date3, SonOdemeGunu, OdemeGunu As Date
OdemeGunu = date2
If tur = "Yakıt" Then
SonOdemeGunu = DateAdd("d", -3, date1) 'İşlem Türü yakıtsa son ödeme günü faturadan 3 gün önce
ElseIf tur = "Aidat" Then
SonOdemeGunu = LastOfThisMonth(date1) 'İşlem türü aidat ise ozaman son ödeme günü ayın son günü
End If
If SonOdemeGunu >= OdemeGunu Then
GecikmeZammi = 0 'Son ödeme günü ödeme gününden büyük ve eşitse gecikme 0 YTL
Else
ay = DateDiff("m", SonOdemeGunu, OdemeGunu)
date3 = DateAdd("m", ay, SonOdemeGunu)
gun = DateDiff("d", date3, OdemeGunu)
GecikmeZammi = borc * (ay * 10 + gun * 10 / 30) / 100
End If
End Function
Function LastOfThisMonth(dtm As Date) As Date
LastOfThisMonth = DateAdd("d", -1, DateSerial(Year(dtm), Month(dtm) + 1, 1))
End Function
Kod:
Public Function GecikmeZammi(tur As String, date1 As Date, date2 As Date, borc As Currency) As Currency
'tur İşlem türünü, date1 tahakkuk tarihi 01.09.2007 veya fatura tarihi 17.09.2007, date2 ise ödeme tarihini, borc ise ödenmesi gereken miktarı gösteriyor
Dim ay, gun As Integer
Dim date3, SonOdemeGunu, OdemeGunu As Date
OdemeGunu = date2
If tur = "Yakıt" Then
SonOdemeGunu = DateAdd("d", -3, date1) 'İşlem Türü yakıtsa son ödeme günü faturadan 3 gün önce
ElseIf tur = "Aidat" Then
SonOdemeGunu = LastOfThisMonth(date1) 'İşlem türü aidat ise ozaman son ödeme günü ayın son günü
End If
If SonOdemeGunu >= OdemeGunu Then
GecikmeZammi = 0 'Son ödeme günü ödeme gününden büyük ve eşitse gecikme 0 YTL
Else
ay = DateDiff("m", SonOdemeGunu, OdemeGunu)
date3 = DateAdd("m", ay, SonOdemeGunu)
gun = DateDiff("d", date3, OdemeGunu)
GecikmeZammi = borc * (ay * 10 + gun * 10 / 30) / 100
End If
End Function
Function LastOfThisMonth(dtm As Date) As Date
LastOfThisMonth = DateAdd("d", -1, DateSerial(Year(dtm), Month(dtm) + 1, 1))
End Function