Tamam şimdi oldu, ben inceliyorum dosyanı.
Sende senin programına yakın bir çalışma olan, aşağıdaki çalışmayı incele.
Anket Çalışması
Çünkü sadece SoruNo kontrolü tablodaki alana bağlı, diğer kontroller tablodaki veya kayıt kaynağındaki herhangi bir alana bağlı değil.
Bu kontrollerin içini doldurmak için sorular adında bir fonksiyon yazmışsın, bu fonksiyonu her kayıtta çalıştırmak için İleri-geri tuşlarının koduna eklemişsin. Sadece formün güncellendiğinde olayına koyman yeterliydi, bu şekilde ister Mouse Scrool tuşu ile ister PageUp, PageDown tuşları ile isterse ileri geri tuşları ile kayıtlar değişse de sorular fonksiyonu çalışırdı.
Senin formunda başka problemlerde vardı.
Aynı öğrenci için Test her çalıştığında, 40 soru varsa, tekrar 40 kayıt oluşturuyordu. Bunun kontrolünü yapmamışsın.
Senin için tekrar bir çalışma yaptım ve Test formunu baştan sona değiştirdim.
* Öncelikle Kayıt kaynağını değiştirdim. OgrCevap ve Sorular tablosunu birbirine bağlayarak, soruların ve cevapların otomatik olarak gelmesini sağladım. Kontrolleri alanlara bağladım, böylece Mouse Scrool, PageUp, PageDown veya ileri geri tuşları ile her kayıt değiştiğinde bir şey yapmana gerek kalmadı.
* OgrCevap tablosunu değiştirdim, CevapId'yi kaldırarak, tablonun anahtarını OgrNo ve SoruNo yaptım, böylece Aynı Öğrenciye Aynı Soru kaydı oluşturulamayacak.
* Test formu ilk açılışında, "Ogrenci_Soru_Cevap_Kayitlarini_Olustur" adlı Kayıt Ekleme sorgusunu çalıştırıyor ve öğrenci ilk defa test'e giriyorsa, OgrCevap tablosunda soru ve cevap kayıtları oluşturuluyor, varsa dokunulmuyor. Cevap alanına boş değer (null) yerine 0 değerini atadım ki cevap şıklarında düğmelerin içi boş olarak görünsün.