Skip to main content

AccessTr.neT


Tabloya Döviz Kurlarının Getirilmesi

Tabloya Döviz Kurlarının Getirilmesi

Çözüldü #1
Merhaba,
Ekli veritabanında ilgili alanlara günlük döviz kurlarının getirilmesi nasıl sağlanabilir?
bir form açıldığında güncelleme yapılabilir...

Excel de aşağıdaki kodu kullanıyorum, ve günlük kurları sorunsuz getiriyor, bunu Access' e nasıl uyarlayabiliriz?

teşekkürler, iyi haftasonları..

=TCMB_Kur("14.10.2018";"USD";"Döviz Satış")

Kod:
Function TCMB_Kur(Tarih As Date, DovTip As String, Tipi As String) As Variant

    On Error GoTo 20
    
    Dim xDoc As Object
    Set xDoc = CreateObject("MSXML2.DOMDocument")
    xDoc.async = False
    xDoc.validateOnParse = False
    
    If Tarih = Date Then
        strURL = "http://www.tcmb.gov.tr/kurlar/today.xml"
    Else
        If Weekday(Tarih, vbMonday) = 6 Then
            Tarih = Tarih - 1
        ElseIf Weekday(Tarih, vbMonday) = 7 Then
            Tarih = Tarih - 2
        End If
        
        myDay = Format(Day(CDate(Tarih + 0)), "00")
        myMonth = Format(CDate(Month(Tarih + 0)), "00")
        myYear = Year(CDate(Tarih + 0))
        
        strURL = "http://www.tcmb.gov.tr/kurlar/" & myYear & myMonth & "/" & myDay & myMonth & myYear & ".xml"
    End If
    
    xDoc.Load strURL
    
    Set KurListesi = xDoc.DocumentElement
    
    Select Case DovTip
        Case Is = "USD"
            Select Case Tipi
                Case Is = "Döviz Alış"
                retval = KurListesi.ChildNodes(0).ChildNodes(3).Text
                Case Is = "Döviz Satış"
                retval = KurListesi.ChildNodes(0).ChildNodes(4).Text
                Case Is = "Efektif Alış"
                retval = KurListesi.ChildNodes(0).ChildNodes(5).Text
                Case Is = "Efektif Satış"
                retval = KurListesi.ChildNodes(0).ChildNodes(6).Text
            End Select
        Case Is = "EUR"
            Select Case Tipi
                Case Is = "Döviz Alış"
                retval = KurListesi.ChildNodes(3).ChildNodes(3).Text
                Case Is = "Döviz Satış"
                retval = KurListesi.ChildNodes(3).ChildNodes(4).Text
                Case Is = "Efektif Alış"
                retval = KurListesi.ChildNodes(3).ChildNodes(5).Text
                Case Is = "Efektif Satış"
                retval = KurListesi.ChildNodes(3).ChildNodes(6).Text
            End Select
    End Select
20:
    If IsEmpty(retval) Then retval = 0
    
    TCMB_Kur = Replace(retval, ".", ",") + 0
    
End Function

truhi, 29-09-2009 tarihinden beri AccessTr.neT üyesidir.
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
Tabloya Döviz Kurlarının Getirilmesi - Yazar: truhi - 24/06/2023, 23:10
Task