Skip to main content

AccessTr.neT


Fonksiyonu Sorgudaki Her Kayıt İçin Ayrı Çalıştırma

Yunus Bozkurt
Yunus Bozkurt
3
343

Fonksiyonu Sorgudaki Her Kayıt İçin Ayrı Çalıştırma

#2
veriler
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 gibi
VERGI 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;
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Fonksiyonu Sorgudaki Her Kayıt İçin Ayrı Çalıştırma - Yazar: berduş - 16/02/2022, 12:51