Skip to main content

AccessTr.neT


VBA'da sıfır (0) hata kodu ne anlama geliyor?

VBA'da sıfır (0) hata kodu ne anlama geliyor?

Çözüldü #1
Merhaba arkadaşlar,
Access 2007'de bir proje hazırlıyorum. Bir butonun altına gerekli kodları yazdım. hata durumunda çökmemesi için de kodun başına:

On Error GoTo hata

sonuna da:

hata:
MsgBox "HATA OLUŞTU!-" & Err.Number & "-" & Err.Description, vbCritical

satırlarını ekledim. Ama kod hiç sıkıntısız görevini yerine getirdiği halde

HATA OLUŞTU!-0

mesajı veriyor. Bu sıfır (0) kodlu hatanın anlamı bilgi verebilirseniz çok sevinirim. Kodun tamamı da şöyle:

Private Sub btnOnayla_Click()
Dim Yil As Integer, Ay As Byte

On Error GoTo hata

Yil = Mid(IkrazOdemeTarihi, 7, 4)
Ay = Mid(IkrazOdemeTarihi, 4, 2)

If YonetimKuruluKararTarihi = "" Or YonetimKuruluKararNo = "" Or IkrazOdemeTarihi = "" Then
MsgBox ("Tönetim Kurulu Kara Tarihi, Yönetim Kurulu Karar No ve İkraz ödeme Tarihi alanları boş bırakılamaz")
Exit Sub
End If

CurrentDb.Execute ("INSERT INTO IkrazHareket(Sicil,Yil,Ay,Vade,OdemeTuru,Izahat,Borc,Alacak,Bakiye) VALUES(" & Forms![GenelForm]![Sicil] & "," & Yil & "," & Ay & "," & Vade & "," & OdemeTuruID & "," & 2 & ",'" & TalepEdilenIkraz & "','" & EskiIkrazBorcu & "','" & TalepEdilenIkraz & "');")

MsgBox "İkraz kaydı İkraz Hareket tablosuna başarıyla eklendi."

hata:
MsgBox "HATA OLUŞTU!-" & Err.Number & "-" & Err.Description, vbCritical

End Sub

NOT: forumda arama yaptım ama bununla ilgili bir başlık göremedim. hatam varsa affola..
Cevapla
Çözüldü #2
Mümkünse örneğinizi 2003 olarak ekleyin. Daha çok kişi bakabilir.

Saygılar, iyi çalışmalar.
*********
Kod, formül vs bilmek önemlidir ama mantığını yürütebilmek, nerede ve nasıl kullanılacağını bilmek daha önemlidir.
Cevapla
Çözüldü #3
DAO ile alakalı bir yerde hata yapıyor olabilirsiniz. Örnek dosyanızı eklerseniz daha iyi olur.
AccessTr.Net teknik konular içeren bir sitedir. Bu tip sitelerde en iyi şekilde yardım alabilmeniz için Site Kurallarını mutlaka okumanız ve buna göre hareket etmeniz lazım.
Cevapla
Çözüldü #4
0 (sıfır) hatası bazen admin yetkisi olmayan kullanıcılar ile işlem yapmak istediğinizde de verebilir.
™Hiç Birimiz, Hepimiz Kadar Akıllı Olamayız...®

Cevapla
Çözüldü #5
şu an işyerindeyim. eve gittiğimde dosyayı eklerim. yalnız iki şey belirteyim bu arada.

hata ile ilgili satırları kapattığımda kod hiç problemsiz çalışıyor. Yani hata vermiyor, görevini olması gerektiği gibi yerine getiriyor. sadece hata ile ilgili yukarıda belirttiğim satırları eklediğimde hata veriyor.

Bir de epey bir süre önce yine access'te hazırladığım bir dosya buldum (silindiğini sanıyordum). onda da aynı satırları eklediğim bir kod var. hata etikenin olduğu kısmı:

hata:
if Err.Number<>0then
MsgBox "HATA OLUŞTU!-" & Err.Number & "-" & Err.Description, vbCritical
end if
şeklinde yazmışım.
Yani sanki sıfır kodu hata olduğu anlamına gelmiyor gibi. Sanki veritabanına gönderilen Sql hatasız tamamlanırsa sıfır kodu döndürüyormuş gibi birşeyler var ama tam anlamadım bir türlü.
Cevapla
Çözüldü #6
Kod çalışırken, Normal kod kısımları bittikten sonra, kodlar sırayla işlemeye devam ettiği için hata kısmına da girip çalışmaya devam ediyor. 0 nolu hata kodu aslında hata yok anlamına geliyor.

hata:
yazısından önce araya exit sub koymanız gerekiyor. onu atlamışsınız.


Private Sub btnOnayla_Click()
Dim Yil As Integer, Ay As Byte

On Error GoTo hata

Yil = Mid(IkrazOdemeTarihi, 7, 4)
Ay = Mid(IkrazOdemeTarihi, 4, 2)

If YonetimKuruluKararTarihi = "" Or YonetimKuruluKararNo = "" Or IkrazOdemeTarihi = "" Then
MsgBox ("Tönetim Kurulu Kara Tarihi, Yönetim Kurulu Karar No ve İkraz ödeme Tarihi alanları boş bırakılamaz")
Exit Sub
End If

CurrentDb.Execute ("INSERT INTO IkrazHareket(Sicil,Yil,Ay,Vade,OdemeTuru,Izahat,Borc,Alacak,Bakiye) VALUES(" & Forms![GenelForm]![Sicil] & "," & Yil & "," & Ay & "," & Vade & "," & OdemeTuruID & "," & 2 & ",'" & TalepEdilenIkraz & "','" & EskiIkrazBorcu & "','" & TalepEdilenIkraz & "');")

MsgBox "İkraz kaydı İkraz Hareket tablosuna başarıyla eklendi."

exit sub
hata:
MsgBox "HATA OLUŞTU!-" & Err.Number & "-" & Err.Description, vbCritical

End Sub


Programcılıkta, bazen gözünüzün önündeki şeyi göremezsiniz.
Bildiğini bilenin arkasından git, bildiğini bilmeyeni uyar, bilmediğini bilene öğret, bilmediğini bilmeyenden kaç.
Konfüçyüs
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da