Personel Takip Programı

1 2
11/12/2014, 14:00

POWER

İncelermisiniz...

Lütfen olumlu veya olumsuz geri dönüş yapınız...
11/12/2014, 15:00

Berivan Balkan

sayın power;

Tam olarak istediğim bu değil. 1den 5 yıla kadar 14 gün eklesin ama 6.yıl 20 eklesin yani diyelim ki 6 yıl çalıştı 5*14+1*20 olsun.

yine de emeğiniz için teşekkür ederim.
11/12/2014, 15:26

POWER

Private Sub Form_Current()


A1 = DateDiff("yyyy", Me.ise_giris, Now())
Me.hizmet_yili = A1
If A1 <= 5 Then
   Me.hakettigi_izin = A1 * 14
End If
If A1 >= 5 And A1 <= 14 Then
   Me.hakettigi_izin = 5 * 14 + (A1 - 5) * 20
End If
If A1 >= 15 Then
   Me.hakettigi_izin = 5 * 14 + 9 * 20 + (A1 - 14) * 26
End If
If IsNull(Me.kullanilan_izin) Then Me.kullanilan_izin = 0
Me.kalan_izin = Me.hakettigi_izin - Me.kullanilan_izin
End Sub



Kodu yukarıdaki gibi değiştiriniz...
11/12/2014, 21:33

atoz112

Sayın balkan,

Öncelikle bir hususu belirtmekte ve buna dikkat çekmekte fayda var kanısındayım.

“…diyelim ki bi personel 3 yıl çalıştı.bunun için 3x14 gün eklemesi gerek…” şeklinde bir ifade kullanmışsınız.

4857 SAYILI (YENİ) İŞKANUNU'NDA YILLIK ÜCRETLİ İZİN HAKKI

YILLIK ÜCRETLİ İZİN YÖNETMELİĞİ

Yukarıdaki bağlantılarda yer alan izin kanunu içeriğini ayrıntılı ve dikkatli okumakta fayda var.zira,bu ifadenizde düşünce yöntemi olarak hatalı bir kullanım söz konusu.3 yıl çalışan bir kişinin izin hakkı öyle belirttiğiniz gibi 3x14 olarak topluca izin hakkı sağlanmıyor.senelik olarak kişinin o seneye dair hak ettiği izin süresi olarak 14 gün tahsis edilmektedir.senelik olarak da kayıtlara işlenmektedir. bahsettiğiniz durum,ancak sorgulamalarda o bakılacak güne kadar ki hak ettiği izin toplam süresinin bulunması amacı ile yapılan hesaplamadır.yoksa,3x14 gün hesaplanıyor da öyle izin sağlanıyor anlamında değildir.bu sebeple,izin hak hesaplaması yapılırken,senelik olarak her sene uygun zamanlarda bu ayarlamalar otomatikman gerçekleştirilir.ve kişinin ilgili izin hanesine yazılarak bildirimi de yapılır.sizin de,bu hesaplamaları yaparken,buna dikkat ederek,sadece senelik bazda hesaplamalarını sağlamanız gerekmektedir.diğer elde edilmek istenen sorgulamalar,sadece raporlama anlamında oluşturulmalıdır.


Sizin bu talebiniz şu demeye gelmekte;3 yıl çalışan x bir kişi,kendisine hak tahsis edilen senelik izinlerini,tek tek kullanmayıp bunun yerine toplam (3x14=42 gün) olarak kullanmakta.örneğinize göre de,kullandığı izinler ve kalan izinler belirlenmekte.böyle bir izin kullanımı söz konusu değildir.bu dediğinizden yola çıkıldığında,yine 15 yıl çalışan bir z kişi için 390 gün mü kullanma durumu söz konusu olacak?

Ayrıca,herhangi bir sebepten dolayı veya işten çıkarılma durumu söz konusu da olursa;kullanılmayan kalan izinler mevcut ise,bunlar da sonradan kişinin hak hanesine yazılarak,gerekli hesaplamaları da yapılarak kişiye tahsisi sağlanır.Son olarak,örnek uygulamanızdan yola çıkılacak olunduğunda da,yapılacak açıklama şöyledir;

İşe giriş tarihi belirgin olan x kişinin;
-          hizmet yılı,
-          yıllık izin hakkı,
-          kullandığı izin hakkı,(izin hakkını elde edip,ilk izin gününden itibaren kullanmaya başladığı süreç)
-          kalan izin hakkı (kişinin ne zaman iş başı yapacağının bilinmesini sağlamak amacı ile) şeklindeki tanımlı hususların sorgu sonucunda bulunması işlemleridir.

EK’te;bu hususlara yönelik olarak,örneğinizden yola çıkılarak hazırlanan örnek mevcuttur.inceleyebilirsiniz.örnekteki form üzerindeki kullanılan izin denetimine değer girip çıktığınızda kalan izin değeri otomatik belirecektir.bilgilerinize.

son olarak da,konu Access üzerine olduğu için bu kategoriden ilgili kategoriye taşınmıştır.

İyi çalışmalar,
Saygılar.
12/12/2014, 01:44

simendifer

Sayın balkan, benim gönderdiğim programı sanırım tam incelemediniz bende bir zamanlar bu izin işlemleri için bayagı ugraşmıştım sorunu sagolsun ustaları yardımı ile çözdüm 
sayın atoz112 konuyu bagayı güzel ifade etmiş benim zamanımda (şimdi emekli oldum)1 ile 5 yıl arası 14 gün 5 ile 15 yıl arası 21 gün 15 den sonrası 30 gün senelik izin hakkı vardı ve buna göre gönderdiğim programda formulu düzenlemiştik ilk işe giriş tarihi ile bu günki tarih arasındaki gün sayısını bulup ona göre izin hakkı veriyordu programı dikkatlice inceleyiniz ayrıca resim de formullerin yerlerini gösteriyorum kolay gelsin
18/12/2014, 17:00

Berivan Balkan

Merhaba;

Yardımlarınız için çok teşekkür ederim, ama yönetmeliğe göre değil istendiği gibi kabul görülecekmiş.Biraz uğraşarak ve tabii ki sizin yardımlarınızla Sql kodu ile hallettim.Bu kodu yardıma ihtiyacı olan arkadaşlarla da paylaşmak isterim;

SELECT personel.tc_kimlik, personel.ad_soyad, personel.ise_giris, Format(Now(),"yyyy")-Format([ise_giris],"yyyy") AS hizmet_yili, IIf([a] Between 1 And 5,14*a,+IIf([a] Between 6 And 14,20*a-30,+IIf([a]>=15,26*a-114))) AS hakettigi_izin, personel.yapilan_izin, [hakettigi_izin]-[yapilan_izin] AS kalan_izin, Format(Now(),"yyyy")-Format([ise_giris],"yyyy") AS a
FROM personel;
1 2