Avatar billede per2edb Praktikant
28. juni 2013 - 18:41 Der er 7 kommentarer og
1 løsning

Exporting til XML File vis VBA

Jeg skal via VBA have indholdet af tabellen Ordre lagt på disken som XML File

Dim objAccess As Access.Application

Const acExportTable = 0

Set objAccess = CreateObject("Access.Application")
objAccess.OpenCurrentDatabase strPath & "\Salg.accdb"

objAccess.ExportXML acExportTable, "Ordre", strPath & "\Ordre.xml"

Jeg får fejlen det indtastede udtryk refererer til et objekt der er blevet lukket eller slettet.
KAN I HJÆLPE MED AT FINDE FEJLEN

Jeg har 3 andre tabeller der ligeledes skal laves til XML kan det lægges ind samtidigt?
Avatar billede MSchlamovitz Mester
28. juni 2013 - 19:45 #1
Prøv at skrive sådan her:

objAccess.ExportXML acExportTable , "Ordre", strPath & "\Ordre.xml"
Avatar billede per2edb Praktikant
28. juni 2013 - 20:00 #2
objAccess.ExportXML acExportTable, "Ordre", strPath & "\Ordre.xml"
objAccess.ExportXML acExportTable , "Ordre", strPath & "\Ordre.xml"

Jamen det er da det samme som jeg har. Hvad er forskellen?
Avatar billede MSchlamovitz Mester
28. juni 2013 - 20:18 #3
Ups - undskyld. Jeg så det som om, der manglede det lille ord 'acExportTable' i dit eksempel.

Har i øvrigt efterprøvet - det virker hos mig.

Vi er enige om, at der altid står noget i StrPath ?

Kan det være ordet "Ordre", der forvirrer - har du fx både en tabel og en forespørgsel der hedder "Ordre".

Prøv at Komprimér og reparér database (Acc 2010: Filer | Oplysninger).

Ligger rutinen som en del af en anden rutine, der lukker en form eller en tabel ?

Når du får det til at virke, kan du sagtens lægge alle dine eksport rutiner i samme procedure.
Avatar billede per2edb Praktikant
28. juni 2013 - 21:00 #4
Jeg har nu fundet ud af en tabel kan laves til XML
Jeg har en Forespørgsel. Skal det så sættes anderledes op?
Forespørgslen kan laves til XML manuelt fra menuen, så det skulle kunne lade sig gøre - men hvordan?
Helt rigtigt er det "Ordre forespørgsel" - skal der parentes om?
Avatar billede MSchlamovitz Mester
28. juni 2013 - 22:08 #5
Et par råd: Det er altid en god ide at adskille forespørgsler og tabeller navnemæssigt. Alle mine tabeller starter med t, fx 'tOrdre'. alle mine forespørgsler starter med q, fx qOrdre. Så er der ikke noget at tage fejl af.
Hvis du bruger mellemrum, skråstreg og andre sjove tegn i dine navne, skal de altid stå med kantede parenteser, fx [Ordre forespørgsel], når du refererer til dem, derfor: brug kun bogstaver og tal i dine navne.
Avatar billede per2edb Praktikant
28. juni 2013 - 22:22 #6
Jeg har pakket navnet ind i kantede paranteser. Det hjalp ikke.
Jeg har googlet og mener at kunne se forespørgsler skal sættes op på en anden måde.
Ved du eller andre hvordan?
Avatar billede per2edb Praktikant
28. juni 2013 - 23:50 #7
Jeg har fundet dette på Google:

http://msdn.microsoft.com/en-us/library/office/ff193212.aspx

http://www.access-programmers.co.uk/forums/showthread.php?t=186295

Som alt ander MS er det uforståeligt, men jeg læser det som der skal benyttes:

Set objOtherTbls = Application.CreateAdditionalData
objOtherTbls.Add "Orders"


Hvis min forespørgsel hedder: [Ordre forespørgsel]
Bestående af 2 tabeller:  Kunder og Priser

Hvordan skal koden da se ud for at lave en XML Fils
Avatar billede MSchlamovitz Mester
29. juni 2013 - 22:53 #8
Forespørgsler eksporteres ved følgende:

objAccess.ExportXML acExportQuery , "[Ordre forespørgsel]", strPath & "\Ordre.xml"
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