AccessTr.neT
Fonksi̇yon Kullanımı - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: AccessTr.neT Genel (https://accesstr.net/forum-accesstr-net-genel.html)
+--- Forum: Çöp Kutusu (https://accesstr.net/forum-cop-kutusu.html)
+--- Konu Başlığı: Fonksi̇yon Kullanımı (/konu-fonksi%CC%87yon-kullanimi.html)

Sayfalar: 1 2


Fonksi̇yon Kullanımı - orderyazbim - 13/01/2023

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



RE: Fonksiyon Kullanımı - berduş - 13/01/2023

Kod:
=izin(giris;dtarih;ctarih)
olarak deneyebilirsiniz
giris;dtarih;ctarih bu değerler yerine formdaki ilgili alan/metin kutusu adı yazılabilir.


RE: Fonksiyon Kullanımı - orderyazbim - 13/01/2023

(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...


RE: Fonksiyon Kullanımı - berduş - 13/01/2023

Rica ederim
İyi çalışmalar)


Yıllık İzin Foksiyonunun Kullanımı - orderyazbim - 15/01/2023

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.


RE: Yıllık İzin Foksiyonunun Kullanımı - berduş - 15/01/2023

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)