AccessTr.neT
Hafta İçi Ötelemeleri - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Hafta İçi Ötelemeleri (/konu-hafta-ici-otelemeleri.html)



Hafta İçi Ötelemeleri - notrino - 07/04/2016

Merhabalar,

Daha önce ekteki güzel çalışmayı göndermiştiniz bana. Öncelikle bunun için tekrar teşekkür ediyorum. Bu çalışma bildiğiniz üzere şunları öteleyerek iş gününü hesaplıyordu;

-Hafta sonlarını (Cumartesi Pazar)
-Tatiller tablosundaki tatil günlerini

Şimdiki ihtiyacım ise, yine bu uygulamanın biraz modifiye edilmesi ile ilgili. Ama nasıl yapacağımı tam olarak bilemedim; Şimdi şunların ötelenmesini istiyorum;

-Hafta içi günlerini (Pztesi......Cuma)
-Tatiller tablosundaki tatil günlerini.

Bu sayede sadece hafta sonu çalışmalarını organize edebileceğim. Yardımcı olursanız sevinirim;

Tşk..


Cvp: Hafta İçi Ötelemeleri - ozanakkaya - 08/04/2016

Modüldeki fonksiyonu aşağıdaki ile değiştirerek deneyiniz.

Function addWorkDays(addNumber As Long, Date2 As Date) As Date


    Dim finalDate As Date
    Dim i As Long, tmpDate As Date
    tmpDate = Date2
    i = 1
    Do While i <= addNumber
        If Weekday(tmpDate) <> 2 And Weekday(tmpDate) <> 3 And Weekday(tmpDate) <> 4 And Weekday(tmpDate) <> 5 And Weekday(tmpDate) <> 6 And _
            DCount("*", "tblHolidays", "HolidayDate = " & Format(tmpDate, "\#mm\/dd\/yyyy\#")) = 0 Then i = i + 1
        tmpDate = DateAdd("d", 1, tmpDate)
    Loop

    Do While Weekday(tmpDate) = 2 Or Weekday(tmpDate) = 3 Or Weekday(tmpDate) = 4 Or Weekday(tmpDate) = 5 Or Weekday(tmpDate) = 6 Or _
        DCount("*", "tblHolidays", "HolidayDate = " & Format(tmpDate, "\#mm\/dd\/yyyy\#")) <> 0
        tmpDate = DateAdd("d", 1, tmpDate)
    Loop

    addWorkDays = tmpDate
End Function