16/02/2022, 10:11
Fonksiyonu Sorgudaki Her Kayıt İçin Ayrı Çalıştırma
16/02/2022, 12:51
berduş
veriler
VERGI fonksiyonunu aşağıdaki gibi
AylıkMatrah = Dlookup ("[GVMatrahi]", "hesapla")
BirikimliMatrah = Dlookup ("[Kumulatif]", "s_kumulatif")
bu 2 değer üzerinden alınıyor ama siz bu alanlara kriter girmediğiniz için doğrudan ilgili sorgu/tablodaki ilk veriyi alıyorlar hata bundan kaynaklanıyor gibiVERGI fonksiyonunu aşağıdaki gibi
Function VERGI(ByVal xKimlik As Long, ByVal AylıkMatrah As Currency) As Currency
Dim Barem1, Barem2, Barem3, Barem4, BirikimliMatrah As Currency
Barem1 = Dlookup ("[Barem1]", "vdilimleri")
Barem2 = Dlookup ("[Barem2]", "vdilimleri")
Barem3 = Dlookup ("[Barem3]", "vdilimleri")
Barem4 = Dlookup ("[Barem4]", "vdilimleri")
BirikimliMatrah = Dlookup ("[Kumulatif]", "s_kumulatif", "pkimlik=" & xKimlik)
If BirikimliMatrah <= Barem1 Then
VERGI = AylıkMatrah * 0.15
ElseIf BirikimliMatrah - Barem1 <= AylıkMatrah Then
VERGI = (BirikimliMatrah - Barem1) * 0.2 + (AylıkMatrah - (BirikimliMatrah - Barem1)) * 0.15
ElseIf BirikimliMatrah <= Barem2 Then
VERGI = AylıkMatrah * 0.2
ElseIf BirikimliMatrah - Barem2 <= AylıkMatrah Then
VERGI = (BirikimliMatrah - Barem2) * 0.25 + (AylıkMatrah - (BirikimliMatrah - Barem2)) * 0.2
ElseIf BirikimliMatrah <= Barem3 Then
VERGI = AylıkMatrah * 0.27
ElseIf BirikimliMatrah - Barem3 <= AylıkMatrah Then
VERGI = (BirikimliMatrah - Barem3) * 0.3 + (AylıkMatrah - (BirikimliMatrah - Barem3)) * 0.27
ElseIf BirikimliMatrah <= Barem4 Then
VERGI = AylıkMatrah * 0.35
ElseIf BirikimliMatrah - Barem4 <= AylıkMatrah Then
VERGI = (BirikimliMatrah - Barem4) * 0.35 + (AylıkMatrah - (BirikimliMatrah - Barem4)) * 0.35
ElseIf BirikimliMatrah > Barem4 Then
VERGI = AylıkMatrah * 0.35
End If
End Function
hesapla sorgusunu da ağaıdaki gibi düzenleyip dener misiniz?SELECT puantajlar.pkimlik, puantajlar.unvani, puantajlar.punvani, puantajlar.sozlesmeucreti, puantajlar.GVMatrahi, puantajlar.Donemi, Dlookup ("[Kumulatif] ","s_kumulatif","[pkimlik] =" & [pkimlik]) AS KumulatifGV, VERGI([puantajlar].[pkimlik],[puantajlar].[GVMatrahi]) AS GelVer
FROM puantajlar;
16/02/2022, 13:54
Yunus Bozkurt
16/02/2022, 13:57
berduş
Rica ederim
İyi çalışmalar)
İyi çalışmalar)