Bu dosya, personelin yıllık izinlerini bir form üzerinden kaydetmenizi ve silmenizi sağlar. İzin başlangıç tarihi ile gün sayısını girdiğinizde izin bitiş tarihi ve işbaşı tarihi otomatik hesaplanır. Dosya VBA ve ADO sorguları ile hazırlanmış bir kayıt örneğidir, aynı zamanda bu tekniklerin nasıl kullanıldığını incelemek isteyenler için öğreticidir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosya makro içerir, açarken makroları etkinleştirmeniz gerekir.
Dosyanın içeriği
- PERSONEL: Sicil no, soyadı, doğum tarihi ve çıkış tarihi gibi personel bilgilerinin tutulduğu sayfa. Örnek olarak sicil no 10200 olan bir kayıt vardır.
- OUT_YILLIKIZIN: Girilen izinlerin kaydedildiği sayfa. Sicil no, soyadı, izin başlangıç ve bitiş tarihi sütunları bulunur; örnekte aynı personele ait 5 izin kaydı yer alır.
- TATILLER: Resmi tatil ve bayram tarihlerinin listelendiği sayfa (A sütunu). İzin gün hesabı bu listeyi kullanır.
Makrolar
- Workbook_Open / Workbook_BeforeClose: Dosya açılırken ve kapanırken sayfaların kaydırma alanını kısıtlar. Açılışta PERSONEL sayfasının ilk satırı boşsa personel kaydı yapmanızı ister; kabul etmezseniz dosya kapanır.
- İzin_Gir: İzin giriş formunu (UserForm1) açar. Personel kaydı yoksa yine uyarı verir.
- İzin_Sil: Silmek istediğiniz satırın numarasını sorar, kayıt bilgilerini gösterir ve onayınızla satırı siler.
- UserForm1: Personel listesini ADO ile PERSONEL sayfasından okur ve yalnızca çıkış tarihi boş olanları listeler. Seçilen kişi için aynı tarihi kapsayan bir izin varsa uyarı verir ve kaydı yapmaz; yoksa izni kayıt sayfasına ekler. Tarih alanına yazarken noktaları otomatik koyar. Kapat düğmesi onay sorarak dosyayı kapatır.
- YillikIzinBitis ve YillikIzinIsBasi: Pazar günlerini ve TATILLER sayfasındaki tarihleri izin gününden saymaz; bitiş ve işbaşı tarihlerini bulur. Gün sayısı 0 veya altındaysa "Hata" döner.
- izinbul: Hizmet yılı ve yaşa göre 14, 20 veya 26 gün izin hakkı hesaplayan yardımcı fonksiyondur.
- AdoDIZI, AdoKayitOku, AdoVeriIslemi, SQLM, Varmi: Sorgu ve yardımcı işlemler içindir.
Nasıl kullanılır
- Dosyayı açın ve makroları etkinleştirin.
- PERSONEL sayfasına personel kayıtlarını girin.
- TATILLER sayfasına resmi tatil ve bayram tarihlerini yazın.
- İzin_Gir makrosunu çalıştırın; personeli seçin, başlangıç tarihini (gg.aa.yyyy) ve gün sayısını girin.
- Hesaplanan bitiş ve işbaşı tarihlerini kontrol edip kaydet düğmesine basın.
- Bir izni silmek için İzin_Sil makrosunu çalıştırın ve satır numarasını girin.