sayın notrino,
10.mesajdaki örnek uygulama güncellenmiştir.inceleyebilirsiniz.
bilginize...iyi çalışmalar,saygılar.
Çalışılacak Haftasonu Uygulaması
Merhaba Sayın Atoz112,
10.örnekte güncellenen örneği inceledim ama bir değişiklik göremedim. Şöyle ki; mesajda da belirttiğim gibi 9 Nisanda işe başlandığında 5 günlük hafta sonu çalışması, 23 Nisan ötelemesi ile birlikte ,çalışma bitiş tarihini 30 Nisan olmasını gerektiriyor. Aksi halde 24 Nisan, çalışmanın bitiş tarihi algılanıyor ve kişi kendini tatilde sanabilir. Halbuki 24 ünde çalışmak zorunda..
10.örnekte güncellenen örneği inceledim ama bir değişiklik göremedim. Şöyle ki; mesajda da belirttiğim gibi 9 Nisanda işe başlandığında 5 günlük hafta sonu çalışması, 23 Nisan ötelemesi ile birlikte ,çalışma bitiş tarihini 30 Nisan olmasını gerektiriyor. Aksi halde 24 Nisan, çalışmanın bitiş tarihi algılanıyor ve kişi kendini tatilde sanabilir. Halbuki 24 ünde çalışmak zorunda..
Sayın notrino,
ifadenize yönelik olarak;
Eklenen örnek uygulamada görüleceği üzere,eğer başlangıç tarihi 9 Nisan olacaksa ve çalışılan gün de 5 gün olacaksa ve son olarak da tatil tablosunda 23 Nisan tarihi geçerli olacaksa,elde edilecek sonuç 24 Nisan tarihidir.
Çünkü;başlangıç tarihine 5 çalışma günü eklediğinizde o tarihten itibaren 5 iş gününün başlangıç tarihi 23 Nisandır fakat bu tarih de tatil tablosunda yer aldığı için bir sonraki işe başlama tarihi dolayısı ile de bir ertesi gün olan 24 Nisan olmalıdır.bu nedenle de,istenilen sonuç elde ediliyor görülmektedir.eğer 6 günlük bir çalışma olsaydı dediğiniz 30 Nisan tarihi geçerli olacaktı.elbette,bu açıklama bana göre böyledir anlamındadır.
Bilginize…iyi çalışmalar,saygılar.
Alıntı:...10.örnekte güncellenen örneği inceledim ama bir değişiklik göremedim...
ifadenize yönelik olarak;
Eklenen örnek uygulamada görüleceği üzere,eğer başlangıç tarihi 9 Nisan olacaksa ve çalışılan gün de 5 gün olacaksa ve son olarak da tatil tablosunda 23 Nisan tarihi geçerli olacaksa,elde edilecek sonuç 24 Nisan tarihidir.
Çünkü;başlangıç tarihine 5 çalışma günü eklediğinizde o tarihten itibaren 5 iş gününün başlangıç tarihi 23 Nisandır fakat bu tarih de tatil tablosunda yer aldığı için bir sonraki işe başlama tarihi dolayısı ile de bir ertesi gün olan 24 Nisan olmalıdır.bu nedenle de,istenilen sonuç elde ediliyor görülmektedir.eğer 6 günlük bir çalışma olsaydı dediğiniz 30 Nisan tarihi geçerli olacaktı.elbette,bu açıklama bana göre böyledir anlamındadır.
Bilginize…iyi çalışmalar,saygılar.
Merhaba,
daha önce gönderdiğiniz "standart iş günü" uygulamasını incelerseniz sanırım sistemin çalışmasını net olarak göreceksiniz. Şöyleki; standart iş günü uygulamasında Örneğin 14.04.2016 olarak verilen başlama tarihine 3 iş günü eklersek, bitiş tarihi; 19.04.2016 oluyor.Kesinlikle 3. iş gününü dahil eden 18.04.2016 olmuyor. Bu yüzdendir ki haftasonu tatil uygulamalarını içeren çalışmada da aynı mantık işlemeli. Sizin bahsettiğiniz uygulamada da 24 Nisanın dahil olmaması lazım..İş günü mantığına aykırı oluyor..
daha önce gönderdiğiniz "standart iş günü" uygulamasını incelerseniz sanırım sistemin çalışmasını net olarak göreceksiniz. Şöyleki; standart iş günü uygulamasında Örneğin 14.04.2016 olarak verilen başlama tarihine 3 iş günü eklersek, bitiş tarihi; 19.04.2016 oluyor.Kesinlikle 3. iş gününü dahil eden 18.04.2016 olmuyor. Bu yüzdendir ki haftasonu tatil uygulamalarını içeren çalışmada da aynı mantık işlemeli. Sizin bahsettiğiniz uygulamada da 24 Nisanın dahil olmaması lazım..İş günü mantığına aykırı oluyor..
Modüldeki kodu aşağıdaki ile değiştirerek deneyebilir misiniz?
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
Merhaba Ozan Bey,
Evet oldu, aradığım buydu. Teşekkür ederim.
Evet oldu, aradığım buydu. Teşekkür ederim.
Konuyu Okuyanlar: 1 Ziyaretçi