🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
6 messages
6 total messages Started by Phantom Fri, 27 Jul 2018 12:38
Tworzenie pliku xml dla danych z tabeli za pomocą pliku vbs
#137625
Author: Phantom
Date: Fri, 27 Jul 2018 12:38
13 lines
1895 bytes
Witam 
Dotyczy MsAccess2013

Używam funkcji z poziomu accessa: 
Application.ExportXML acExportTable, "Dec_Publ_Tab", "D:\ZISPD\TKPD\Publikacje\Baza\Dec_Publ.xml", , , , acUTF8 

Próbowałem wykonać tą funkcję za pomocą pliku vbs. Nie działa.
Podejrzewam, że problem tkwi w zapisie "Dec_Publ_Tab" i zamiast tego musi być podana ścieżka do bazy danych i konkretnej tabeli, w tym przypadku: Dec_Publ_Tab.
 
Proszę o pomoc. 

Pozdrawiam 
Tomek
Re: Tworzenie pliku xml dla danych z tabeli za pomocą pliku vbs
#137626
Author: Zbigniew Bratko
Date: Mon, 30 Jul 2018 08:13
39 lines
2151 bytes
W dniu 2018-07-27 o 14:38, Phantom pisze:
> Witam
> Dotyczy MsAccess2013
> 
> Używam funkcji z poziomu accessa:
> Application.ExportXML acExportTable, "Dec_Publ_Tab", "D:\ZISPD\TKPD\Publikacje\Baza\Dec_Publ.xml", , , , acUTF8
> 
> Próbowałem wykonać tą funkcję za pomocą pliku vbs. Nie działa.
> Podejrzewam, że problem tkwi w zapisie "Dec_Publ_Tab" i zamiast tego musi być podana ścieżka do bazy danych i konkretnej tabeli, w tym przypadku: Dec_Publ_Tab.

[...]

No a skąd "VBS" ma wiedzieć co to jest obiekt Application, znać jego 
metodę ExportXML i jaką wartość ma stała acExportTable.

Musisz mu to wszystko przekazać.

Coś w tym rodzaju:

'_____________________________________________________________
Const acExportTable = 0
Const acQuitSaveNone = 2
Const acUTF8 = 0
Dim oApp

   Set oApp = CreateObject("Access.Application")
     oApp.OpenCurrentDatabase "Dysk:\SciezkaDoBazy", False
     oApp.ExportXML acExportTable, "Dec_Publ_Tab", 
"D:\ZISPD\TKPD\Publikacje\Baza\Dec_Publ.xml", , , , acUTF8
     oApp.CloseCurrentDatabase
     oApp.Quit acQuitSaveNone
   Set oApp = Nothing


-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Tworzenie pliku xml dla danych z tabeli za pomocą pliku vbs
#137627
Author: Phantom
Date: Mon, 30 Jul 2018 11:47
1 lines
1485 bytes
Mistrz!
Re: Tworzenie pliku xml dla danych z tabeli za pomocą pliku vbs
#137628
Author: Phantom
Date: Mon, 30 Jul 2018 12:04
23 lines
2145 bytes
Działa!
Nawet podmienia plik xml na nowy (wielokrotne wywoływanie funkcji).
Zastanawiam się czy dla pewności nie usuwać starego pliku xml przed tworzeniem nowego.

Moja funkcja wygląda teraz tak:

Const acExportTable = 0 
Const acQuitSaveNone = 2 
Const acUTF8 = 0 
Dim oApp 

   Set oApp = CreateObject("Access.Application") 
     oApp.OpenCurrentDatabase "G:\Dec_Publ.mdb", False 
     oApp.ExportXML acExportTable, "Dec_Publ_Tab", "G:\Dec_Publ_Tab_Proba.xml", , , , acUTF8 
     oApp.CloseCurrentDatabase 
     oApp.Quit acQuitSaveNone 
   Set oApp = Nothing 

Brakuje linii z usuwaniem pliku.
Jeśli można prosić!

Pozdrawiam
Tomek
Re: Tworzenie pliku xml dla danych z tabeli za pomocą pliku vbs
#137629
Author: Zbigniew Bratko
Date: Mon, 30 Jul 2018 13:13
57 lines
2578 bytes
W dniu 2018-07-30 o 14:04, Phantom pisze:
> Działa!
> Nawet podmienia plik xml na nowy (wielokrotne wywoływanie funkcji).
> Zastanawiam się czy dla pewności nie usuwać starego pliku xml przed tworzeniem nowego.
> 
> Moja funkcja wygląda teraz tak:
> 
> Const acExportTable = 0
> Const acQuitSaveNone = 2
> Const acUTF8 = 0
> Dim oApp
> 
>     Set oApp = CreateObject("Access.Application")
>       oApp.OpenCurrentDatabase "G:\Dec_Publ.mdb", False
>       oApp.ExportXML acExportTable, "Dec_Publ_Tab", "G:\Dec_Publ_Tab_Proba.xml", , , , acUTF8
>       oApp.CloseCurrentDatabase
>       oApp.Quit acQuitSaveNone
>     Set oApp = Nothing
> 
> Brakuje linii z usuwaniem pliku.
> Jeśli można prosić!

[...]

Mniej więcej będzie to tak:
'___________________________________________________________
Option Explicit

Dim oApp
Dim oFSO
Const acExportTable = 0
Const acQuitSaveNone = 2
Const acUTF8 = 0
Const cFileXML = "G:\Dec_Publ_Tab_Proba.xml"

   Set oFSO = CreateObject("Scripting.FileSystemObject")
     With oFSO
       If .FileExists(cFileXML) Then
           .DeleteFile (cFileXML)
       End If
     End With
   Set oFSO = Nothing

   Set oApp = CreateObject("Access.Application")
     With oApp
       .OpenCurrentDatabase "G:\Dec_Publ.mdb", False
       .ExportXML acExportTable, "Dec_Publ_Tab", cFileXML, , , , acUTF8
       .CloseCurrentDatabase
       .Quit acQuitSaveNone
     End With
   Set oApp = Nothing

-- 
Pozdrowienia
BraZby
www.faq.accdb.pl
www.accdb.pl
Re: Tworzenie pliku xml dla danych z tabeli za pomocą pliku vbs
#137630
Author: Phantom
Date: Tue, 31 Jul 2018 08:24
1 lines
1584 bytes
Dzięki wielkie! :)
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads