meerder xml bestanden inlezen in access

Status
Niet open voor verdere reacties.

fredvanhezel

Gebruiker
Lid geworden
12 okt 2009
Berichten
41
Hallo,

Ik ben een beginnend vba gebruiker en sta voor de volgende uitdaging.
Ik krijg dagelijks een fors aantal (+/-120 st ) xml bestanden binnen met dezelfde format alleen met een andere bestands naam.

Voorbeeld : der5001211209.xml ; der5002211209.xml ; enz . enz

Nu wil ik dat Access deze bestanden inleest, tevens is het de bedoeling dat deze gemerkt worden om dubbel inlezen te voorkomen.
Kan iemand mij op weg helpen ?

BVD
Fred
 
oplossing

inmiddels de code gevonden ( met wat hulp van derden )

Na wat gepuzzel (wat moet nu waar staan) heb ik nu een code die werkt, inlezen xml dan een log bijhouden en ook nog eens hernoemen.

onderstaand een kopie van de code
Code:
Dim bestand As String 
Dim import As String 
Dim nwbestand As String 

For i = 1 To 150 

' bepaald bestandsnaam 
bestand = Dir("C:\Users\user\Desktop\test bestand\exp" & "*.xml") 
' maak pad met bestandsnaam 
import = ("C:\Users\user\Desktop\test bestand\" & bestand) 

If bestand = "" Then 

End 

Else 

'log import geheel pad met bestand 
DoCmd.RunSQL "insert into Log_Bestanden ([Naam]) values ('" & import & "');" 

'importeer bestand toevoegen aan tabel 
Application.ImportXML _ 
DataSource:=import, _ 
ImportOptions:=acAppendData 

' hernoem bestand 
nwbestand = "verwerkt" & bestand 
Name "C:\Users\user\Desktop\test bestand\" & bestand As "C:\Users\user\Desktop\test bestand\" & nwbestand 

End If 


Next i 


End Sub
 
Laatst bewerkt door een moderator:
dat kan simpeler:

Code:
Sub XML_inlezen()
  c0="C:\Users\user\Desktop\test bestand\"
  c1=dir(c0 & "exp*.xml")
  do until c1="" 
    DoCmd.RunSQL "insert into Log_Bestanden ([Naam]) values ( ' "  & c0 & c1  & " ');" 
    Application.ImportXML c0 & c1 ,acAppendData 
    name c0 & c1 as c0 & "verwerkt_" & c0
    c1=dir
  Loop
End Sub
 
Code werkt ook

Bedankt voor deze tip !
ik heb de code getest en deze geeft het zelfde resultaat

Bedankt

Fred
 
En begrijp je ook hoe de code werkt ?
Want daar gaat het natuurlijk om.
 
reactie

Zoals ik al schreef ik begin pas met VBA, maar ik zal proberen de nieuwe code te verklaren.

de If Then wordt vervangen door Do until

daar naast gebruik je een loop inplaats van de for next

een en ander is voor mij nieuw, ik ben net gestart met de VBA info van PC-Tutor.nl

mocht je nog tips hebben over andere VBA site's dan hoor ik dit graag.

grt,

Fred
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan