Avatar billede per2edb Ekspert
28. september 2018 - 13:41 Der er 7 kommentarer

VB function til at hente valutakurser fra nationalbanken

Jeg henter valutakurser fra Nationalbanken via nedenfor viste Function.
Det har virket i årevis. Jeg har intet ændret. Pludselig får jeg fejl 64!
Se nedenfor.
Linket til nationalbanken ser ud til at være uændret

Jeg har fundet dette link:
http://www.4guysfromrolla.com/webtech/110100-1.shtml

De har Server foran  CreateObject. Det har jeg ikke da jeg benytter Access?
Set xml = Server.CreateObject("Microsoft.XMLHTTP")

Kan fejlen ligge her eller ...........

Kan i hjælpe med hvad der ellers kan være galt?

-------------------------  Mine Koder-------------------
Const url = "http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da"

Function xmlresponseText(url, Optional method = "GET")
    Dim xhr
    Set xhr = CreateObject("Microsoft.XMLHTTP")
    xhr.Open method, url, False
    xhr.Send  <=================  Her opstår fejl: VBInformation 64
    If xhr.Status = 200 Then
        xmlresponseText = byteArr2string(xhr.responseBody)
    Else
        Err.Raise 10000, , "network or site server error": End If
    Set xhr = Nothing
End Function
Avatar billede claes57 Ekspert
28. september 2018 - 15:38 #1
VBInformation 64 skulle bare være et ?-ikon
se også https://social.technet.microsoft.com/Forums/ie/en-US/31f6dba8-0dd3-417e-9236-a93cbca643e9/accept-all-ssltsl-certificates-in-vbscript?forum=operationsmanagermgmtpacks
sidste svar - hvis du sætter
Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 13056
til 64, og senere tilføjer/justerer
oXMLHTTP.setOption(2) = SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
så skulle du ignorere 64-beskeden
Avatar billede per2edb Ekspert
29. september 2018 - 09:48 #2
Det prøver jeg - tak for hjælpen
Avatar billede per2edb Ekspert
29. september 2018 - 13:11 #3
Function xmlresponseText(url, Optional method = "GET")
    Dim xhr
    Const SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 64  '<= ny
    Set xhr = CreateObject("Microsoft.XMLHTTP"
    Call xhr.Open(method, url, False)
    xhr.SetOption(2) = SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS '<= ny
 
    Call xhr.Send
 
    If xhr.Status = 200 Then
        xmlresponseText = byteArr2string(xhr.responseBody)
    Else
        Err.Raise 10000, , "network or site server error"
    End If
    Set xhr = Nothing
   
End Function
Avatar billede per2edb Ekspert
29. september 2018 - 13:13 #4
Desværre nu melder der fejl i
xhr.SetOption(2) = SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS
Avatar billede Jørgen Kirkegaard Professor
01. oktober 2018 - 13:25 #5
Jeg ved, at det ikke var det, du spurgte om, men hvorfor ikke hente dem her: På https://www.nationalbanken.dk/da/statistik/valutakurs/Sider/Default.aspx til højre, lidt nede, f.eks. under LINKS TIL XML. "Daglige valutakurser (XML), 1 dag" - men det har du selvfølgelig tænkt på.
Avatar billede per2edb Ekspert
01. oktober 2018 - 14:45 #6
Kurserne skal hentes automatisk.
Det har virket de sidste 6-7 år men pludselig opstår der fejl
Måske har nationalbanken ændret formatet
Kan i se en evt fejl i mine koder eller har i VBA koder der i en
loop henter code, desc og rate fra:
"http://www.nationalbanken.dk/_vti_bin/DN/DataService.svc/CurrencyRatesXML?lang=da"
Avatar billede HAE Praktikant
04. oktober 2018 - 09:06 #7
Jeg havde samme problem fra et kald i Lotus Script. Rettede linket til https ... så virkede det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester