Thursday, April 7, 2011

Re: [belajar-access] Re: runtime 13



Maaf bung Aksan, saya yang nubie ini benar-benar dibuat bingung oleh run-time error '13' ini. Padahal struktur database saya sangat simpel. Pada file terlampir tabel siswa hanya berisi 2 (dua) field : ID dan nama yang sama sama bertipe Text. Namun run-time error '13' masih saja muncul ketika terjadi entri data ganda pada text0 dan text2. Rupanya error trap yang saya pasang dibawah ini tidak berhasil mengatasinya, berikut kode lengkapnya :

On Error GoTo error_handling

Dim kode As String

kode = "insert into siswa (ID,nama) values ('" & Me!Text0 & "','" & Me!Text2 & "')"
CurrentProject.Connection.Execute (kode)
MsgBox "Saved!" 'notifikasi record sudah disimpan
Call awal 'kursor berada di text0
Call kosongkan 'mengosongkan seluruh teksboks

keluar:
Exit Sub

error_handling:
MsgBox "Kode error : " & Err.Number + Chr(13) + Err.Description 'beri user informasi tentang kode error
Resume keluar
Call awal
Call kosongkan

End Sub


Private Sub kosongkan()
Me!Text0 = ""
Me!Text2 = ""
End Sub

Private Sub awal()
Me!Text0.SetFocus
End Sub


Apakah struktur database saya salah?
Saya memakai 2 (dua) primary key di tabel nilai yaitu pada field ID dan field ujianke kemudian merelasikan field ID pada Tabel nilai dengan field ID pada Tabel siswa karena saya ingin menjadikan kombinasi field ID dan field nama pada tabel nilai sebagai ID uniqe & menjaga integritas data dengan mengaktifkan Enforce Referential Integrity pada relationshipnya.

Apakah ada perbedaan penulisan scrip SQL pada tiap tipe data, misal field bertipe text maka memakai '" & text0 & "' (kutip,dobelkutip,spasi,ampesand). Untuk field bertipe date memakai #" & text0 & " #(pagar,dobelkutip,spasi,ampersand).

mOhon pencerahannya. terima kasih

--- On Thu, 4/7/11, aksankurdin <aksan.kurdin@gmail.com> wrote:

From: aksankurdin <aksan.kurdin@gmail.com>
Subject: [belajar-access] Re: runtime 13
To: belajar-access@yahoogroups.com
Date: Thursday, April 7, 2011, 10:49 AM

 

Jika mengecek dulu, langkahnya bisa panjang.
Jika ingin singkat, tangkap saja error yang timbul saat save.
Untuk data duplikat, err.number yang muncul adalah 3022, maka anda bisa modify error handle seperti potongan skrip yang sudah saya posting. (maaf posting kemarin tidak ada penjelasan):

------------------------------------------

TheSchool:
If Err.Number = 3022 Then 'duplicate key
MsgBox "Kode " & ID & " untuk ujian ke " & ujianke & " sudah pernah dimasukkan.", vbInformation, "BEEP!!"
Resume naK
Else
MsgBox "Kode Error : " & Err.Number + Chr(13) + Err.Description, vbCritical
End If

Resume naK

------------------------------------------

aksan kurdin




__._,_.___


SPAM IS PROHIBITED



Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___

No comments:

Post a Comment