Avatar billede per2edb Guru
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 Guru
29. september 2018 - 09:48 #2
Det prøver jeg - tak for hjælpen
Avatar billede per2edb Guru
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 Guru
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 Guru
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

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