Skip to main content

AccessTr.neT


Çalışılacak iş gününü bulma

Çalışılacak iş gününü bulma

#7
Merhaba atoz112,

Gönderdiğiniz uygulamada startdate = 18.02.2016 ve çalışma gün sayısını 2 girdiğinizde Enddate=21.02.2016 oluyor. Yani pazara denk geliyor. Bir diğer deyişle holiday tablosundaki değere denk geliyor. Halbuki bu değeri de pas geçmeliydi. İşte benim de aşamadığım şeyler bunlar açıkçası. Başka tarihler için çalışıyor gibi görünse de bazı aralıklarda sistem saçmalamaya başlıyor. Nedendir sizce?
Cevapla
#8
Konudaki 5. Mesajı okudunuz mu acaba?
Cevapla
#9
Merhaba ozanakkaya,

Kusura bakmayın, atlamışım. Şimdi okudum mesajı. Evet, genel olarak holiday tabloma haftasonlarını ekleyeceğim. Ama eklemeye de bilirim. Şöyle ki; başka amaçlı uygulamalarımda holiday tablosuna sadece hafta içi tarihlerini (resmi tatiller haftasonuna gelirse o da tatil olmalıdır) girip hafta sonlarını hariç bırakacağım. Çünkü sadece hafta sonu çalışan insanlar için bir uygulama da gündemimde. Şöyle ki; 5 gün çalışması gereken birisi için 20.02.2016 da başlayan işin bitiş tarihi, 06.03.2016 olmalıdır. Dolayısıyla, sistem tamamen holiday tablomdaki tarihleri baz alarak öteleme yapacak şekilde çalışmalıdır. İlerleyen aşamada bu tabloma ramazan bayramı, kurban bayramı gibi değerler tanımladığımda ve hükümet bazen 9-10 gün tatil ilan ettiğinde bu değerleri hemen holiday tablosuna girip en doğru şekilde sistemin çalışmasını sağlamalıyım.

Bu arada sorduğunuz bitiş tarihi 3 Mart olması gerekmiyor mu sorunun cevabı "Evet" doğru söylüyorsunuz..
Cevapla
#10
Tekrar merhaba ozanakkaya,

Gönderdiğiniz çalışmada holiday tablosuna 21.02.2016 dan sonra 22.02.2016 yı da eklediğimde, sistem ötelemeyi yapamıyor. Şöyleki; Startdate : 19.02.2016; Çalışmagünsayısı : 2 olduğunda sonuç bu yeni eklenen 22.02.2016 tarihine göre 24.02.2016 çıkmalıdır. Yani kodlar benim girdiğim holiday listesine göre hareket etmiyor gibi..
Cevapla
#11
Sayın notrino,

Alıntı:...Gönderdiğiniz uygulamada startdate = 18.02.2016 ve çalışma gün sayısını 2 girdiğinizde Enddate=21.02.2016 oluyor. Yani pazara denk geliyor. Bir diğer deyişle holiday tablosundaki değere denk geliyor...

ifadenize yönelik olarak;aşağıdaki açıklamaların yapılması uygun görülmüştür.

StartDate değeri 18/02/2016
WorkingDays değeri 2 olarak var sayarsak,

Kod:
DateAdd("d";[Forms]![Tablo1]![WorkingDays];[Forms]![Tablo1]![StartDate])
fonksiyonu kullanımında karşılık gelen EndDate sonuç değeri 20/02/2016 dır.21/02/2016 değerini yazmaz.

Çünkü;DateAdd fonksiyonu işlem hesaplaması yaparken, "d"; ifadesi ile üzerine gün sayısının dahil edileceği tarihe (burada, StartDate değeri kast edilmektedir) kaç gün sayısı değeri yazdınızsa o kadarını ekler.fakat, sizin hesabınıza göre, EndDate değerinin 21/02/2016 olması için WorkingDays değerine 3 yazmak gerekmektedir.

EK’teki örnek uygulamada yapılan kısaca şu;
StartDate değeri 18/02/2016
WorkingDays değeri 2 olarak yazıldığında,

EndDate sonuç değeri 20/02/2016 çıkar fakat, tblHolidays tablosunda eğer StartDate ile EndDate tarihleri arasında bir tarih ya da tarihler mevcutsa bunların toplam sayısını alır ve sonucu netleştirir.akabinde,eğer çıkan son değer de eğer yine tblHolidays tablosunda varsa bir sonraki nihai çalışma günü olan 23/02/2016 tarihini yazar.

Son olarak;
10.mesajda yazdığınız gibi bir örnek uygulandığında (tblHolidays tablosuna 22/02/2016 tarihini de ekledikten sonra),bahsettiğiniz gibi 24/02/2016 tarihi değil yine 23/02/2016 tarihi elde edilir.

Bilginize…iyi çalışmalar,saygılar.
.rar Example-ATOZ5.rar (Dosya Boyutu: 29,54 KB | İndirme Sayısı: 6)
Herkes, kendisinin AR-GE'cisidir...


Konulara eklenen Uygulama içeriğine yönelik Tavsiyeler
Alt Form Denetim Değerlerine ulaşma ve Alt Form Güncelleme
Kapatırken Düzenle (Compact On Close) Seçeneğinin İşaretlenmesi Hakkında
Cevapla
#12
Eklediğim örnek tablodan bağımsız çalışıyor. Tarihin weekday değirinin 1 ve 7 olanlara bakıyor.

Koddaki weekday yerine Dlookup ile tarihin tabloda olup olmadığına baktırmak gerekli.
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task