Sorgu (Rastgele Seçim)

1 2
01/06/2014, 18:18

SCavusoglu

Merhaba,

Ekteki çalışmada SRG_SORULAR adlı bir sorgu bulunmaktadır. Bu sorguda;
SELECT TOP 20 SORULAR.SORU_ID, SORULAR.SORU, SORULAR.CEVAP, SORULAR.SOR_CEVAP
FROM SORULAR
ORDER BY Rnd([SORU_ID]);
Kodlaması ile 101 sorudan 20 tane farklı soruyu ekrana taşımak amaçlanmıştır.

Sorun: Proje her kapanıp açıldığında sürekli aynı soruyla başlayıp devam etmektedir. Bir sonraki güncelleme işleminde bu değişmektedir.
SORU : Acaba proje her açıldığında da farklı bir sıralamaya ulaşmak için ne yapılabilir ?
01/06/2014, 21:01

mehmetdemiral

Şu anda örnekte formlar olmadığı için ne yapıldığını bilemiyorum. Bu şekliyle baktığımda SRG_SORULAR doğru çalışıyor ama bunun nerede nasıl kullanıldığını bilmek gerekli.
01/06/2014, 21:05

SCavusoglu

Hocam, doğru çalışmıyor yada ben anlatamadım. Uygulamayı her kapatıp açıp sorguyu çalıştırdığınızda sıralama hep aynı yerden başlıyor..yani 7 - 44 - 85 -11 sırasıyla başlayan sorularla açılıyor. F5 ile yinelediğinizde sıralama değişiyor.
Uygualamayı komple kapatıp tekrar açıtığınızda yine aynı sıralama 7 - 44 - 85 -11

Bu arada formlu örnek alttaki linkte mevcuttur..

https://accesstr.net/konu-test-calismasi...yalim.html
02/06/2014, 14:50

SCavusoglu

Hayır bu uygulama her kapanıp açıldığında srg_sorular neden aynı sıralama ile açılır. Nerede kaldı bunun rastgelesi..?
02/06/2014, 15:15

POWER

İncelermisiniz...

Lütfen olumlu veya olumsuz geri dönüş yapınız...
02/06/2014, 15:52

SCavusoglu

POWER Hocam çok teşekkürler

frm_ana yüklendiğinde olayına aşağıdaki kodu eklemişsiniz ve tamda istediğim gibi her açılışta farklı bir soru sıralaması ile çalışmasını sağlamışsınız.. Ancak kullanınca farkettim ki bu kodu frm_ana da kullanınca 2. soruya(yani belirlenen son soruya) gelinmesine rağmen cevaplamaya devam edilmekte, bu nedenle bende o kodu alıp frm_sorular alt formunun yüklendiğinde olayına yapıştırdım. Bu sefer tam da istediğim sonucu elde ettim, yani 2.soruya gelince testi sonlandırdı.
Yardımlarınız için tekrar teşekkür ederim..
Dim B1 As String
B1 = Now
A1 = Right(B1, 2)
For I = 1 To A1
DoCmd.Requery
Next I
1 2