(05/03/2018, 13:30)ozanakkaya yazdı:Merhaba,Kod:Private Sub Sor()
On Error GoTo Hata
xSoruTur = Me.cbxSoru
xSecenekTur = Me.cbxSecenek
xAyrinti = Me.cbxAyrinti
xCevapSay = 0
Call AlanYenile
Call Gizle
Call Pas
Me.lblVocabulary.Caption = rs(xSoruTur)
If Len(Trim(rs(xSoruTur))) > 40 Then
Me.lblVocabulary.FontSize = 12
ElseIf Len(Trim(rs(xSoruTur))) > 30 Then
Me.lblVocabulary.FontSize = 14
Else
Me.lblVocabulary.FontSize = 16
End If
Me.Caption = "Bu kelime " & Nz(DLookup("[Times]", "[DATA1]", "[ID] =" & xRastgele)) & " defa soruldu. "
xDogruSecenek = Int((5 * Rnd) + 1)
yenile:
CurrentDb.Execute "Delete From Kontrol"
For X = 1 To 5
xSecenek(X) = Int((xKayitSay * Rnd) + 1)
rs.Filter = "[ID] =" & xSecenek(X)
If rs(xSecenekTur) = " " Or IsNull(rs(xSecenekTur)) = True Then
If X > 0 Then X = X - 1
Else
CurrentDb.Execute "Insert into Kontrol (Kelime) values('" & DLookup("[Turkish]", "[DATA2]", "[bag] =" & xSecenek(X)) & "')"
End If
Next
Sql_Calistir ("Select Kelime,Count(Kelime) as Say From Kontrol Group By Kelime Having Count(Kelime)>1")
If rst.EOF = False Then
GoTo yenile
End If
xSecenek(xDogruSecenek) = xRastgele
For X = 1 To 5
Select Case X
Case 1
Me.lbl1.Caption = "a.) " & DLookup(xSecenekTur, "[DATA2]", "[bag] =" & xSecenek(X))
Case 2
Me.lbl2.Caption = "b.) " & DLookup(xSecenekTur, "[DATA2]", "[bag] =" & xSecenek(X))
Case 3
Me.lbl3.Caption = "c.) " & DLookup(xSecenekTur, "[DATA2]", "[bag] =" & xSecenek(X))
Case 4
Me.lbl4.Caption = "d.) " & DLookup(xSecenekTur, "[DATA2]", "[bag] =" & xSecenek(X))
Case 5
Me.lbl5.Caption = "e.) " & DLookup(xSecenekTur, "[DATA2]", "[bag] =" & xSecenek(X))
End Select
Next
Hata:
If Err.Number <> 0 Then
MsgBox (Err.Number & "" & Err.Description)
Exit Sub
End If
End Sub
Benim verebileceğim fikir; uygulamanın orijinalini bilmiyorum ama tüm kodlar On Error Resume Next ile başlayıp HataBul (Err.Number) ile kapanmış,
on error resume next yazdığınızda hata var ise devam eder, hata ile ilgili herhangi bir açıklama yapmaz.
kodunuOn error resume next
On Error GoTo Hata
kodu ile değiştir,
HataBul (Err.Number)
kodunu da
Hata:
If Err.Number <> 0 Then
MsgBox (Err.Number & "" & Err.Description)
Exit Sub
End If
Kodu ile değiştir. Bu şekilde kodlarda oluşan hatayı görebilirsin.
Öncelikle ilgilendiğiniz için çok teşekkürler Ozan bey. Söylediklerinizi yaptım ama hala hata göremiyorum, donuyor eskisi gibi. Kodun son halini ekledim, atladığım bir şey mi var?