[VBA] İf not isnull (GozlemSorusu) Then
#1
Sorgu ile oluşturulmuş bir alt formda Gözlem soruları var. Ve bu sorulara “Yapıyor”, “Yapamıyor”, “Biraz yapıyor” gibi cevaplar işaretliyoruz.

Çalışkan öğrencilere tek tek “Yapıyor” seçeneğini işaretlemek yerine onaysec isimli açılan kutudan “Yapıyor” seçeneğini seçerek bütün soruları aynı anda “Yapıyor” olarak işaretliyorum.

Buraya kadar sorun yok.

Soru sayısı derslere ve sınıflara göre sürekli değiştiğinden soruları tablodan silmek yerine Sorulara ait kayıtları boş bırakıyorum. Durum böyle olunca boş bırakılan sorulara da “Yapıyor” “Yapamıyor” gibi değer atanıyor. Böylece ortalamalar yanlış hesaplanıyor.

Aşağıdaki kod çalışsın ama GozlemSorusu boş değilse çalışsın.

Private Sub onaysec_AfterUpdate()
On Error Resume Next
Dim krt1 As String, krt2, krt3 As Long
krt1 = Me.onaysec
krt2 = Forms.Mat_AnaForm.ogrenci
krt3 = Forms.Mat_AnaForm.ay

With DoCmd
.SetWarnings 0
.RunSQL "update Mat_sorgu2 set Deger = " & "'" & krt1 & "'" _
& " where TemaKodu= " & krt3 & " and OgrenciNo=" & krt2
.SetWarnings -1
End With

Requery
Call Forms.Mat_AnaForm.hesapla
End Sub


Eklenti Dosyaları
.rar   mat form.rar (Boyut: 172,62 KB / İndirilme: 67)



  Alıntı
Bu mesajı beğenenler:
#2
Sn Orka80
Dosyanizi inceledim... yaptiginiz islemde bir problem goremedim. sadece rapor aldiginiz sorgu ile ilgili bir teklifim var... burda olmadigi icin onu inceleyemedim. Ama soru kolonuna bos olanlari gosterme dedikten sonra baska bir sorgu ilede ortamalarinizi alabilirsiniz ozaman dogru sonuc cikacagina inaniyorum...

Bir kac elestirisel Gozlem (Ukelalik etmek istemem biliyor olabiliorsiniz sadece gozlemsel)

1 - Altform kullanan biri olarak
Herhalde access 2003 kullaniyorsunuz... ki alt form sabit buyuklukte kaliyor.
2007 ve 2010 versiyonunda alt formlar ve kutucukler icin

-Sag veya Sol ustte goster
-Sag veya Sol altta goster
-Ustte, ortada veya altta genislet
- Sag veya Sol kenarda alta dogru genislet secenekleri var...

2007 de sorunlu ama 2010 accesste guzel calisiyor...

bu ne isimize yarar....

ekran buyuklukleri degistiginde kullandiginiz sayfa boyutuda degistiginden size daha gorsel bir sunum imkani saglar....

.rar   MATFORM.rar (Boyut: 337,64 KB / İndirilme: 78)
(ekli dosyada 2 ornek var 1 tanesinde degisiklik yaptim 2010 da yaptigim icin baska versiyon kullaniyorsaniz acmama ihtimali var 2 kopyayi acmasi lazim)



  Alıntı
Bu mesajı beğenenler:
#3
İlginize teşekkür ederim, MuazTurkyilmaz
Office 2007 yada Office 2010'da yapmak istemiyorum. Çünkü bunu sadece ben kullanmayacağım. Diğer kullanıcıların büyük bir kısmı Office 2003 kullanıyorlar.



  Alıntı
Bu mesajı beğenenler:
#4
Sn Orka80

Diger teklifimi unutabilirsiniz ozaman

ama sorununuz icin;

"Ama soru kolonuna bos olanlari gosterme dedikten sonra baska bir sorgu ilede ortamalarinizi alabilirsiniz ozaman dogru sonuc cikacagina inaniyorum..."

bu sekilde cozulmesi lazim



  Alıntı
Bu mesajı beğenenler:
#5
Merhaba..

Sn MuazTurkyilmaz'ın önerine ilaveten; toplu değer atamada soru alanı boş olanları atlaması için kodun ilgili kısmını bu şekilde değiştiriniz..:



Visual Basic
  1. .RunSQL "update Mat_sorgu2 set Deger = " & "'" & krt1 & "'" _
  2. & " where TemaKodu= " & krt3 & " and not GozlemSorusu is null" & " and OgrenciNo=" & krt2





  Alıntı
Bu mesajı beğenenler:
#6
Teşekkür ederim, MuazTurkyilmaz
Mevcut sorgularımın birinde GozlemSorusu alanına ölçüt olarak Not Is Null yazdım.
Kodları da o sorguya göre ayarladım. Hesaplama ile ilgili sorun çözüldü.
Bu sayede Raporla ilgili sorun da çözülmüş oldu.
Fltreleme ise makro ile yapmaya çalıştım, ama o kadar da önemli değildi.


Sayın Taruz'un çözümünü sonradan farkettim. O kod ile düzenlemeyi de yaptım. Kendisine bugüne kadar olan katkıları için teşekkür ediyorum.



  Alıntı
Bu mesajı beğenenler:


Benzer Konular...
Konu: Yazar Cevaplar: Gösterim: Son Mesaj
  ısnull / ısnotnull M_Kemal_Askeri 6 944 20-10-2019, 00:24
Son Mesaj: halily
  [VBA] WHERE Koşulunda Isnull veya Not IsNull Kullanımı EminA 2 1.719 06-04-2017, 14:03
Son Mesaj: EminA

Foruma Git:


Bu konuyu görüntüleyen kullanıcı(lar): 1 Ziyaretçi