Kod:
'Kayıt Aktarılacak Personel Sicillerini Alacağız
Dim dbsizinaktar As DAO.Database
Dim rstizinaktar As DAO.Recordset
Dim dbpathizinaktar As String
dbpathizinaktar = DLookup("yol", "yol")
Set dbsizinaktar = DBEngine.OpenDatabase(dbpathizinaktar)
Set rstizinaktar = dbsizinaktar.OpenRecordset("SELECT * FROM anatablo WHERE ((anatablo.GörevDurumu)='" & "GÖREVE BAŞLADI')")
With rstizinaktar
.MoveLast
.MoveFirst
Do While Not .EOF
'siciller sıralanıyor
Dim rstizinaktar1 As DAO.Recordset
Dim izin As Integer
izin = 0
' Kullandığı İzinler Hesaplanıyor
Set rstizinaktar1 = dbsizinaktar.OpenRecordset("SELECT * FROM Izin WHERE (Izin.Sicili)=" & !Sicili)
If rstizinaktar1.RecordCount <> 0 Then
With rstizinaktar1
.MoveLast
.MoveFirst
Do While Not .EOF
izin = izin + !KullandigiIzin
.MoveNext
Loop
.Close
End With
End If
'Hakettiği İzinler Hesaplanıyor
Dim rstizinaktar2 As DAO.Recordset
Dim izinhak As Integer
izinhak = 0
Set rstizinaktar2 = dbsizinaktar.OpenRecordset("SELECT * FROM Izin WHERE (Izin.Sicili)=" & !Sicili)
If rstizinaktar2.RecordCount <> 0 Then
With rstizinaktar2
.MoveLast
.MoveFirst
Do While Not .EOF
izinhak = izinhak + !HakettigiIzin
.MoveNext
Loop
.Close
End With
End If
'Yıllık İzin Girişi Yapılıyor
Dim rstizinaktar3 As DAO.Recordset
Set rstizinaktar3 = dbsizinaktar.OpenRecordset("SELECT * FROM Izin ")
rstizinaktar3.AddNew
rstizinaktar3!Sicili = !Sicili
rstizinaktar3!Adi = !Adi
rstizinaktar3!Soyadi = !Soyadi
rstizinaktar3!GörevYeri = !GörevYeri
rstizinaktar3!SubeBüro = !SubeBüro
rstizinaktar3!IzinYili = Year(Date)
rstizinaktar3!IzinTürü = "YILLIK İZİN GİRİŞİ"
rstizinaktar3!BaslamaTarihi = Date
'Toplam İzin hakkı - kullandığı izin hakkı yıllık izin hakkından büyükse
If (izinhak - izin) > !YillikIzinGunu Then
'yıllık izin hakkı olarak kalan izninden yıllık izin hakkını çıkarıyoruz
rstizinaktar3!HakettigiIzin = (!YillikIzinGunu * 2) - (izinhak - izin)
rstizinaktar3!Açiklama = "Yıllık İzin Hakkından Geçen Yılın Fazlalık İzni Düşülmüştür"
Else
'değilse normal izin hakkını giriyoruz
rstizinaktar3!HakettigiIzin = !YillikIzinGunu
End If
rstizinaktar3!Onay = -1
rstizinaktar3.Update
rstizinaktar3.Close
.MoveNext
Next I
Loop
.Close
End With
dbsizinaktar.Close