Hesap =(YatayBoyu - 10)/ IIf(Eval(YatayBoyu & " between 0 and 110"), 4, IIf(Eval(YatayBoyu & " between 111 and 180"), 5, IIf(Eval(YatayBoyu & " between 181 and 240"), 7, IIf(Eval(YatayBoyu & " between 241 and 270"), 9, 1))))
18-11-2025, 19:02 (En son düzenleme: 18-11-2025, 19:03 osman06.
Düzenleme Nedeni: düzeltme
)
(18-11-2025, 17:43)dsezgin demiş ki:
Visual Basic
PublicFunction Hesap(YatayBoyu AsDouble)AsDouble
Hesap =(YatayBoyu - 10)/ IIf(Eval(YatayBoyu & " between 0 and 110"), 4, IIf(Eval(YatayBoyu & " between 111 and 180"), 5, IIf(Eval(YatayBoyu & " between 181 and 240"), 7, IIf(Eval(YatayBoyu & " between 241 and 270"), 9, 1))))
EndFunction
Visual Basic
Sub Yazdır()
Debug.Print Hesap(152)
EndSub
Modul ile yapılabilir.
hocam çok bi bilgim yok aşamaları nedir. nasıl yaparım. modülle sorguda hesaplayacak sordudan bilgi raporda gidiyor. formülde bişey dikkatimi çekti 4,5,7,9 yazanları bölecek -10/4 -10/5 gibi
(19-11-2025, 01:45)dsezgin demiş ki: Fonksiyonu bir modul içine kaydedin ve koşul aralıkları ile bölünecek sayıları modül içinde kendinize göre ayarlamalısınız.
Soru da Alan bölümüne YatayDeger: Hesap(YatayBoyu) yazıldığında istediğiniz hesaplama sonucunu alırsınız.
Visual Basic
SELECT*, Hesap(YatayBoyu)As YatayDeger, Hesap(DikeyBoyu)As DikeyDeger FROM TabloAdı
-10/4, -10/5, -10/7...... gibi koşula göre belirlediğiniz aralıklara ait hesaplamalarda kullanabilirsiniz.
hocam ilginize tşkler halletim dediğiniz gibi alttaki kodu çalıştıramadım.
IIf([ekenn] Between 0 And 0,7;([ekenn]-0,1)/2;IIf([ekenn] Between 0,71 And 1;([ekenn]-0,1)/2;IIf([ekenn] Between 1,01 And 1,6;([ekenn]-0,1)/3;Null)))
bu normal çalışan her ııf sonuna elle bi rakam ekleyecem hesaplamayı yapacak hesaplamadaki aralıkta ise sonucu değilde sonuna eklediğim değeri yazacak