• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü İzin Kayıt Hesaplamasında Hatalı Hesaplama

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

merttr07

Yeni Üye
Katılım
25 Ara 2021
Mesajlar
199
Çözümler
2
Aldığı beğeni
16
Excel V
Office 2013 TR
Konu Sahibi
frmIzinKullanim UserForm sayfasında yaptığım hesaplamada bir hata var sanırım izinleri bir gün fazladan hesaplıyor. Çok baktım ama çözemedim yardımcı ola bilecek arkadaşlar varsa sevinirim.
HTML:
Kod:
İçeriği görebilmek için Giriş yap ya da Üye ol.

Yapmış olduğum hesaplama kodu. Bu kod frmIzinKullanim
Bu bağlantı ziyaretçiler için gizlenmiştir. Görmek için lütfen giriş yapın veya üye olun.
içerisinde
 
Çözüm
Merhaba
İzin bitiş tarihi sayılmayacak ise;
For i = o To gun -1 yapın yeterli olacaktır.
Bu durumda izin başlangıç ve bitiş tarihleri aynı olunca hata verecektir bu durumu da baştaki izin başlangıç ve bitiş tarihleri boş olamaz koşuluna ekleme yaparsınız Or txtBitisTarihi = txtBaslangicTarihi Then " Başlangıç Tarihi ile Bitiş Tarihi boş yada aynı olamaz " şeklinde ekleme yaparsınız.
Kişi bir günlük izin kullanacaksa İşe başlama tarihini İzin bitiş tarihi olarak yazmanız gerekecek. Ki zaten olması gereken o.

Cuma gününe denk gelse bile İzin Bitiş tarihi Cumartesi olarak yazılacak. Önemli olan buradaki kullandığı gün sayısının tespiti.

Not: İzin günlerini hesaplarken İzin başlangıç ve bitiş tarihleri arasına denk gelen Resmi tatilleri...
Merhaba.
İzin bitiş tarihinin izne dahil olup olmadığına göre hesaplama değişir.
Örneğin 02.04.2022 de izne çıkan bir kişinin izin bitiş tarihinin 06.04.2022 olduğunu düşünelim. 06.04.2022 işe başlayacağı tarih ise kullanılan izin 4 gün, 06.04.2022 izin bitişi işe başlaması 07.04.2022 ise kullanılan izin 5 gün olur.
Aynı şekilde izne çıkış tarihi de önemli. yine aynı örnekten hareketle 02.04.2022 mesai bitiminde izne çıktıysa ertesi gün iznin ilk günü olacağından kullanılan izin gün sayısı değişecektir. Bu nedenle bu durumları belirtirseniz iyi olur.

Ayrıca her personelin hafta sonu günü farklı olabilir. İllaki Pazar olacak diye bir zorunluluk yok. Buda izin hesaplamasında yapılan yanlışlardan birisi. Vardiyalı sistemlerde bir personelin Hafta tatili Çarşamba iken diğer personelin Perşembe olabiliyor. Bu durumlarda izinin başlangıç tarihi önem arz ediyor. Yukarıda belirttiğim gibi iznin başlangıç tarihi değişiyor.
 
Konu Sahibi
Merhaba.
İzin bitiş tarihinin izne dahil olup olmadığına göre hesaplama değişir.
Örneğin 02.04.2022 de izne çıkan bir kişinin izin bitiş tarihinin 06.04.2022 olduğunu düşünelim. 06.04.2022 işe başlayacağı tarih ise kullanılan izin 4 gün, 06.04.2022 izin bitişi işe başlaması 07.04.2022 ise kullanılan izin 5 gün olur.
Aynı şekilde izne çıkış tarihi de önemli. yine aynı örnekten hareketle 02.04.2022 mesai bitiminde izne çıktıysa ertesi gün iznin ilk günü olacağından kullanılan izin gün sayısı değişecektir. Bu nedenle bu durumları belirtirseniz iyi olur.

Ayrıca her personelin hafta sonu günü farklı olabilir. İllaki Pazar olacak diye bir zorunluluk yok. Buda izin hesaplamasında yapılan yanlışlardan birisi. Vardiyalı sistemlerde bir personelin Hafta tatili Çarşamba iken diğer personelin Perşembe olabiliyor. Bu durumlarda izinin başlangıç tarihi önem arz ediyor. Yukarıda belirttiğim gibi iznin başlangıç tarihi değişiyor.
İzin bitiş tarihini saymaması gerek çünkü izin dönüş tarihi olarak geçiyor. Memur personeller hariç diğer tüm personellerde hafta tatili izni düşer sayılmaz. Yukarıda verdiğiniz ilk örnek gibi olması gerek yani 4 gün olarak sayması gerek. Örneğin 12.04.2022 başlama bitiş 14.04.2022 2 gün olarak hesaplaması gerek. Ama ne yazık ki 3 gün olarak hesaplıyor.
 
Merhaba
İzin bitiş tarihi sayılmayacak ise;
For i = o To gun -1 yapın yeterli olacaktır.
Bu durumda izin başlangıç ve bitiş tarihleri aynı olunca hata verecektir bu durumu da baştaki izin başlangıç ve bitiş tarihleri boş olamaz koşuluna ekleme yaparsınız Or txtBitisTarihi = txtBaslangicTarihi Then " Başlangıç Tarihi ile Bitiş Tarihi boş yada aynı olamaz " şeklinde ekleme yaparsınız.
Kişi bir günlük izin kullanacaksa İşe başlama tarihini İzin bitiş tarihi olarak yazmanız gerekecek. Ki zaten olması gereken o.

Cuma gününe denk gelse bile İzin Bitiş tarihi Cumartesi olarak yazılacak. Önemli olan buradaki kullandığı gün sayısının tespiti.

Not: İzin günlerini hesaplarken İzin başlangıç ve bitiş tarihleri arasına denk gelen Resmi tatilleri vs dikkate alıyor musunuz. ?
 
Çözüm
Konu Sahibi
gun = (CDate(txtBitisTarihi) - CDate(txtBaslangicTarihi)) - 1 bunu yaparak çözdüm teşekkürler
 
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst