06/02/2017, 23:52
Andruil
Arkadaşlar,
Access dosyasını banka içi özeli olduğu için paylaşamıyorum, anlayışınız için teşekkür ederim.
Aşağıda yazdığım kod daha sadeleştirilebilir ya da size karmaşık gelebilir ama benim işimi çözüyor.
Kodun mantığını özetlemek gerekirse;
Örneğin kredi kullanım tarihi 01.01.2017. 240 gün vadeli kredi kullanacak. Öncelikle kullanım tarihine kredi vadesini ekleyip 1 gün üzerine koyuyor. Banka iç işleyiş nedeni ile üzerine 10 iş günü ekliyor. Belirlenmiş listedeki tatil günü içerisinde kalıp kalmadığını ve hafta içi gününe denk gelip gelmediğini kontrol ediyor. 10 iş gününü hesaplarken öncelikle 1 koyuyor ve tatil gününe denk gelip gelmediğini ve hafta içi durumunu kontrol ediyor. Tatil gününe ya da haftasonuna denk gelirse i değerini artırmadan son günü artırıp tekrar başa dönüyor. Tatil gününe ve haftasonuna denk gelmezse i değerini ve son günü 1 artırıp tekrar başa dönüyor. i değeri 10 olana kadar bu işlemi yapıyor. Sonrasında son vadeyi bularak kod diğer işlemlerine devam ediyor.
Bu koda iş günü olarak kısa bir tarih eklenecekse kullanılabilir ama uzun bir süre eklenecekse kullanıp kullanmak size kalmış.
Access dosyasını banka içi özeli olduğu için paylaşamıyorum, anlayışınız için teşekkür ederim.
Aşağıda yazdığım kod daha sadeleştirilebilir ya da size karmaşık gelebilir ama benim işimi çözüyor.
If cboAsliTeminat.Column(0) = 1 Or cboAsliTeminat.Column(0) = 2 Then
txtAsliVade = txtKrediVadesi + 1
i = 1
TMKontrol1:
If i < 11 Then
Haftaİçi = Weekday(txtAsliVade, vbMonday)
TatilK = DCount("USD_Tarih", "tblTatilUSD", "USD_Tarih =#" & Format(txtAsliVade, "mm-dd-yyyy") & "#")
If TatilK > 0 Or Haftaİçi > 5 Then
txtAsliVade = txtAsliVade + 1
GoTo TMKontrol1
Else
If i = 10 Then
GoTo TMKontrol2
End If
txtAsliVade = txtAsliVade + 1
i = i + 1
Haftaİçi = Weekday(txtAsliVade, vbMonday)
GoTo TMKontrol1
End If
Else
GoTo TMKontrol2:
End If
End If
Kodun mantığını özetlemek gerekirse;
Örneğin kredi kullanım tarihi 01.01.2017. 240 gün vadeli kredi kullanacak. Öncelikle kullanım tarihine kredi vadesini ekleyip 1 gün üzerine koyuyor. Banka iç işleyiş nedeni ile üzerine 10 iş günü ekliyor. Belirlenmiş listedeki tatil günü içerisinde kalıp kalmadığını ve hafta içi gününe denk gelip gelmediğini kontrol ediyor. 10 iş gününü hesaplarken öncelikle 1 koyuyor ve tatil gününe denk gelip gelmediğini ve hafta içi durumunu kontrol ediyor. Tatil gününe ya da haftasonuna denk gelirse i değerini artırmadan son günü artırıp tekrar başa dönüyor. Tatil gününe ve haftasonuna denk gelmezse i değerini ve son günü 1 artırıp tekrar başa dönüyor. i değeri 10 olana kadar bu işlemi yapıyor. Sonrasında son vadeyi bularak kod diğer işlemlerine devam ediyor.
Bu koda iş günü olarak kısa bir tarih eklenecekse kullanılabilir ama uzun bir süre eklenecekse kullanıp kullanmak size kalmış.