Skip to main content

AccessTr.neT


Çoktan Seçmeli Test Programı

Çoktan Seçmeli Test Programı

Çözüldü #1
Merhaba arkadaşlar, Ekte göreceğiniz metinse adlı kullanıcının eklemiş olduğu kelime öğrenme programını, sizinde yardımlarınızla tasarladığım kendi sözlük veritabanıma uyarlamak istiyorum. 
Fakat şöyle bir sorun var: Bu ekteki veritabanındaki bütün işlemler tek bir tabloda bulunan (DATA) kelimeler üzerinden işliyor. 
Yani kelimelerin türkçe ve ingilizce karşılıkları tek tabloda toplanmış durumda.
Bunu kendi tabloma uyarlamam için bu DATA tablosunu, ingilice kelimelerin bulunduğu DATA1 ve türkçe karşılıklarının bulunduğu DATA2 olmak üzere iki tabloya böldüm. Ve DATA2 tablosundaki "bag" alanıyla da birbirleriyle ilişkilendirdim.
Fakat kodları uyarlamaya kalktığımda program donuyor.
2 gündür uğraşıyorum fakat bir türlü üstesinden gelemedim.

Eklere hem sadece tablo eklediğim halini, hem de kodlarını düzenlediğim halini koyuyorum.
Yardımcı olabilirseniz çok minnettar olurum.
Sadece frm_sor formunu düzenlesek yeterli.Ben de bu form üzerinde çalıştım. Aslında gerekli düzenlemeleri yaptığımı düşünüyorum ama bir yerde bir eksiklik var çözemiyorum.
.rar Mehmet-Kelime Öğrenme orijinal.rar (Dosya Boyutu: 326 KB | İndirme Sayısı: 19)
.rar mehmet kelime öğrenme -düzenlenmiş.rar (Dosya Boyutu: 342,42 KB | İndirme Sayısı: 35)
Son Düzenleme: 06/03/2018, 14:38, Düzenleyen: mehmetb84.
Cevapla
#2
arkadaşlar fikri olan yok mudur?
Cevapla
#3
Merhaba,
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.


Visual Basic Code
On error resume next
kodunu

Visual Basic Code
On Error GoTo Hata

kodu ile değiştir,


Visual Basic Code
HataBul (Err.Number)


kodunu da


Visual Basic Code
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.
Cevapla
#4
(05/03/2018 13:30)ozanakkaya Adlı Kullanıcıdan Alıntı:
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
Merhaba,
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.


Visual Basic Code
On error resume next
kodunu

Visual Basic Code
On Error GoTo Hata

kodu ile değiştir,


Visual Basic Code
HataBul (Err.Number)


kodunu da


Visual Basic Code
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?
Cevapla
#5
merhaba sayın mehmetb84
kısaca göz atabildim ufak bir düzeltme önersem.
1-ana formunuzun load kodunu siliniz.
2-ana formunuzun açıldığında olayına   ( 2 fSetAccessWindow (SW_HIDE) ) kodunu yapıştırınız. parantezler hariç.
3-kullandığınız diğer bütün formlarıda açılan ve kalıcı durumunu evet yapınız.
birde bu şekilde denermisiniz.
Universal Form Tasarımı. devamlı güncelleniyor.
SQL TO Vba Convertör.
Son Düzenleme: 05/03/2018, 15:55, Düzenleyen: A.Kadir..
Cevapla
#6
(05/03/2018 15:53)HEDEF ELEKTRONİK Adlı Kullanıcıdan Alıntı: merhaba sayın mehmetb84
kısaca göz atabildim ufak bir düzeltme önersem.
1-ana formunuzun load kodunu siliniz.
2-ana formunuzun açıldığında olayına   ( 2 fSetAccessWindow (SW_HIDE) ) kodunu yapıştırınız. parantezler hariç.
3-kullandığınız diğer bütün formlarıda açılan ve kalıcı durumunu evet yapınız.
birde bu şekilde denermisiniz.

Yanıt için teşekkür ederim.
Söylediklerinizi yaptım. Bu sayede anasayfadan sor eklime sor forumuna rahatlıkla ulaşılabiliyor. Fakat benim için bu çok tali bir mesele. 
Zaten düzenlemeleri frmsor formu üzerinden yapıyorum.
Yani açılış ve anaform çok önemli bir mesele değil, asıl sorun frmsor formunu açtıktan sonra kelimesor komutunu (cmdKelimeSor) tıkladıktan sonra çalışmaması/donması.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da