Skip to main content

AccessTr.neT


Fonksi̇yon Kullanımı

orderyazbim
orderyazbim
7
437

Fonksi̇yon Kullanımı

#1
Tüm arkadaşlara iyi günler dilerim, Aşağıdaki Yıllık izin hak ediş fonksiyonunu sürekli formda hak ediş sonucunu denetim kutusunda nasıl kullanabilirim. Saygılarımla
'-------------------------------------------------------------------------------------------
Function izin$(giris, dtarih, ctarih)
If ctarih = "" Then
ctarih = Now
Else
ctarih = ctarih
End If

' Kıdem Yılı Hesaplama
a = DateDiff("m", giris, ctarih) ' Ay olarak fark
kidem = Fix(a / 12) ' Tam yılı doldurması için aşağı yuvarladık.

'İşe girdiğindeki yaşı
b = DateDiff("m", dtarih, giris) ' Ay olarak fark
yas = Fix(b / 12) ' Tam yılı doldurması için aşağı yuvarladık.

' Bir yıldan beş yıla kadar (beş yıl dahil) olanlara ondört günden,
' Beş yıldan fazla onbeş yıldan az olanlara yirmi günden,
' Onbeş yıl (dahil) ve daha fazla olanlara yirmialtı günden
' Ancak onsekiz ve daha küçük yaştaki işçilerle elli ve daha yukarı yaştaki işçilere
' verilecek yıllık ücretli izin süresi yirmi günden az olamaz.

' İzin Kidem yılını doldurmayanalar
If kidem = 0 Then
Sonuc = 0
' İzin Kıdem yılını beş yıla kadar olanlar
ElseIf kidem > 0 And kidem <= 5 Then
'İşe girme yaşı 18'den küçük olanlar
If yas > 14 And yas < 18 Then
d = kidem - (18 - yas)
If d < 0 Then
fark = 0
Else
fark = d
End If

Sonuc = kidem * 20 - fark * 6
' İşe girme yaşı 19 ile 44 arasında olanlar
ElseIf yas > 17 And yas < 45 Then
Sonuc = kidem * 14
'İşe girme yaşı 45-48 arasında olanlar
ElseIf yas >= 45 And yas < 49 Then
c = kidem - (49 - yas)
If c < 0 Then
fark = 0
Else
fark = c
End If

Sonuc = kidem * 14 + fark * 6
'İşe girme yaşı 49 dan büyük olanlar
Else
Sonuc = kidem * 20
End If

' İzin kıdem yılı beş yıl ile onbeş yıl olanlar
ElseIf kidem > 5 And kidem < 15 Then

'İşe girme yaşı 18'den küçük olanlar
If yas > 14 And yas < 18 Then
d = 5 - (18 - yas)
If d < 0 Then
fark = 0
Else
fark = d
End If

Sonuc = kidem * 20 - fark * 6
' İşe girme yaşı 19 ile 44 arasında olanlar
ElseIf yas > 17 And yas < 45 Then
Sonuc = kidem * 14 + (kidem - 5) * 6
'İşe girme yaşı 45-48 arasında olanlar
ElseIf yas >= 45 And yas < 49 Then
c = kidem - (49 - yas)
If c < 0 Then
fark = 0
Else
fark = c
End If

Sonuc = kidem * 14 + fark * 6 + (kidem - 5) * 6
'İşe girme yaşı 49 dan büyük olanlar
Else
Sonuc = kidem * 20
End If

' İzin kıdem yılı onbeşyıl ve fazla olanlar
Else

'İşe girme yaşı 18'den küçük olanlar
If yas > 14 And yas < 18 Then
d = 5 - (18 - yas)
If d < 0 Then
fark = 0
Else
fark = d
End If

Sonuc = kidem * 20 - fark * 6 + (kidem - 14) * 6
' İşe girme yaşı 19 ile 44 arasında olanlar
ElseIf yas > 17 And yas < 45 Then
Sonuc = kidem * 14 + (kidem - 5) * 6
'İşe girme yaşı 45-48 arasında olanlar
ElseIf yas >= 45 And yas < 49 Then
c = kidem - (49 - yas)
If c < 0 Then
fark = 0
Else
fark = c
End If

Sonuc = kidem * 14 + fark * 6 + (kidem - 5) * 6 + (kidem - 14) * 6
'İşe girme yaşı 49 dan büyük olanlar
Else
Sonuc = kidem * 20 + (kidem - 14) * 6
End If

End If


izin$ = Sonuc

End Function
Cevapla
#2
Kod:
=izin(giris;dtarih;ctarih)
olarak deneyebilirsiniz
giris;dtarih;ctarih bu değerler yerine formdaki ilgili alan/metin kutusu adı yazılabilir.
Cevapla
#3
(13/01/2023, 12:04)berduş yazdı:
Kod:
=izin(giris;dtarih;ctarih)
olarak deneyebilirsiniz
giris;dtarih;ctarih bu değerler yerine formdaki ilgili alan/metin kutusu adı yazılabilir.


Sayın berduş yardımlarınız için teşekkür ederim Saygılarımla...
Cevapla
#4
Rica ederim
İyi çalışmalar)
Cevapla
#5
Tüm Form üyesi arkadaşlara iyi hafta sonları dilerim. Saygıdeğer arkadaşlar ekte gönderdiğim Vt de yine buradan örnek aldığım "İzinFoksiyon" modülündeki fonksiyonu örnek formuma uygulamaya çalıştım fakat form üyelerinden (Sayın; Berduş) yapılan  yardımlara rağmen yapamadım. Ekteki örneğe uygulanmasında yardımcı olmanızı rica eder şimdiden teşekkür eder saygılarımı sunarım.
.rar ÖrnekVt.rar (Dosya Boyutu: 207,94 KB | İndirme Sayısı: 1)
Cevapla
#6
açıklamanız yetersiz:
izin fonksiyonu 3 girdi istiyor (giris, DTarih, ctarih) bunlar tabloda/formda hangi alanlara denk geliyor?
ayrıca bu konu aslında diğer konuyla aynı yeni konu açmaya gerek yoktu, orda uygulayamadığınızı belirtip devam edebilirdiniz
Not: dilerim örnek dosya eklemenin neden önemli olduğunu anlamışsınızdır)
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da