AccessTr.neT

Tam Versiyon: sorguda not ortalaması
Şu anda arşiv modunu görüntülemektesiniz. Tam versiyonu görüntülemek için buraya tıklayınız.
Merhabalar,
Açık lise programının not giriş işlemlerini Kur@l hocamla birlikte hallettik, sağolsun. Şimdi ise notların ortalamasını almaya geldi sıra. Notlardan en fazla 3 yazılı, 3 sözlü, 1 ödev ve bir kannat notu var. Bazı derslerden 2 yazılı notu, 2 sözlü notu, bazılarından ise 3 yazılı 3 sözlü notu veriliyor. Bazı derslerden ise bazı öğrenciler ödev alıyorlar veya bazı öğrencilere kanaat notu verilebiliyor. Yani not sayısı derse ve öğrenciye göre değişebiliyor. Buna göre q_not_islemleri sorgusunda not ortalamasını nasıl alabiliriz?
Ben her ders için yazılı sözlü sayısını önceden gireyim, sorguda ise yukarıdaki 8 notun toplamına bu yazılı sözlü sayısına böldüreyim diye düşündüm.
Bunun daha pratik bir çözümü varsa yardımcı olur musunuz...
tam inceleyemedim ama şu şekilde sorguda veya formda gösterebilirsin,
Sonuç: Nz([1yazili];0)+Nz([2yazili];0)+Nz([3yazili];0)+Nz([1sozlu];0)+Nz([2sozlu];0)+Nz([3sozlu];0)+Nz([odev];0)+Nz([kanaat];0)/8
Sayın Celoyce,
2 yazılı, 2 sözlü notu girdiğimizde sonucu 4'e değil 8'e bölüyor. Ayrıca formülü "
Sonuç: (Nz([1yazili];0)+Nz([2yazili];0)+Nz([3yazili];0)+Nz([1sozlu];0)+Nz([2sozlu];0)+Nz([3sozlu];0)+Nz([odev];0)+Nz([kanaat];0))/8 " şeklinde düzelttim ki sadece kanaat notunu 8'e bölmemesi için...

tbl_Not_islemleri adlı tablonuza ve alt formunuza "ort" adında alan ekledikten sonra

Private Sub ort_Enter()
Dim A, B, C, D, Bol As Integer
Dim Y1, Y2, Y3, S1, S2, S3, ODV, KNT As Integer

If IsNull(Me.Ctl3yazili) = True Then A = 0 Else A = 1
If IsNull(Me.Ctl3sozlu) = True Then B = 0 Else B = 1
If IsNull(Me.odev) = True Then C = 0 Else C = 1
If IsNull(Me.kanaat) = True Then D = 0 Else D = 1
Bol = A + B + C + D + 4
Y1 = Nz(Me.Ctl1yazili, 0)
Y2 = Nz(Me.Ctl2yazili, 0)
Y3 = Nz(Me.Ctl3yazili, 0)
S1 = Nz(Me.Ctl1sozlu, 0)
S2 = Nz(Me.Ctl2sozlu, 0)
S3 = Nz(Me.Ctl3sozlu, 0)
ODV = Nz(Me.odev, 0)
KNT = Nz(Me.kanaat, 0)

Me.ort = (Y1 + Y2 + Y3 + S1 + S2 + S3 + ODV + KNT) / Bol

End Sub

3. sözlü ve 3.yazılı ile ödev notu ile kanaat notu olup olmadığına göre bölme işlemi yapacaktır hocam . Umarım işinizi görür.
Merhabalar,
Sorunu
SonucImg-crayNz([1yazili];0)+Nz([2yazili];0)+Nz([3yazili];0)+Nz([1sozlu];0)+Nz([2sozlu];0)+Nz([3sozlu];0)+Nz([odev];0)+Nz([kanaat];0))/(IIf(IsNull([1yazili]);0;1)+IIf(IsNull([2yazili]);0;1)+IIf(IsNull([3yazili]);0;1)+IIf(IsNull([1sozlu]);0;1)+IIf(IsNull([2sozlu]);0;1)+IIf(IsNull([3sozlu]);0;1)+IIf(IsNull([odev]);0;1)+IIf(IsNull([kanaat]);0;1))
şeklinde karmaşık bir şekilde çözmüştüm, ama Puletin hocamın çözümü daha etkileyici olmuş.
Teşekkür ederim...
Selam Kolay Gelsin Yeni Üye Oldum Ama Baya Şey Öğreneceğime İnanıyorum Herkeze Kolay Gelsin Bu Kodlar Biraz Karışık Ama DoğruLol Emeğinize Sağlık