Skip to main content

AccessTr.neT


Uygulamada Kurları Alırken Hata Alıyorum

Uygulamada Kurları Alırken Hata Alıyorum

#6
Bu tür durumlar, ağ trafiği veya sunucu tarafında beklenmedik durumlar nedeniyle olabilir.
Kod:
Private Sub BtnTR_Click()
    On Error GoTo ErrorHandler

    Dim xmldoc As Object
    Set xmldoc = CreateObject("Msxml.DOMDocument")
    xmldoc.async = False

    ' xmldoc nesnesini yükleme işleminde hata denetimi
    If Me.KurTarihi < Date Then
        On Error Resume Next
        xmldoc.Load "http://www.tab.gov.tr/kurlar/" & Format(Me.KurTarihi, "yyyymm")
        On Error GoTo 0
        If xmldoc.parseError.errorCode <> 0 Then
            MsgBox "XML yükleme hatası: " & xmldoc.parseError.reason, vbExclamation 'Hata mesajı xml parse hatasını size gösterecektir
            Exit Sub
        End If
    Else
        On Error Resume Next
        xmldoc.Load "http://www.tcmb.gov.tr/kurlar/today.xml"
        On Error GoTo 0
        If xmldoc.parseError.errorCode <> 0 Then
            MsgBox "XML yükleme hatası: " & xmldoc.parseError.reason, vbExclamation 'Hata mesajı aynı şekilde xml parse hatasını size gösterecektir
            Exit Sub
        End If
    End If

    If xmldoc Is Nothing Then
        MsgBox "XML belgesi yüklenemedi.", vbExclamation 'xmldoc nesnesinin yüklenemediğini bildirir
        Exit Sub
    End If

    Dim DovizListesi As Object
    Set DovizListesi = xmldoc.documentElement.selectNodes("Currency")

    If DovizListesi Is Nothing Then
        MsgBox "Döviz listesi bulunamadı.", vbExclamation 'DovizListesi nesnesinin kontrolünü yaparak yüklenemedi ise bildirir
        Exit Sub
    End If

    On Error Resume Next

    Dim DovizCinsi As String
    Dim OrjIsim As String
    Dim Alis As String
    Dim Satis As String

    For Each Dovizler In DovizListesi
        DovizCinsi = Dovizler.SelectSingleNode("Isim").Text
        OrjIsim = Dovizler.SelectSingleNode("CurrencyName").Text
        Alis = Dovizler.SelectSingleNode("ForexBuying").Text
        Satis = Dovizler.SelectSingleNode("ForexSelling").Text

        If DovizCinsi = "ABD DOLARI" Then
            Me.DOLAR_ALIS = Alis
            Me.DOLAR_SATIS = Satis
        ElseIf DovizCinsi = "Euro" Then
            Me.EURO_ALIS = Alis
            Me.EURO_SATIS = Satis
        End If
    Next

    Set xmldoc = Nothing
    Exit Sub

ErrorHandler:
    MsgBox "Hata: " & Err.Description, vbExclamation
    Set xmldoc = Nothing
End Sub

kodunuzu yukarıdaki şekilde revize ederseniz yükleme işlemi sırasında ve XML belgesi oluşturulurken hata denetimi ekler ve aynı zamanda xmldoc.parseError.errorCode kullanarak XML yükleme işlemi sırasındaki hataları yakalarsınız. Bu size ağ trafiğindeki veya sunucudaki anormallikler, hatalar üzerinde daha fazla denetimle bilgi vererek uygulamanızın daha doğru işlemesinde yardımcı olacaktır.
Cevapla

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

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
RE: Uygulamada Kurları Alırken Hata Alıyorum - Yazar: atoykan - 20/10/2023, 12:58