Avatar billede simonsenpq Nybegynder
17. maj 2005 - 13:29 Der er 2 kommentarer og
1 løsning

XML-svar til formularfelter i Access

Fra Access vil jeg kunne indtaste et telefonnummer i et felt, sende en http-forespørgel, modtage en XML-fil som svar hvorfra der skal indsættes data i min formular. Hvordan gør jeg det?

Jeg vil altså kunne noget tilsvarende som man kan, når man bestiller billetter på BilletNET – bare i Access (se evt. http://www.eniro.dk/omeniro/img/eniro_booking.jpg).

Forespørgslen er noget i retning af http://asdf.dk/?telefonnummer=12345678

Indtaster jeg adressen i min browser får jeg nogenlunde følgende svar:

<?xml version="1.0" encoding="iso-8859-1" ?>

<RAEKKE NR="1">
  <NAVN>Hans Jensen</NAVN>
  <ADRESSE>Hovedgaden</ADRESSE>
  <POSTNR>1234</POSTNR>
  <BYNAVN>København</BYNAVN>
  <TELEFON>12345678</TELEFON>
</RAEKKE>

Hvordan får jeg sat det ind i Access? Går ud fra at der skal bruges lidt VBA.
Avatar billede terry Ekspert
18. maj 2005 - 08:27 #1
Hi simonsenpg
HTML and XML arent used very much in Access, or at least I dont think so, so you may not get much help with this.
When you say "sende en http-forespørgel" do you mean just download a file from a website?
Have you looked at Web Services in Access, if there is a web service which can return the XML file then this might be possible. Once you have your XML file then it could be imported into Access.

When I enter this in my browser http://asdf.dk/?telefonnummer=12345678
then I only see a web page, not any XML???
Avatar billede simonsenpq Nybegynder
18. maj 2005 - 16:58 #2
Det var slet ikke så svært, som jeg troede...

http://asdf.dk/?telefonnummer=12345678 var bare et eksempel - det er ikke mit domæne.

Har brugt nedenstående kode. Ville gerne have været foruden det ekstra databasekald for at slette tabellens indhold. Hvis nogen kender en løsning, vil jeg gerne høre om det.

Application.ImportXML _
    DataSource:="http://asdf.dk/?telefonnummer=12345678", ImportOptions:=acAppendData
   
    Set db = CurrentDb()
    Dim SQL As String
    SQL = "SELECT * FROM raekke"
    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset(SQL)
    Me.navn = rs!navn
    Me.adresse = rs!adresse
    Me.postnr = rs!postnr
    Me.bynavn = rs!bynavn
    Me.telefon = rs!telefon
    Me.email = rs!email
    db.Execute ("DELETE * FROM raekke")
Avatar billede terry Ekspert
18. maj 2005 - 19:23 #3
no it doesnt look difficult at all :o)
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