Değerli arakadaşlar merhabalar... Basit bir sorum olacak... Uygulamamda;
Dim soru_sayisi
soru_sayisi = Int((33 * Rnd) + 1)
adj_id.Value = soru_sayisi
şeklinde rastgele sayı yazdırıyorum isteğim şudur ki daha önce seçilen sayı bir daha seçilmesin yardımcı olabilirseniz çok sevinirim. Şimdiden teşekkürler...
Rastgele Sayı
Daha once çıkan sayı bir yerlere kaydedilmiş mi?
(21/11/2020, 15:14)Gunalp Gunal yazdı: Değerli arakadaşlar merhabalar... Basit bir sorum olacak... Uygulamamda;Collection içine alınca olur.
Dim soru_sayisi
soru_sayisi = Int((33 * Rnd) + 1)
adj_id.Value = soru_sayisi
şeklinde rastgele sayı yazdırıyorum isteğim şudur ki daha önce seçilen sayı bir daha seçilmesin yardımcı olabilirseniz çok sevinirim. Şimdiden teşekkürler...
Eğer tabloya kaydedilmisse
do while benzeri bir döngü işinize yarayabilir.
do while benzeri bir döngü işinize yarayabilir.
Do
soru_sayisi = Int((33 * Rnd) + 1)
adj_id.Value = soru_sayisi
i=dcount("*","TabloAdi", "cikanlar=" & soru_sayisi )
Loop Until i<1 '
gibi..
Option Compare Database
Dim dic As Object, i As Integer
Private Sub Form_Close()
Set dic = Nothing
End Sub
Private Sub Form_Load()
Set dic = CreateObject("Scripting.dictionary")
Randomize
For i = 1 To 33
dic.Add i, i
Next
End Sub
Private Sub Komut2_Click()
Dim soru_sayisi
10:
soru_sayisi = Int((33) * Rnd) + 1
If Not dic.Exists(soru_sayisi) Then GoTo 10
adj_id.Value = dic(soru_sayisi)
If dic.Exists(soru_sayisi) Then dic.Remove (soru_sayisi)
If dic.Count = 0 Then MsgBox "Sayilar Bitti", vbExclamation, "Bitti"
End Sub
Dim Cikanlar As String
Cikanlar = "|"
Randomize
Do
soru_sayisi = Int((33 * Rnd) + 1)
i = InStr(Cikanlar, "|" & soru_sayisi & "|")
If i = 0 Then
Cikanlar = Cikanlar & soru_sayisi & "|"
Exit Do
End If
Loop Until i < 1 '
Konuyu Okuyanlar: 1 Ziyaretçi