Ortalama fonksiyonu yaptım ama hatası mı varkine?

Katılım
11 Mart 2007
Mesajlar
44
Excel Vers. ve Dili
Türkçe
arkadaşlar 3 yazılı 3 sözlü 1 ödev notundan istenilen girdikten sonra ortalam hesaplayan bir fonksiyonu accesste modüle yazdım ancak hesaplama sorunu veriyor

tablodaki yazili1,yazili2.... alanlarını sayı olarak belirledim ve varsayılan değeri sildim

modüle şu fonksiyonu yazdım.

Kod:
Function ortala(a, b, c, d, e, f, g)
bolen = 7
If a = "" Then
bolen = bolen - 1
a = 0
End If
If b = "" Then
bolen = bolen - 1
b = 0
End If
If c = "" Then
bolen = bolen - 1
c = 0
End If
If d = "" Then
bolen = bolen - 1
d = 0
End If
If e = "" Then
bolen = bolen - 1
e = 0
End If
If f = "" Then
bolen = bolen - 1
f = 0
End If
If g = "" Then
bolen = bolen - 1
g = 0
End If
if bolen=0 then ortala="": Exit Function
ortala = (a + b + c + d + e + f + g) / bolen
End Function
neden çalışmıyor olabilir? fikri olana rep sistemini devre soktukları anda rep vericem :)
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
Function ortalama()
TOPLAM = 0
İ = 0
W = 0

If TÜRKÇE1YAZ.Value <> "" Then
sayİ1 = TÜRKÇE1YAZ.Value
TOPLAM = TOPLAM + sayİ1
İ = İ + 1
End If
If TÜRKÇE2YAZ.Value <> "" Then
sayİ2 = TÜRKÇE2YAZ.Value
TOPLAM = TOPLAM + sayİ2
İ = İ + 1
End If
If TÜRKÇE3YAZ.Value <> "" Then
sayİ3 = TÜRKÇE3YAZ.Value
TOPLAM = TOPLAM + sayİ3
İ = İ + 1
End If
If TÜRKÇE1SÖZ.Value <> "" Then
sayİ4 = TÜRKÇE1SÖZ.Value
TOPLAM = TOPLAM + sayİ4
İ = İ + 1
End If
If TÜRKÇE2SÖZ.Value <> "" Then
sayİ5 = TÜRKÇE2SÖZ.Value
TOPLAM = TOPLAM + sayİ5
İ = İ + 1
End If
If TÜRKÇE3SÖZ.Value <> "" Then
sayİ6 = TÜRKÇE3SÖZ.Value
TOPLAM = TOPLAM + sayİ6
İ = İ + 1
End If
If TÜRKÇE1ÖD.Value <> "" Then
sayİ7 = TÜRKÇE1ÖD.Value
TOPLAM = TOPLAM + sayİ7
İ = İ + 1
End If
If TÜRKÇE2ÖD.Value <> "" Then
sayİ8 = TÜRKÇE2ÖD.Value
TOPLAM = TOPLAM + sayİ8
İ = İ + 1
End If
W = TOPLAM / İ

TÜRKÇEYUVARLA1.Value = W
X = TÜRKÇEYUVARLA1.Value
Y = Round(X, 0)
TÜRKÇEORTALAMA1.Value = Y
If TÜRKÇEYUVARLA1.Value = "2,5" Then
TÜRKÇEORTALAMA1.Value = "3"
End If
If TÜRKÇEYUVARLA1.Value = "3,5" Then
TÜRKÇEORTALAMA1.Value = "4"
End If
If TÜRKÇEYUVARLA1.Value = "4,5" Then
TÜRKÇEORTALAMA1.Value = "5"
End If
If TÜRKÇEYUVARLA1.Value = "1,5" Then
TÜRKÇEORTALAMA1.Value = "2"
End If



If TÜRKÇEORTALAMA1.Value = "" Then
TÜRKÇEYAZIYLA1.Value = ""
End If
If TÜRKÇEORTALAMA1.Value = "1" Then
TÜRKÇEYAZIYLA1.Value = "BİR"
End If
If TÜRKÇEORTALAMA1.Value = "2" Then
TÜRKÇEYAZIYLA1.Value = "İKİ"
End If
If TÜRKÇEORTALAMA1.Value = "3" Then
TÜRKÇEYAZIYLA1.Value = "ÜÇ"
End If
If TÜRKÇEORTALAMA1.Value = "5" Then
TÜRKÇEYAZIYLA1.Value = "BEŞ"
End If
If TÜRKÇEORTALAMA1.Value = "4" Then
TÜRKÇEYAZIYLA1.Value = "DÖRT"
End If
End Function
 
Katılım
23 Ekim 2006
Mesajlar
12
Excel Vers. ve Dili
2003 Türkçe
not ortalaması

accesste not programı yapmaya çalışıyorum. Performans ve proje ödevlerinin ortalamasını 5 lik sisteme çevirecek kodları bulamadım.Yardımcı olursanız sevinirim.
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
cevap

If TÜRKÇEYUVARLA1.Value = "2,5" Then
TÜRKÇEORTALAMA1.Value = "3"
End If
2,5 i 55 yap olsun bitsin
 
Katılım
11 Mart 2007
Mesajlar
44
Excel Vers. ve Dili
Türkçe
Function ortalama()
TOPLAM = 0
İ = 0
W = 0

If TÜRKÇE1YAZ.Value <> "" Then
sayİ1 = TÜRKÇE1YAZ.Value
TOPLAM = TOPLAM + sayİ1
İ = İ + 1
End If
If TÜRKÇE2YAZ.Value <> "" Then
sayİ2 = TÜRKÇE2YAZ.Value
TOPLAM = TOPLAM + sayİ2
İ = İ + 1
End If
If TÜRKÇE3YAZ.Value <> "" Then
sayİ3 = TÜRKÇE3YAZ.Value
TOPLAM = TOPLAM + sayİ3
İ = İ + 1
End If
If TÜRKÇE1SÖZ.Value <> "" Then
sayİ4 = TÜRKÇE1SÖZ.Value
TOPLAM = TOPLAM + sayİ4
İ = İ + 1
End If
If TÜRKÇE2SÖZ.Value <> "" Then
sayİ5 = TÜRKÇE2SÖZ.Value
TOPLAM = TOPLAM + sayİ5
İ = İ + 1
End If
If TÜRKÇE3SÖZ.Value <> "" Then
sayİ6 = TÜRKÇE3SÖZ.Value
TOPLAM = TOPLAM + sayİ6
İ = İ + 1
End If
If TÜRKÇE1ÖD.Value <> "" Then
sayİ7 = TÜRKÇE1ÖD.Value
TOPLAM = TOPLAM + sayİ7
İ = İ + 1
End If
If TÜRKÇE2ÖD.Value <> "" Then
sayİ8 = TÜRKÇE2ÖD.Value
TOPLAM = TOPLAM + sayİ8
İ = İ + 1
End If
W = TOPLAM / İ

TÜRKÇEYUVARLA1.Value = W
X = TÜRKÇEYUVARLA1.Value
Y = Round(X, 0)
TÜRKÇEORTALAMA1.Value = Y
If TÜRKÇEYUVARLA1.Value = "2,5" Then
TÜRKÇEORTALAMA1.Value = "3"
End If
If TÜRKÇEYUVARLA1.Value = "3,5" Then
TÜRKÇEORTALAMA1.Value = "4"
End If
If TÜRKÇEYUVARLA1.Value = "4,5" Then
TÜRKÇEORTALAMA1.Value = "5"
End If
If TÜRKÇEYUVARLA1.Value = "1,5" Then
TÜRKÇEORTALAMA1.Value = "2"
End If



If TÜRKÇEORTALAMA1.Value = "" Then
TÜRKÇEYAZIYLA1.Value = ""
End If
If TÜRKÇEORTALAMA1.Value = "1" Then
TÜRKÇEYAZIYLA1.Value = "BİR"
End If
If TÜRKÇEORTALAMA1.Value = "2" Then
TÜRKÇEYAZIYLA1.Value = "İKİ"
End If
If TÜRKÇEORTALAMA1.Value = "3" Then
TÜRKÇEYAZIYLA1.Value = "ÜÇ"
End If
If TÜRKÇEORTALAMA1.Value = "5" Then
TÜRKÇEYAZIYLA1.Value = "BEŞ"
End If
If TÜRKÇEORTALAMA1.Value = "4" Then
TÜRKÇEYAZIYLA1.Value = "DÖRT"
End If
End Function
bu benim fonksiyondaki hata nerde onu söyleyebilirmisiniz arkadaşlar vbasicte denedim çalıştı
 
Katılım
23 Ekim 2006
Mesajlar
12
Excel Vers. ve Dili
2003 Türkçe
ortalama fonksiyonu

Bu kodları formun neresine yapıştırmalıyız. Denedim çalıştıramadım.
 
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
access de sizin yazd&#305;&#287;&#305;n&#305;z a,b,c,d gibi ne oldu&#287;u belli olmyan tan&#305;mlamalar olmaz access de metin kutular&#305; i&#231;indedkiler toplan&#305;r oda Me.a yada a.value diye tan&#305;mlan&#305;r ben ne yapm&#305;&#351;&#305;m &#246;nce bu kodu yazmak i&#231;in t&#252;rk&#231;e bilgilerinin oldu&#287;u bir form yapm&#305;&#351;&#305;m ve kodu ona g&#246;re d&#252;zenlemi&#351;im sonrada onu fonksiyona &#231;evirmi&#351;im
 
Katılım
11 Mart 2007
Mesajlar
44
Excel Vers. ve Dili
Türkçe
access de sizin yazd&#305;&#287;&#305;n&#305;z a,b,c,d gibi ne oldu&#287;u belli olmyan tan&#305;mlamalar olmaz access de metin kutular&#305; i&#231;indedkiler toplan&#305;r oda Me.a yada a.value diye tan&#305;mlan&#305;r ben ne yapm&#305;&#351;&#305;m &#246;nce bu kodu yazmak i&#231;in t&#252;rk&#231;e bilgilerinin oldu&#287;u bir form yapm&#305;&#351;&#305;m ve kodu ona g&#246;re d&#252;zenlemi&#351;im sonrada onu fonksiyona &#231;evirmi&#351;im


ama ben


Kod:
function  kdv(sayi)

kdv=sayi*18/100

end function
&#351;eklindeki bir fonksiyonu tan&#305;mlay&#305;p daha &#246;nce kulland&#305;m. say&#305; yerine istedi&#287;im de&#287;i&#351;keni istedi&#287;im yerde kullanabiliyordum &#351;&#246;yle ki bu fonksiyonu yazd&#305;ktan sonra

kdv(metin1) &#351;eklinde tan&#305;mlama yapt&#305;&#287;&#305;mda metin 1 de yer alan say&#305;n&#305;n &#37;18 ini hesaplat&#305;yodum.. san&#305;yorum sorun VBA n&#305;n tamamiyle vbasicle &#246;rt&#252;&#351;memesinden kaynaklan&#305;yor hakl&#305; m&#305;y&#305;m?
 
Son düzenleme:
Katılım
22 Ocak 2007
Mesajlar
815
Excel Vers. ve Dili
2003
cevap

problemde o zaten her seferinde tanımlaman gerkiyor bunda bir defa tanım yeterli olur eğer çalışmazzsa referanslara dikkat et
 
Katılım
11 Mart 2007
Mesajlar
44
Excel Vers. ve Dili
Türkçe
Te&#351;ekk&#252;rler arkada&#351;&#305;m. daha derinlemesine inceleyece&#287;im. Eklenti i&#231;in ayr&#305;ca te&#351;ekk&#252;rler..
 
Katılım
23 Ekim 2006
Mesajlar
12
Excel Vers. ve Dili
2003 Türkçe
Teşekkürler. Emeğine sağlık bu programı arıyordum. Çok işime yarayacak.
 
Üst