Skip to main content

AccessTr.neT


Rastgele Sayı

Rastgele Sayı

Çözüldü #1
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...
Cevapla
#2
Daha once çıkan sayı bir yerlere kaydedilmiş mi?
Cevapla
#3
(21/11/2020, 15:14)Gunalp Gunal yazdı: 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...
Collection içine alınca olur.
Cevapla
#4
Eğer tabloya kaydedilmisse
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..
Cevapla
#5
[Resim: do.php?img=10603]

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
Cevapla
#6
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 '
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task